UTILIZE A PESQUISA!

Perda e Vazão de Pacotes

Neste pequeno tutorial, iremos aprender dois importantes conceitos para nossa formação profissional, que são as perdas e a vazão de pacotes.


Perda de Pacotes em Redes de Computadores

Sim, infelizmente, na maioria das redes, existe a perda de pacotes.
E um dos principais fatores que contribui para a perda de pacotes é o atraso de fila.

Se vários pacotes chegarem ao mesmo tempo em um roteador, este irá processar um por vez, para decidir para qual enlace enviar.

Os outros pacotes terão que esperar esse processamento e transmissão daquele pacote que está no roteador. Eles irão esperar em um buffer, uma memória que, obviamente, não é infinita.

Assim, se um pacote chegar em um nó, e o buffer deste estiver cheio...haverá a perda de pacote, pois este não tem para onde ir.

Certamente você já sofreu com a perda de pacote. Na verdade, é bem comum essa perda, mas quanto menos houver, melhor.

Em alguns casos, como assistir um vídeo no Youtube ou abrir uma foto de uma rede social, alguns pacotes que se perdem nem são percebidos (pois há muitos frames em um filme e milhões de pixels em uma imagem, de modo que o olho humano não percebe pequenas perdas).

Porém, há situações que a perda de pacotes é algo que não pode ocorrer.
Lembra quando baixou aquele programa e ao executar ele deu erro? Pois é, um bit faltando já o suficiente para ter um arquivo corrompido.

Para alguns casos, há uma nova tentativa de envio de pacotes perdidos, em outros casos não.
Estudaremos em mais detalhes essas perdas em outros tutoriais.

Vazão em Redes de Computadores

Além dos atrasos e perdas, outro conceito importante que ajuda a definir as características de uma rede, é a vazão de dados.

A vazão nada mais é que a taxa com que os dados são transferidos de um local para outro.
Imagine que você esteja baixando um jogo de um site ou mesmo de um programa do tipo P2P (um torrent), a vazão é o que você conhece como velocidade.

Tanto servidores como clientes, possuem limitações nas vazões.
Seu modem permite que você faça download e upload a uma vazão máxima.

Caso esteja recebendo ou enviando mais de um arquivo, essa vazão total de seu sistema final será dividida.

Fonte: Redes Progressiva

Protocolo rlogin

O rlogin é um sistema oferecido por sistemas Berkeley 4BSD Unix e definida na RFC 1258 BSD - Rlogin em setembro de 1991. É um serviço de login remoto que conecta a máquina cliente na máquina servidora de forma que a sua utilização é transparente para o usuário (Figura 01). Com isso, o usuário pode executar comandos interativos como se estivesse na máquina servidora. O rlogin possui um pacote incluso chamado de rsh que funciona como um deamon do xinetd, logo pode ser inicializado pelo inetd.

Neste contexto, a máquina remota é o servidor utilizando o programa login, e os clientes que acessam o servidor utilizam o programa rlogin, o sistema assim requer a utilização do protocolo TCP e da porta 513 como padrão dando suporte ao controle de fluxo dos dados.
                                                                      (Figura 01)


As principais características que diferenciam o protocolo Telnet do protocolo rlogin são: 
a) O servidor é sempre informado sobre o tipo de terminal com o cliente de trabalho sem negociação.

b) O servidor também é informado sobre a identidade do utilizador no sistema de cliente, que pode ser usada para automatizar o processo de autenticação. 

c) Se você alterar o tamanho da janela do terminal de exibição, ele pode enviar automaticamente um sinal para o servidor notificar.Atividade Com algumas implementações Unix do cliente Telnet, você pode usar os comandos de alternância netdata.

d)
Na transmissão de dados, sempre 8 bits de cada byte pode ser usado.

Noções básicas de protocolo rlogin


O protocolo rlogin usa conexões TCP. O nome oficial do serviço prestado por este protocolo é login e o número da porta designado para este serviço é o 513.Quando o cliente estabelece uma conexão com o servidor, primeiro envia quatro cordas, cada um terminou com uma NUL (código 0). São os seguintes textos: 

• Uma sequência vazia (contém apenas NUL).
• O nome do usuário no sistema cliente.
• O nome de usuário que você deseja estabelecer uma sessão de trabalho no sistema do servidor.
• O tipo de terminal e separadas com velocidade "/" (por exemplo, VT100 / 9600).

Quando tiver recebido estas quatro cordas, o servidor envia um caractere NUL e iniciar a transferência de dados entre cliente e servidor em modo de controle de fluxo. Neste modo, o cliente envia os caracteres o usuário digita que você chegar, personagens DC3 exceto controle ("^ S") e DC1 ("^ Q"), que significa "suspender a transmissão 'e' retomar ' respectivamente.Por outro lado, o cliente apresenta os dados enviados a partir do servidor que chegar. O cliente pode também receber mensagens de controlo a partir do servidor, que são representados por um código de bytes de dados enviados num urgente TCP. O cliente deve responder a essas mensagens imediatamente e suspender temporariamente o tratamento de outros dados que possam ter recebido.

Por definição o rlogin não permite o login remoto do usuário root, neste caso o usuário de utilizar outro usuário para ser o administrador do sistema, mas sempre terá poderes menores que o do root.
Host Confiáveis (Trusted Hosts)
Se um host confia em um outro host, então os usuários que tenham o mesmo username em ambos os hosts podem logar de um host em outro sem ter que digitar a senha utilizando algum programa de acesso remoto, por exemplo o rlogin.
Usuários Confiáveis (Trusted Users)

Os Usuários confiáveis são como os hosts confiáveis só que se referem a usuários que pretendem fazer um login. Se for configurado que um usuário de outro computador seja um usuário confiável com a sua conta, então ele pode logar na sua conta sem ter que digitar a senha.


Fontes: Projeto de RedesRedes de computadores - Universitat Oberta de Catalunya
 

O que é o GNU/Linux

      O GNU/Linux é um sistema operacional livre, compost o pelo núcleo Linux (conhecido como kernel) e pelas bibliotecas e ferramentas do projet o GNU, além de diversos programas livres feitos por outros programadores e empresas. É um sistema q ue segue a norma Unix.
      Os Sistemas Operacionais que utilizam o kernel do Linux utilizam o sistema GNU que oferece um interpretador de comandos, utilitários, interfac es gráficas, bibliotecas, compiladores e ferramenta s e vários outros programas. Por essa razão, Richard M. Stallman, criador e líder do projeto GNU, solicita aos utilizadores que se refiram ao Linux c omo o sistema completo GNU/Linux. “Um sistema GNU baseado em Linux ou sistema GNU/Linux, para sim plificar.” (Stallman, 1998) “
      Por volta do início dos anos 90 nós agrupamos todo o sistema à parte do núcleo (e nós ainda estamos trabalhando em um kernel, GNU Hurd, que exe cutará em cima do Mach). Desenvolver esse núcleo tem sido bem mais difícil do que esperávamos , e nós ainda estamos trabalhando em sua finalização.” (Stallman, 1998)
      E antes de ser terminada versão oficial do Projeto GNU, Linus Torvalds uniu o Linux com o sistema GNU para compor um sistema livre completo.
      A primeira versão do “Linux” (Linus + Unix) foi anu nciada em 1991 por Linus Torvalds, e que a partir daí recebeu ajudas e contribuições de prog ramadores do mundo todo, com o intuito de fazer evoluções e melhoras constantes em seu código.
      O GNU/Linux É um Sistema Operacional Livre distribu ído gratuitamente pela Internet. Seu código fonte é aberto o que o deixa livre para faze r alterações por qualquer pessoa que conheça um pouco de programação. E por ser um sistema de códig o aberto sua performance, estabilidade e velocidade são aprimorados cada vez mais, pela comu nidade no mundo todo.

Fonte: de Matos, Leonardo Kolisnik

Open-AudIT

O Open-AudIT é um Sistema Open Source de Gerenciamento de Rede, Auditoria e Inventário. Com essa ferramenta é possível verificar quais equipamentos e softwares estão presentes em uma determinada rede.

Requisitos necessários em diferentes distribuições Linux

Requisitos necessários são:
  • Sistema Operacional Linux (Kernel 2.4.x.x ou 2.6.x.x) ou Windows
  • Serviço WEB (Apache, nginx, etc) com suporte a php 4 de preferência php 5.
  • Open-Audit (uma cópia do desenvolvimento).

Abaixo demonstrarei uma instalação do serviço WEB (servidor web) em diferentes modos, para que os que usam distribuições distintas de Linux possam aproveitar o software open-source open-audit.

Instalação via apt-get (Debian´s like)

Primeiramente vamos partir do ponto que você já tem um sistema operacional Linux totalmente instalado e funcional, e que usa preferencialmente um gerenciador de pacotes do estilo "apt-get".

Por via das dúvidas, vamos solicitar uma breve atualização dos repositórios do seu gerenciador de pacotes e do sistema operacional em si.

Acesse o terminal de sua preferência e digite os comandos:

$ sudo apt-get update (atualiza sua lista de repositórios)
$ sudo apt-get upgrade (atualiza os pacotes que achar necessário)

Servidor web:

$ sudo apt-get install apache2 python openssl phpmyadmin php5
$ sudo apt-get install php5-gd
$ sudo apt-get install php-pear php5-gd php5-xsl curl libcurl3 libcurl3-dev php5-curl


Instalação via Red Hat, Fedora, e RPMs like

Vamos partir do ponto que você já tem um sistema operacional Linux totalmente instalado e funcional, e que usa gerenciador de pacotes estilo RPM, geralmente presente em distribuições como Red Hat, Fedora, openSUSE, CentOS, entre outras.

Dica: Faça uma instalação full do sistema operacional, todos os componentes. Friso isso pois é muito chato você desejar instalar um novo servidor e ter problemas com bibliotecas C#, C++, make, mod_php5, entre outros. Instale tudo!

RPMs necessários:
  • APACHE2
  • PHP5
  • PHP5-GD
  • MYSQL-SERVER

Todos os pacotes RPM encontram-se nos CDs de instalação, mas caso precise achar na internet eu recomendo o site: http://rpm.pbone.net/

Mas se mesmo assim encontre dúvidas, explicarei o processo de instalação.

Desinstale caso exista uma versão do Apache e MySQL:

# rpm -e httpd mysql

Faça o download e instale os pacotes RPM do MySQL do servidor, não optar por mudar a senha no banco de dados MySQL:

# rpm -ivh MySQL-client-5.0.20-0.glibc23.i386.rpm MySQL-server-5.0.20-0.glibc23.i386.rpm MySQL-shared-5.0.20-0.glibc23.i386.rpm
# mysql_install_db
# /sbin/ldconfig


Faça o download, descompacte e instale o Apache2 do source da apache.org:

# mv httpd-2.0.55.tar.gz /usr/local/; cd /usr/local/
# tar -xzvf httpd-2.0.55.tar.gz
# cd httpd-2.0.55
# ./configure --enable-so
# make
# make install


Inicie o Apache:

# /usr/local/apache2/bin/apachectl start

Teste para verificar se está funcionando. Pelo seu browser preferido acesse:

http://ip_do_servidor/

Pare o Apache:

# /usr/local/apache2/bin/apachectl stop

Baixe, descompacte e instale o php do sourcephp.net:

# mv php-4.4.1.tar.gz /usr/local/; cd /usr/local/
# tar -xzvf php-4.4.1.tar.gz; cd php-4.4.1/
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
# make
# make install


Adicione em seu httpd.conf:

LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php

Reinicie seu Apache:

# /usr/local/apache2/bin/apachectl restart 

Instalação do Open-Audit

Agora o mais importante, a instalação.

Primeiramente faça o download do pacote no SourceForge.net.

Caso o link apresente erros, acesse a página do software em:
Agora, descompacte o pacote ".zip" em seu diretório onde ficam os documentos, sites e tudo mais que você publica em seu web-server.

Abra seu terminal e digite:

# gunzip nomedoarquivo

Aos que tiverem dúvidas sobre o diretório de onde ficam os documentos do Apache, favor consultar seu arquivo de configuração.

Procure pelo parâmetro:

DocumentRoot "/var/www/html"

Em muitas distribuições, pode ficar como:

DocumentRoot "/var/www"

Por isto verifique onde ficam localizadas seus sites e publicações.

Após isto, dê permissão a pasta e todas suas sub-pastas usando o comando:

# chmod 777 /var/www/html/open-audit/ -Rf

Apenas para instalar vamos dar permissão total, após isto você deve alterar as permissões que melhor administre.

Vamos para o último passo da instalação.

Acesse pelo seu browser favorito o openaudit:

http://ip_do_servidor/open-audit

Conforme a tela abaixo:
Escolha o idioma "pt_br", prossiga com a instalação e aparecerá a tela conforme a imagem abaixo:
Agora escolha a 1a. opção, que é a que informa que você possui acesso completo ao banco de dados, para criar o banco e as tabelas, conforme a imagem abaixo:
Agora informe os parâmetros de seu banco de dados MySQL, conforme a imagem abaixo:
PARABÉNS!
Você conseguiu instalar com sucesso o software! Agora vamos para as configurações e extras.

Extras e outras configurações

Agora vamos refinar a configuração do Open-Audit antes de alimentar com novas máquinas auditadas.

Acesse o arquivo do open-audit na pasta scripts, localizado em /var/www/html/open-audit/scripts/audit.config.

Você pode configurar da maneira que desejar, existem muitos detalhes interessantes, mas abaixo vão os parâmetros essenciais:

'
' Standard audit section
'

audit_location = "r"
verbose = "n"
audit_host="http://192.168.50.60"
online = "yesxml"
strComputer = ""
ie_visible = "n"
ie_auto_submit = "y"
ie_submit_verbose = "n"
ie_form_page = audit_host + "http://192.168.50.60/openaudit/admin_pc_add_1.php"
non_ie_page = audit_host + "http://192.168.50.60/openaudit/admin_pc_add_2.php"
input_file = "pc_list_file.txt"

'
' Email authentication
'
'


email_to = "paulo@paulojr.info"
email_from = "paulo@paulojr.info"
'email_sender = "Open-AudIT"
email_server = 192.168.50.60    ' IP address or FQDN
email_port = "25"           ' The SMTP port
email_auth = "1"           ' 0 = Anonymous, 1 = Clear-text Authentication, 2 = NTLM
email_user_id = "paulo@teste.com"    ' A valid Email account in user@domain format
email_user_pwd = "12345"        ' The SMTP email password
email_use_ssl = "false"        ' True/False
email_timeout = "90"           ' In seconds

audit_local_domain = "y"
'
' Set domain_type = 'nt' for NT4 or SAMBA otherwise leave blank or set to ldap

'domain_type = "nt"

local_domain = "LDAP://example.local"

'
' Example Set Domain name for NT ONLY for LDAP use the above format
' NOTE This is Case Sensetive. See the example below.
'

'local_domain = "WinNT://IEXPLORE"
'local_domain = "WinNT://"
'

hfnet = "n"
Count = 0
number_of_audits = 10
script_name = "audit.vbs"
monitor_detect = "y"
printer_detect = "y"
software_audit = "y"
uuid_type = "uuid"
'
' Nmap section
'

nmap_tmp_cleanup = true           ' Set this false if you want to leave the tmp files for analysis in your tmp folder
nmap_subnet = "192.168.50."           ' The subnet you wish to scan
nmap_subnet_formatted = "192.168.050."       ' The subnet padded with 0's
nmap_ie_form_page = audit_host + "http://192.168.50.60/openaudit/admin_nmap_input.php" nmap_ie_visible = "n" nmap_ie_auto_close = "y" nmap_ip_start = 1 nmap_ip_end = 254 nmap_syn_scan = "y"       ' Tcp Syn scan
nmap_udp_scan = "y"       ' UDP scan
nmap_srv_ver_scan = "y"      ' Service version detection.
nmap_srv_ver_int = 9        ' Service version detection intensity level. Values 0-9, 0=fast

Tudo foi instalado, e agora? Como vou alimentá-lo? Como vou auditar e criar o inventário dos computadores?

Auditar máquinas Windows

Em um computador com sistema operacional Windows, acesse pelo browser o endereço:

http://ip_do_servidor/open-audit

Acesse o menu a sua esquerda e clique em ADMINISTRAÇÃO -> AUDITE ESTA MÁQUINA, conforme a imagem abaixo:
Você será redirecionado para efetuar um download de um script em .vbs.

Execute este script e tenha paciência, pois em algumas máquinas pode demorar.

Quando o script acabar, acesse novamente o open-audit e verifique se a máquina já foi auditada, conforme a imagem abaixo:
Ele informa quase tudo da estação, desde monitor, placa de rede, processador, HD, basta navegar pelos seus menus do sistema open-audit.

Mas como auditar um Linux?

Bom, também existe esta opção, porém ela não é a das mais simples, pelo simples motivo que cada distribuição possui sua gama de pacotes, gerenciadores de pacotes e tudo mais.

Mas para auditar, faça o seguinte procedimento:

Edite o arquivo /var/www/openaudit/scripts/audit-linux.sh.

Altera a linha:

OA_SUBMIT_URL=http://salma/openaudit/admin_pc_add_2.php

para o endereço correto do servidor, como por exemplo:


OA_SUBMIT_URL=http://ip_do_servidor/openaudit/admin_pc_add_2.php

Salve o arquivo e dê permissão de execução através do comando:

# chmod a+x /var/www/openaudit/scripts/audit-linux.sh

Execute este script.

Podem retornar diversos erros e avisos, cada um deve ser analisado, pois no script testa se tal pacote é usado e tudo mais, vale a pena investigar cada aviso.

Dica de auditar automaticamente

Bom, existem diversas técnicas e maneiras de efetuar este procedimento de auditar ou inventariar automaticamente com este open-source, mas vou apresentar a que eu, Paulo Roberto Junior, uso.

Primeiro, pegue aquele script .vbs que você usou para auditar aquela máquina com sistema operacional Windows e salve na rede do seu domínio com as devidas permissões. Pode salvar no SAMBA também, eu por exemplo o uso.

Nos scripts de logon dos usuários do Windows, edite a .bat que você usa ou a crie, caso não use, com o seguintes comandos:

@REM AUDITAR VIA OPENAUDIT
cscript \\192.168.80.2\cepem\suporte\auditar.vbs

Reparem que alterei aquele nome gigante do script em .vbs para somente auditar.vbs, pois fica mais fácil administrar.

Quando o usuário se logar no domínio, ele vai executar o script e enviar para o servidor.

Atenção, o script devido a sua carga de requisições e dados a capturar pode demorar de acordo com a estação de trabalho e a rede local.

 Fontes: LatinowareViva o Linux

Netkit

Apresentação do Netkit 

O software netkit é um emulador de redes que permite a criação de experimentos de redes de computadores virtuais, incluindo os dispositivos de hardwares necessários para seu suporte como roteadores, servidores, switches , e da criação dos enlaces. Além do hardware, estes equipamentos virtuais são inicializados com softwares reais que em execução oferecem experiência real ao estudante para a realização de diversos estudos, mesmo que tenha apenas um computador em seu domicílio. O netkit utiliza softwares de código aberto, principalmente licenciados pela GPL, usando em suas máquinas uma variação do kernel linux chamada UML ( User Mode Linux ). Para montar uma rede o netkit usa um conjunto de arquivos de configurações e pastas, que foram um laboratório virtual. Um laboratório também pode ser inicializado através de scripts ou através da linguagem NetML que é uma linguagem baseada em XML para descrição de redes. Uma máquina virtual iniciada pelo netkit é um computador completo rodando uma distribuição mono usuário da distribuição Debian GNU/Linux. Para transformar essa máquina num dispositivo específico basta executar o software adequado.

Recursos do Netkit

Entre os recursos que podemos experimentar no netkit, podemos verificar:

Fonte: Paulo Henrique Moreira Gurgel