Quarta-feira, 20 de Fevereiro de 2008

Networks - IP Addressing

Para entender como funciona o endereçamento IP, vou começar explicando sobre a composição de um IP e suas classes. Acredito que muitos sabem como configurar uma rede seguindo os padrões de IP Addressing mas não tem conhecimento de como funcionam os IPs e máscaras, portanto espero poder dar uma noção básica e esclaredora sobre o assunto. Vamos lá!

Conversão:

Na figura abaixo temos um exemplo de um IP classe B em sua forma decimal e binária, observe que cada um dos quatro numeros que visualizamos em decimal, é formado por oito caracteres binários. Em números binários devemos sempre interpretar o numero 1 como válido ou "ligado" e o zero como "desligado".
Agora, vou mostrar como converter números decimais em binários e vice-versa. Para fazer isto sem usar a cálculadora científica, começe criando uma tabela da direita para a esquerda, começando com o número 1 e sempre dobrando o numero. Exemplo:

1024 - 512 - 256 - 128 - 64 - 32 - 16 - 8 - 4 - 2 - 1

Para transformar o número 172 em binário, só vamos utilizar a tabela do 1 ao 128, pois cada numero decimal em um IP é composto de 1 octeto. Começe verificando sempre a partir do número maior da tabela, caso ele seja menor que o número decimal, utiliza-se o 1 e depois subtrai o valor, e a mesma operação para o restante. Sempre que o for possível subtrair pelo próximo número da tabela sem ficar negativo, deve-se fazer e marcar o devido bit como 1.

172 é maior que 128, então para o primeiro número do octeto teremos 1xxxxxxx, 172-128 sobra 44.
Vamos ao próximo número na tabela, que é 64. Verica-se que 44 é menor que 64, não sendo possível subtrair. Então para o próximo número do octeto utilizamos um zero ficando 10xxxxxx.
Seguindo a lógica, 44-32, sobra 12 (octeto = 101xxxxx),
16 maior q 12, então mais um zero (octeto = 1010xxxx)
12-8=4 (octeto = 10101xxx)
4-4=0 (octeto = 101011xx)

Chegando ao zero preenche os dois ultimos com zeros pois a soma dos números utilizados da tabela já é o número decimal 172.
Bom, acredito que não sejam necessárias maiores informações sobre como transformar binário em decimal, pois é só fazer o mesmo inverso usando a tabela.

Anding Process:

Para definir se 2 IPs diferentes irão comunicar entre si, é necessário obter o resultado de um processo chamado "anding process". Neste, compara-se o número binário de um IP com o binário da máscara de rede em uso. onde 1 + 1 = 1, 1 + 0 = 0 e 0 + 0 = 0. O mesmo se faz para o ip e máscara de cada host e no caso do resultado ser o mesmo em ambos host, os dois estão na mesma rede e irão comunicar normalmente, sendo possível um encontrar o outro pelo broadcast. Caso o resultado seja diferente, os dois hosts devem estar em redes diferentes, sendo necessário um roteador para permitir a comunicação entre as duas redes.

Exemplo comparando três IPs diferentes com a mesma mask 255.255.255.0, note que o IP 192.168.2.2 tem um resultado do anding process diferente, estando assim em uma rede diferente dos 2 primeiros que possuem o mesmo resultado. (A primeira linha abaixo do IP em decimal é o IP em binário, a do meio é a máscara em binário e a linha de baixo é o resultado).


Classes de IP:
A tabela acima(clique para ampliar), mostra o range de IP de cada classe, a máscara de rede padrão, o número máximo de redes e o número máximo de hosts possível em cada classe. Observa-se que a relação é de que quanto mais bits são reservados para a rede, maior o número de redes possíveis, porém, menor o número de hosts em cada rede.

Qualquer IP que começe com 127.x.x.x é destinado ao localhost, é comum utilizar 127.0.0.1, mas também funciona para qualquer IP começando com 127, como por exemplo 127.65.133.2, é tudo a mesma coisa.

Para facilitar a idêntificação das classes, na classe A, no primeiro octeto da esquerda para direita, sempre inicia com "0", na classe B sempre com "10" e na C sempre com "110".

No último octeto, da esquerda para direita, sempre que for 00000000 ou 0 em decimal ,este é o endereço de rede e não é utilizado para nenhum host. No caso de 11111111 ou 255 em decimal é o endereço de broadcast da rede, e também não se utiliza em nenhum host.

Custom Subnet:

Vou usar um exemplo de exercício para mostrar como se define uma máscara de subrede.
Temos as seguintes informações sobre a rede:

Network ID: 172.16.0.0 (este é um IP classe B, portanto a máscara de rede é 255.255.0.0)
Mínimo de hosts que precisamos para cada subrede: 5000
Mínimo de redes necessárias: 5

Definindo a máscara de subrede:

Para se calcular quantos bits de host serão necessários "passar" para subrede na máscara, utiliza-se o número de hosts desejado + 1, e em seguida transforme este resultado em binário usando a tabela ou a calculadora. Conte quantos bits no total foram utilizados por exemplo:

5000 hosts + 1 = 5001
5001 em binário é 1 0011 1000 1001 que são no total 13 bits.

Assim no total de 16 posições de bits que são reservados para os hosts em um IP classe B, iremos utilizar 13 para os hosts e os 3 restantes para a máscara de subrede. Resultando:

11111111.11111111.11100000.00000000
255.255.224.0

O mesmo pode ser calculado pegando o número mínimo de redes desejadas, no caso 5 subtraindo 1.

5-1 = 4. Em binário 4 é 100 ( que são 3 posiçoes de bit) então dos 16 bits de host, 3 serão utilizados para a máscara de subrede.

Calculando total de Hosts para cada subnet:

Para calcular o total de hosts possíveis com esta mask 255.255.224.0, sabemos que são 13 bits reservados para os hosts, então como cada bit pode ser 1 ou 0 o cálculo é:

2 elevado na 13 = 8192 ( deste total é necessário subtrair 2, pois não é possivel ter um host que finalize com zero, pois seria o endereço de rede, e nem mesmo que finalize com 255 que é o endereço de broadcast).

Portanto 8192 - 2 = 8190 Hosts no máximo para cada subnet.

Calculando o total de subnets:

Da mesma maneira acima mas sem subtrair 2 do resultado, pois em subnets é permitido utilizar tudo zero ou um, então como são 3 posições de bit para as subnets:

2^3 = 8 subnets no máximo.

Calculando os Subnets IDs:

Para calcular os IDs de cada subnet, deve se verificar a posição do último bit da máscara de subrede dentro do octeto. No caso de 255.255.224.0 no octeto 224 temos 11100000, note que o último 1 da esquerda para direita está na posição 32, assim sabemos que os Subnets IDs serão em intervalos de 32 em 32.
Ex.:

Temos no máximo 8 subnets conforme calculamos acima, em intervalos de 32, ficando:
172.16.0.0
172.16.32.0
172.16.64.0
172.16.96.0
172.16.128.0
172.16.160.0
172.16.192.0
172.16.224.0

Calculando a range dos hosts:

Para calcular a range é muito fácil, sempre lembrando que o primeiro host de cada subnet inicia em 1 e o último em 254 como no exemplo abaixo.

172.16.0.1 – 172.16.31.254
172.16.32.1 – 172.16.63.254
172.16.64.1 – 172.16.127.254
172.16.128.1 – 172.16.160.254
172.16.160.1 – 172.16.191.254
172.16.192.1 – 172.168.223.254
172.16.224.1 – 172.16.255.254

Observação 1: Note que em alguns casos, é possível ter um IP em um host como por exemplo 172.16.10.0, este é um ip válido para a primeira subnet ID, pois se verificarmos em binário os 13 bits de host são em negrito 10101100.00010000.00001010.00000000, sendo assim não é tudo zero, nem mesmo tudo um, sendo um ip válido de host.

Observação 2: Quando estiver calculando a range de uma subnet que utiliza uma máscara classe C, existe uma diferença que pode ser observada no exemplo abaixo:

ID da rede: 192.168.1.0
Mínimo de subnet hosts requeridos: 60
Mínimo de networks requiridas: 2

Máscara de subrede 255.255.255.192
Máximo de Hosts por Subnet 62
Máximo de Subredes 4

IDs de subredes
192.168.1.0
192.168.1.64
192.168.1.128
192.168.1.192

Ranges de Host ID
192.168.1.1 – 192.168.1.62
192.168.1.65 – 192.168.1.126
192.168.1.129 – 192.168.1.190
192.168.1.193 – 192.168.1.254

Note que a primeira range acaba em .62 e não .63, isto por em binário .63 é tudo 00|111111 sendo assim o endereço de broadcast, o .64 é o endereço de rede da próxima subnet e acaba tudo com zeros 00|000000 então o primeiro host da próxima subnet será .65 . Assim verifica-se que o último IP de cada range será o ID da próxima subnet -2.

Quinta-feira, 14 de Fevereiro de 2008

Windows - IP Tools

IP tools consiste em comandos e ferramentas que auxiliam na consulta, configuração e troubleshooting das configurações de rede.

Alguns comandos que irei citar podem parecer óbvios, mas mesmo assim caso alguém que esteja começando agora neste maravilhoso mundo binário, podem vir a ser dicas muito úteis.

Command line commands

ipconfig - Mostra IP, Mask e Default Gateway.

ipconfig /all - Informação mais detalhada, incluindo servidos DNS, WINS, DHCP, Máscara de Subrede, MAC Address entre outros.

ipconfig /release - Desconfigura as configurações de TCP/IP, setando tudo 0.0.0.0

ipconfig /renew - Solicita ao DHCP server um IP e devidas configurações.

ipconfig /displaydns - Exibe as resoluções de nomes efetuadas desde a inicialização do sistema.

ipconfig /flushdns - Limpa o cache local da resolução de nomes desde a inicialização do sistema. (Ex.: Você pinga cliente01.trylinux.local, mas este micro está desligado e não possui uma entrada no DNS. Ao consultar o DNS não será possivel resolver, e isso fica salvo no cache local. Ao inicializar o cliente01 na rede, irá obter um IP do DHCP e registrar uma entrada no DNS. Ao tentar pingar novamente se sua estação, continuará não resolvendo, pois a resposta anterior esta no cache, e o cache local sempre é consultado primeiro. Então após usar o /flushdns e limpar o cache local, deve resolver o nome e pingar corretamente. Situação semelhante ocorre caso seja efetuado um ping que responda ok, mas em seguida o IP do micro ao qual estava enviando o ping é alterado, o cache local ainda terá o IP antigo).

ipconfig /registerdns - Caso seja necessário, com este comando você registra o seu IP no DNS. Útil caso tenha alterado o IP e queira ligeiramente atualizar sua entrada no servidor DNS.

arp -a - Mostra o cache arp, que contém o IP e o mac address dos hosts que resolvidos localmente. (Ex.: para descobrir uma mac address de um computador na rede use o comando ping, e em seguida arp -a).

arp -d * - Limpa todo o arp cache.

arp -s x.x.x.x 00-aa-00-63-c6-09 - Cria uma entrada estática na tabela arp.

nbtstat -r - Lista os nomes Netbios resolvidos por broadcast.

nbtstat -R - Limpa o cache da tabela de nomes Netbios.

nbtstat -RR - Limpa o cache da tabela de nomes Netbios local e registra o seu nome no servidor Wins.

Dica: Se você estiver com dificuldades de lembrar destes comandos no momento quem que for necessário o troubleshooting, vá até o status da sua conexão de rede, na aba "Support" existe um botão "Repair". Ah ok o botão tenta reparar a conexão de rede, mas o que ele realmente faz por trás? Ele executa os seguintes comandos automaticamente:

ipconfig /renew
arp -d *
nbtstat -R
nbtstat -RR
ipconfig /flushdns
ipconfig /registerdns

netstat -a - Mostra todas as portas que estão abertas, podendo estar como LISTENING que significa uma porta aberta na escuta, esperando por uma conexão se estabelecer, após estabelecer a conexão o status fica ESTABLISHED.

netstat -a -n - Mesmo resultado do comando acima, mas mostrando o numero das portas ao invés do nome do protocolo.

Estas portas devem ser abertas no firewall para permitir a comunicação dos seguintes protocolos:

TCP 3389 - RDP (Terminal Services, Remote Desktop, Remote Assistance)
TCP 1723 - PPTP (Point-to-point Tunneling Protocol) para VPN
UDP 500, 1701, 4500 - L2TP (Layer 2 Tunneling Protocol) para VPN
TCP 80 - HTTP (Hypertext Transfer Protocol)
TCP 443, UDP 443 - HTTPS
TCP 20, 21 - FTP (File Transfer Protocol)
UDP 123 - NTP (Network Time Protocol)
TCP 445, UDP 445 - Microsoft Directory Services (Active Directory)

tracert - Mostra por quais roteadores a comunicação passa até um host. contando no máx. até 30 hops. Caso um dos roteadores não responda, mas a comunicação continua adiante, é porque o roteador deve estar configurado para não responder pacotes ICMP (não responde a ping). Uma dica para salvar o resultado é usar o comando "tracert www.empresa.com > nomedoarquivo.txt".

pathping - É similar ao tracert, porém disponibiliza informações mais detalhadas de pacotes enviados para cada um dos roteadores no caminho.

netdiag - Realiza uma série de testes para determinar o estado e a funcionalidade do computador cliente de rede.

Network Diagnostics - semelhente ao netdiag, porém em modo GUI, entre no "Help and Support Center" e procure por "Network Diagnostics".

APIPA (Automatic Private IP Addressing)

Quando uma estação, ou server estiver configurado no TCP/IP com a opção "Obtain an IP address automatically", o que acontece é um broadcast em busca de um servidor DHCP que retorna um IP para o host.

Quando esta opção esta habilitada, uma nova aba "Alternate Configuration" aparece. Nesta aba existem 2 opções.

A primeira é "Automatic private IP address", ela faz com que sempre que um DHCP server não estiver presente na rede ou o host não estiver chegando por algum motivo até o DHCP Server para obter um IP, o APIPA irá designar automaticamente um IP classe B 169.254.x.x. Assim caso um servidor esteja fora do ar, os computadores configurados com APIPA receberão endereços nesta classe automaticamente e irão comunicar entre si sem problemas, o APIPA continuará de tempo em tempo veificando a presença de algum server DHCP na rede, e quando encontrar, irá negociar um novo IP do DHCP.

Caso não deseje usar o endereçamento automático do APIPA, selecione "User configured" e é necessário configurar manualmente o IP que o computador deve receber caso não encontre um DHCP Server. É uma configuração útil para se usar em Laptops que utilizam IP automático na empresa, mas em casa não possui um DHCP e utiliza um IP estático.



Windows XP/2k/2k3 - Services Recovery

A algum tempo atrás, tive problemas com um antivírus em que ao iniciar o windows, o serviço de realtime scan não estava inciando automaticamente como deveria, sendo necessário ir manualmente até o serviço correspondente e iniciar o serviço. Mas como já era de se esperar, o cliente não queria nem saber de fazer este procedimento longo toda vez que iniciar o computador.

A solução que utilizei, foi criar um batch com o comando "net start" do respectivo executável e rodar no startup. Na época eu não havia me dado conta das abas adicionais que temos para a configuração dos serviços, e talvez por falta de atenção ou quem sabe de muita atenção focada na aba General (Onde se define se o serviço deve ficar desabilitado, iniciar manualmente ou automaticamente).

A questão é que quando um serviço falha, existe a aba "Recovery" em cada serviço, onde é possivel configurar ações a serem tomadas em caso de falha, para que o serviço volte a ser inicializado normalmente sem que a intervenção manual seja necessária.

Abaixo uma foto da aba "Recovery" e respectivas configurações:
Como podem ver, pode-se configurar uma ação de reestabelecer o serviço a ser tomada na primeira falha, uma ação separada para caso ocorra uma segunda falha, e também para as falhas subsequentes.

Uma boa opção é configurar para que na primeira falha a ação seja reiniciar o serviço e setar abaixo para reiniciar após o tempo desejado(1 min no exemplo). A segunda pode-se selecionar executar um programa, e no campo "run program" configurar um script com os comandos que achar necessários para restaurar. No exemplo citado no inicio do post o batch poderia ser utilizado na segunda opção caso a primeira não resolver.

Outra dica é lembrar muitos serviços dependem de outros serviços estarem ativos para funcionar, o que pode ser conferido na aba "Dependencies".

Terça-feira, 12 de Fevereiro de 2008

Windows XP - Habilitando IPSec

O IPSec possibilita uma transmissão de dados segura, através da criptografia de dados, usando Kerberous para autenticação.

Dados não encriptados, podem ser fácilmente lidos utilizando-se de um software(Sniffer) que captura os pacotes que trafegam por uma determinada rede.

Existem vários serviços que envolvem autenticação não segura, enviando o nome do usuário e a senha em clear text pela rede sem nenhum tipo de criptografia ou até mesmo usando criptografia reversível que pode ser facilmente quebrada.

O IPSec além de encriptografar a autenticação, também encriptografa os dados da transmissão(conteúdo).

Abaixo um exemplo de senha capturada ao efetuar uma conexão de uma estação ao servidor FTP, sem IPSec, utilizando a ferramenta Wireshark em modo promíscuo (clique para visualizar):


"Oh my God! Alguém na empresa pode estar capturando minhas senhas a qualquer momento, que por coincidência é a mesma senha que eu utilizo no meu e-mail do Hotmail, Mercado Livre, Submarino, Paypal e Cartões de banco!"

Sim, é claro que pode, e para evitar que isto aconteça a dica é configurar o IPSec em sua estação de trabalho Win XP.

Vamos as configurações.
Vá em Start->Run->mmc
Adicione o snap-in "IP Security Policy Management", selecione "Local Computer" para alterar as configurações no próprio micro.

Em uma estação de trabalho, aconselho clicar com o botão direito sobre a opção "Client (Respond Only)" e em seguida selecione "Assign" para ativar a policy. Esta opção irá funcionar da seguinte maneira: Se o servidor que estiver sendo acessado, estiver configurado para solicitar ou requerir(obrigar) uma conexão por IPSec, a transmissão de dados se dará de uma maneira segura com IPSec. Se o servidor não estiver configurado com nenhuma das opções anteriores a transmissão ainda assim irá funcionar, mas sem nenhuma criptografia. Sendo assim, só irá aumentar a segurança se o cliente e servidor estiverem configurados, e mesmo assim, como o usuário nunca sabe qual a configuração no servidor vale a pena habilitar.

Para forçar uma conexão sempre usar IPSec, usa-se a opção "Secure Server (Require Security)". Porém esta opção pode lhe causar problemas caso esteja tentando utilizar um serviço onde o outro computador na negociação não esteja configurado corretamente. Impedindo assim a comunicação, a estação irá rejeitar qualquer conexão não segura e você tera o acesso negado.

Abaixo um printscreen do whireshark, mostrando como fica a interceptação de pacotes encriptografados com IPSec na mesma tentativa de acesso ao FTP como no exemplo acima. Note que os dados não são legíveis:

Play-Asia - Importação de Jogos

A
Play-Asia.com
é uma loja on-line de Jogos, consoles, acessórios, cabos, filmes e música em Hong Kong. É uma loja confiável e uma boa dica para adquirir algum jogo ou acessório dificil de encontrar no Brasil.

Ao encontrar o item desejado para compra, certifique-se de que é compativel com a sua versão de console (US, Japan, Asia ou Region-Free).
Será necessário um cartão de crédito internacional para efetuar a compra, ou uma conta do serviço PayPal.

O envio de 1 jogo custa apenas U$5.70 e demora em torno de 15 dias para chegar. Pode ocorrer de demorar quase 1 mês quando fica retido na Receita Federal, sujeito a cobrança de impostos no total de 60% sobre o valor do produto+frete.
Na teoria, encomendas de valor total de menos de U$50.00 não pagam impostos.

Em relação aos impostos cobrados, as vezes ocorre da receita não cobrar nada e outras vezes o produto pode ser taxado. O procedimento adotado não é sempre o mesmo e também depende de sorte e do estado onde será a entrega.

Mesmo assim, pode valer a pena, visto que muitos preços praticados aqui no Brasil são absurdos.

Alguns itens que você pode encontrar na loja são:

Jogos e acessórios para:
PS3
, PS2 , Wii , Xbox360 , enfim, para todos os consoles .

Para os entusiastas de filmes em Blu-Ray, confira a sessão de títulos no formato americano:
Blu-ray US Version .

Também a sessão de itens em promoção vale a pena conferir, só pechincha!: Bargains

Boas compras!


Play-Asia.com - H_TOP_CAT_SALE

New Releases Top Sellers Future Releases
Bargain Bin UMD Video Accessories

Browse Categories: Playstation 2, XBox, XBox 360, Playstation 3, Nintendo Wii, Sony PSP, Gamecube, Gameboy Advance, Nintendo DS, PC