domingo, 23 de novembro de 2008

Descodificar um Pacote TCP/IP (TCP apenas)

O TCP é a outra parte que normalmente vem agarrada ao protocolo IP.

O TCP é encontrado na segunda parte de uma frame TCP/IP.
No pacote anteriormente analisado no texto "Descodificar um pacote TCP/IP (IP Apenas) reparamos que o TCP é o pedaço assinalado a azul.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 0000 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8 64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

O pedaço assinalado em azul dá-nos conta de toda a informação sobre o TCP.

Os 2 primeiros bytes indicam a porta de origem (porta onde se iniciou o pedido).
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

c0 43 é em decimal 49219.

A porta de Destino é a:
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

1f90 = em decimal 8080 :) endereço de um proxy? :)

O numero sequencial que vem de seguida serve para controlar a fragmentação dos pacotes bem como a ordem porque eles são enviados... (Muito util para recolher todos os pacotes de uma comunicação).

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

Depois vem o nemero de reconhecimento ou seja, como sabem um computador quando acabar de receber uma sequencia de pacotes tcp e enche a sua Janela responde com um ack+1 relativamente ao pacote recebido. Este numero é indicado pelos seguintes bytes.

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

Depois vem o tamanho do cabeçalho: 5

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

As flags que podem ser URG, ACK, PSH, RST, SYN, e FIN

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00
Neste caso o 010 representa em binário 010000 e é uma flag tipo ACK.

O tamanho da janela vem de seguida,
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00
Que em decimal representa cerca de 16425. Que representa o tamanho máximo que a origem consegue manipular.

O "checksun"
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00 e por fim os 0000 que representa o ponteiro de urgencia o que quer dizer que certos pacotes podem passar á "frente da fila" e ser processados primeiro. a Flag URG indica que esses dados existem e o ponteiroindica a posição deles dentro da area de dados.

terça-feira, 18 de novembro de 2008

The Enhanced Bob Maneuver for Subnetting

Este é um quadro que nos pode auxiliar muito para o calculo de subnets.














































192224240248252254255Subnet Mask
1286432168421Target Number
87654321Bit Place
12662301464NANumber of Valid Subnets

Explicando o quadro.

Imaginemos que nos pedem uma rede com 15 subnets...

Ora na linha de Number of Valid Subnets vamos ver onde fica o 15, este fica entre o 14 e o 30 pelo que escolhemos o 30 para poder albergar as 15 subnets.

Depois na linha de cima (bit place) vemos qual o numero de bits que são 5, depois no (targuet number) contamos 5 da esquerda para a direita e ficamos 8 e a subnet fica logo por cima indicada. em que é 248.

Não me perguntem porque ficou assim com tanto espaço porque tabém não sei... :)

Binary "ANDing"

É o processo pelo qual é feita uma muliplicação entre dois numeros binarios. (Na numeração decimal).

Então temos

0 and 0 = 0
1 and 0 = 0
0 and 1 = 0
1 and 1 = 1

Utiliza-se o anding quando se compara ip's com a sua subnet mask para saber qual a rede a que o ip pertence.

Ex:
Qual a rede a que pertence o IP 192.168.100.115 com subnet Mask de 255.255.255.240?


  1. Converter ambos os endereços para binario.

192.168.100.115 = 11000000.10101000.01100100.01110011

255.255.255.240 = 11111111.11111111.11111111.11110000

2. Realizar o AND

192.168.100.115 = 11000000.10101000.01100100.01110011
255.255.255.240 = 11111111 .11111111 .11111111 .11110000

Resultado = 11000000.10101000.01100100.01110000

Converter o resultado para decimal novamente:

11000000.10101000.01100100.01110000 = 192.168.100.112

O endereço de IP pertence á rede 192.168.100.112 qundo uma subnet mask 255.255.255.240 é usada.