Site criado para transmitir algum do conhecimento que fui ganhando durante a minha vida profissional.
domingo, 23 de novembro de 2008
Descodificar um Pacote TCP/IP (TCP apenas)
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.
| 192 | 224 | 240 | 248 | 252 | 254 | 255 | Subnet Mask | |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Target Number |
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | Bit Place |
| 126 | 62 | 30 | 14 | 6 | 4 | NA | Number 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"
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?
- 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.