Redes TCP/IP - Ex 04
Ir para navegação
Ir para pesquisar
by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>
Exercício de fixação ligado diretamente ao artigo Redes TCP/IP, existente neste wiki.
O conteúdo a seguir poderá ser utilizado por outros professores,
desde que a fonte seja citada e os créditos mantidos.
Última atualização: veja o rodapé desta página.
Base de conhecimento para a resolução do exercício
- RFC 793 - Protocolo TCP, disponível em http://www.rfc-editor.org/rfc/rfc793.txt.
- Cartão de referência do TCP/IP e tcpdump, disponível em http://www.sans.org/resources/tcpip.pdf.
- Protocolos IP, disponível em /etc/protocols ou em http://www.iana.org/assignments/protocol-numbers.
- Portas TCP/UDP, disponível em /etc/services ou em http://www.iana.org/assignments/port-numbers.
Questões
- Qual RFC regulamenta o protocolo TCP?
- Por ocasião do cálculo do checksum, o TCP utiliza um pseudo cabeçalho IP. Como é constituído esse pseudo cabeçalho e para que ele serve?
- Quais elementos o checksum do TCP garante?
- Observe a captura a seguir:
- 20:43:18.298939 IP 192.168.0.180.60661 > 203.0.113.11.80: Flags [S], seq 955502169, win 29200, options [mss 1460,sackOK,TS val 12340322 ecr 0,nop,wscale 7], length 0
- 20:43:18.491990 IP 203.0.113.11.80 > 192.168.0.180.60661: Flags [S.], seq 4226401775, ack 955502170, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
- 20:43:18.492032 IP 192.168.0.180.60661 > 203.0.113.11.80: Flags [.], ack 4226401776, win 229, length 0
- 20:43:24.167664 IP 192.168.0.180.60661 > 203.0.113.11.80: Flags [P.], seq 955502170:955502178, ack 4226401776, win 229, length 8
- 20:43:24.360782 IP 203.0.113.11.80 > 192.168.0.180.60661: Flags [.], ack 955502178, win 115, length 0
- 20:43:24.361441 IP 203.0.113.11.80 > 192.168.0.180.60661: Flags [P.], seq 4226401776:4226402002, ack 955502178, win 115, length 226
- 20:43:24.361461 IP 192.168.0.180.60661 > 203.0.113.11.80: Flags [.], ack 4226402002, win 237, length 0
- 20:43:24.361469 IP 203.0.113.11.80 > 192.168.0.180.60661: Flags [F.], seq 4226402002, ack 955502178, win 115, length 0
- 20:43:24.361554 IP 192.168.0.180.60661 > 203.0.113.11.80: Flags [F.], seq 955502178, ack 4226402003, win 237, length 0
- 20:43:24.554194 IP 203.0.113.11.80 > 192.168.0.180.60661: Flags [.], ack 955502179, win 115, length 0
- Responda:
- a) Qual protocolo de transporte (TCP ou UDP) está sendo utilizado? Justifique.
- b) Qual é o endereço IP do cliente? Justifique.
- c) Qual é o endereço IP do servidor?
- d) Qual é a porta do cliente?
- e) Qual é a porta do servidor?
- f) Que tipo de atividade o usuário da máquina cliente está realizando?
- g) Qual é o socket do servidor envolvido?
- h) Qual host iniciou a conexão?
- i) Qual host iniciou a finalização da conexão?
- j) O three-way handshake foi realizado corretamente?
- k) Qual tipo de fechamento ocorreu?
- l) A hora mostrada é confiável? Justifique.
- Observe a sequência de bytes a seguir, obtida a partir de uma captura em uma transação de rede, iniciada por um protocolo IP:
- 4500 003c 0000 4000 3f06 1e15 405a 3137
- ac15 0001 0050 c19b 276a 36df c9c7 ec0a
- a012 16a0 1aba 0000 0204 05b4 0402 080a
- 2dfd a2ee 08f2 4909 0103 0307
- Dica: para resolver esta questão, de acordo com a necessidade, transforme alguns campos de hexadecimal para binário ou decimal e consulte o cartão TCP/IP para entender o cabeçalho IP.
- Responda:
- a) Qual é o tamanho, em bytes, do cabeçalho IP em questão? (campo IHL)
- b) Qual é o endereço IP de origem?
- c) Qual é o endereço IP de destino?
- d) Qual protocolo IP está sendo utilizado?
- e) Qual é o TTL do pacote?
- f) Qual é o tamanho do cabeçalho do protocolo encapsulado pelo IP?
- g) Qual ou quais flags estão ativas no protocolo encapsulado pelo IP?
- h) O protocolo encapsulado pelo IP possui payload? Justifique.
- Observe a captura a seguir:
- 20:52:21.783238 IP 192.168.0.180.37678 > 192.168.0.100.81: Flags [S], seq 3228599059, win 29200, options [mss 1460,sackOK,TS val 12476193 ecr 0,nop,wscale 7], length 0
- 20:52:21.783395 IP 192.168.0.100.81 > 192.168.0.180.37678: Flags [R.], seq 0, ack 3228599060, win 0, length 0
- Responda:
- a) Qual protocolo de transporte (TCP ou UDP) está sendo utilizado? Justifique.
- b) Qual é o endereço IP do cliente?
- c) Qual é o endereço IP do servidor?
- d) Qual é a porta do cliente?
- e) Qual é a porta do servidor?
- f) O three-way handshake foi realizado corretamente?
- g) Qual é a conclusão a qual podemos chegar em relação à situação da porta servidora?
- h) Qual é o window scale do cliente?
- i) Qual foi o window size concedido pelo cliente ao servidor? (em bytes)
- j) Em uma transação TCP, é necessário que cliente e servidor utilizem o mesmo window scale?
- Observe a linha a seguir:
- IP 143.166.83.21.38100 > 148.18.10.100.57237: Flags [S.], seq 3919056759, ack 4201821685, win 4000, options [mss 1460,nop,wscale 6,sackOK,TS val 1962400699 ecr 12502807], length 0
- Responda:
- a) Qual é o endereço IP do cliente envolvido na conexão?
- b) Qual é o socket do servidor envolvido na conexão?
- c) Qual foi o window size concedido ao host 148.18.10.100?
- Observe a captura a seguir:
- 12:39:38.250246 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1095931 ecr 0,nop,wscale 7], length 0
- 12:39:39.248228 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1096181 ecr 0,nop,wscale 7], length 0
- 12:39:41.252223 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1096682 ecr 0,nop,wscale 7], length 0
- 12:39:45.260227 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1097684 ecr 0,nop,wscale 7], length 0
- 12:39:53.276224 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1099688 ecr 0,nop,wscale 7], length 0
- 12:40:09.308224 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1103696 ecr 0,nop,wscale 7], length 0
- 12:40:41.372217 IP 192.168.0.180.43901 > 203.0.113.12.81: Flags [S], seq 3317140577, win 29200, options [mss 1460,sackOK,TS val 1111712 ecr 0,nop,wscale 7], length 0
- Responda:
- a) Normalmente, uma porta servidora TCP responde Syn/ACK ou RST para um pedido de conexão. No caso mostrado, nenhuma resposta foi recebida. O que isso significa?
- b) Nos múltiplos pacotes enviados, o número de sequência e os sockets do cliente e do servidor sempre foram os mesmos. Explique o que isso significa.
- c) Identifique os tempos TCP e diga o que isso significa.
- O nmap é considerado um scanner de portas invisível e possui vários modos de funcionamento. Observe o resultado a seguir, a partir de um comando para scanear portas de 79 a 81 (TCP):
- # nmap -p 79-81 10.1.0.1
- Starting Nmap 6.47 ( http://nmap.org ) at 2015-08-26 21:09 BRT
- Nmap scan report for 192.168.0.2
- Host is up (0.00091s latency).
- PORT STATE SERVICE
- 79/tcp closed finger
- 80/tcp open http
- 81/tcp closed hosts2-ns
- MAC Address: E8:94:F6:D8:CE:D6 (Tp-link Technologies Co.)
- Nmap done: 1 IP address (1 host up) scanned in 1.68 seconds
- Observe agora a captura colhida na máquina alvo:
- 21:09:58.128163 IP 192.168.0.180.49995 > 192.168.0.2.80: Flags [S], seq 1148726886, win 1024, options [mss 1460], length 0
- 21:09:58.128171 IP 192.168.0.180.49995 > 192.168.0.2.81: Flags [S], seq 1148726886, win 1024, options [mss 1460], length 0
- 21:09:58.128174 IP 192.168.0.180.49995 > 192.168.0.2.79: Flags [S], seq 1148726886, win 1024, options [mss 1460], length 0
- 21:09:58.128474 IP 192.168.0.2.80 > 192.168.0.180.49995: Flags [S.], seq 2029920065, ack 1148726887, win 5840, options [mss 1460], length 0
- 21:09:58.128507 IP 192.168.0.180.49995 > 192.168.0.2.80: Flags [R], seq 1148726887, win 0, length 0
- 21:09:58.128593 IP 192.168.0.2.81 > 192.168.0.180.49995: Flags [R.], seq 0, ack 1148726887, win 0, length 0
- 21:09:58.128676 IP 192.168.0.2.79 > 192.168.0.180.49995: Flags [R.], seq 0, ack 1148726887, win 0, length 0
- 21:09:59.229115 IP 192.168.0.180.49996 > 192.168.0.2.79: Flags [S], seq 1148792423, win 1024, options [mss 1460], length 0
- 21:09:59.229132 IP 192.168.0.180.49996 > 192.168.0.2.81: Flags [S], seq 1148792423, win 1024, options [mss 1460], length 0
- 21:09:59.229443 IP 192.168.0.2.79 > 192.168.0.180.49996: Flags [R.], seq 0, ack 1148792424, win 0, length 0
- 21:09:59.229485 IP 192.168.0.2.81 > 192.168.0.180.49996: Flags [R.], seq 0, ack 1148792424, win 0, length 0
- Responda:
- Com base nos fatos observados, explique por que o nmap é considerado invisível.
- Um usuário estava executando um download. Depois de algum tempo, tal usuário cancelou o download, fechando o navegador (Mozilla Firefox). Observe a captura relativa a isto e explique porque ocorreram resets.
- IP 192.168.33.36.37382 > 130.239.18.177.80: S 2142262123:2142262123(0) win 5840 <mss 1460,sackOK,timestamp 8074572 0,nop,wscale 7>
- IP 130.239.18.177.80 > 192.168.33.36.37382: S 2109548026:2109548026(0) ack 2142262124 win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 0 0,nop,nop,sackOK>
- IP 192.168.33.36.37382 > 130.239.18.177.80: . ack 2109548027 win 46 <nop,nop,timestamp 8074580 0>
- IP 192.168.33.36.37382 > 130.239.18.177.80: P 2142262124:2142262704(580) ack 2109548027 win 46 <nop,nop,timestamp 8074580 0>
- IP 130.239.18.177.80 > 192.168.33.36.37382: . ack 2142262704 win 64955 <nop,nop,timestamp 938305 8074572>
- IP 130.239.18.177.80 > 192.168.33.36.37382: P 2109548027:2109548346(319) ack 2142262704 win 64955 <nop,nop,timestamp 938312 8074572>
- IP 192.168.33.36.37382 > 130.239.18.177.80: . ack 2109548346 win 54 <nop,nop,timestamp 8074840 938312>
- IP 130.239.18.177.80 > 192.168.33.36.37382: . 2109548346:2109549794(1448) ack 2142262704 win 64955 <nop,nop,timestamp 938312 8074572>
- IP 192.168.33.36.37382 > 130.239.18.177.80: . ack 2109549794 win 77 <nop,nop,timestamp 8074847 938312>
- ---------------------------------------------------------------------------------------
- IP 130.239.18.177.80 > 192.168.33.36.37382: P 2109904446:2109904970(524) ack 2142262704 win 65535 <nop,nop,timestamp 938655 8083212>
- IP 192.168.33.36.37382 > 130.239.18.177.80: . ack 2109907471 win 501 <nop,nop,timestamp 8083387 938648,nop,nop,sack 1 {2109904446:2109904970}>
- IP 192.168.33.36.37382 > 130.239.18.177.80: F 2142262704:2142262704(0) ack 2109907471 win 501 <nop,nop,timestamp 8085108 938648>
- IP 130.239.18.177.80 > 192.168.33.36.37382: P 2109907471:2109907995(524) ack 2142262705 win 65535 <nop,nop,timestamp 938724 8085108>
- IP 192.168.33.36.37382 > 130.239.18.177.80: R 2142262705:2142262705(0) win 0
- IP 130.239.18.177.80 > 192.168.33.36.37382: P 2109907995:2109908519(524) ack 2142262705 win 65535 <nop,nop,timestamp 938724 8085108>
- IP 192.168.33.36.37382 > 130.239.18.177.80: R 2142262705:2142262705(0) win 0
- Explique para que servem as flags TCP S, F, R, P e A.
- Qual flag TCP nunca aparecerá em tráfegos bem sucedidos?
- Qual ou quais flags finalizam uma conexão?
- Qual flag aparecerá sempre que o payload não estiver vazio?
- Observe a captura a seguir:
- 21:44:39.556512 IP 172.21.0.4.51147 > 10.0.0.1.80: S 891058249:891058249(0) win 32792 <mss 16396,sackOK,timestamp 3324542 0,nop,wscale 7>
- 21:44:39.570707 IP 10.0.0.1.80 > 172.21.0.4.51147: S 895475878:895475878(0) ack 891058250 win 32768 <mss 16396,sackOK,timestamp 3324542 3324542,nop,wscale 7>
- 21:44:39.570835 IP 172.21.0.4.51147 > 10.0.0.1.80: . ack 895475879 win 257 <nop,nop,timestamp 3324542 3324542>
- 21:44:39.570930 IP 172.21.0.4.51147 > 10.0.0.1.80: P 891058250:891058790(540) ack 895475879 win 257 <nop,nop,timestamp 3324542 3324542>
- 21:44:39.571047 IP 10.0.0.1.80 > 172.21.0.4.51147: . ack 891058790 win 265 <nop,nop,timestamp 3324542 3324542>
- 21:44:39.739720 IP 10.0.0.1.80 > 172.21.0.4.51147: P 895475879:895476059(180) ack 891058790 win 265 <nop,nop,timestamp 3324587 3324542>
- 21:44:39.739744 IP 172.21.0.4.51147 > 10.0.0.1.80: . ack 895476059 win 265 <nop,nop,timestamp 3324587 3324587>
- 21:44:55.274201 IP 10.0.0.1.80 > 172.21.0.4.51147: F 895476059:895476059(0) ack 891058790 win 265 <nop,nop,timestamp 3328471 3324587>
- 21:44:55.317096 IP 172.21.0.4.51147 > 10.0.0.1.80: . ack 895476060 win 265 <nop,nop,timestamp 3328481 3328471>
- 21:44:59.538721 IP 172.21.0.4.51147 > 10.0.0.1.80: F 891058790:891058790(0) ack 895476060 win 265 <nop,nop,timestamp 3329537 3328471>
- 21:44:59.538747 IP 10.0.0.1.80 > 172.21.0.4.51147: . ack 891058791 win 265 <nop,nop,timestamp 3329537 3329537>
- 21:45:00.945185 IP 172.21.0.4.43390 > 10.0.0.1.8080: S 889692465:889692465(0) win 32792 <mss 16396,sackOK,timestamp 3329888 0,nop,wscale 7>
- 21:45:03.945578 IP 172.21.0.4.43390 > 10.0.0.1.8080: S 889692465:889692465(0) win 32792 <mss 16396,sackOK,timestamp 3335888 0,nop,wscale 7>
- 21:45:09.946365 IP 172.21.0.4.43390 > 10.0.0.1.8080: S 889692465:889692465(0) win 32792 <mss 16396,sackOK,timestamp 3347888 0,nop,wscale 7>
- Responda:
- Considerando que o usuário digitou somente http://10.0.0.1 no seu navegador, explique o que, aparentemente, aconteceu na captura mostrada anteriormente.
- Responda:
- a) Quais são o menor e o maior tamanho possíveis para um cabeçalho TCP?
- b) Qual é o menor tamanho possível para o payload de um segmento TCP?
- c) O que acontecerá com as portas clientes a cada nova conexão TCP ou UDP?
- Faça download do arquivo ex04_cap01.pcap. A seguir, observando o payload dos pacotes, responda às perguntas.
- (Dica: use tcpdump com -n, -r e -A.)
- a) Qual tipo de atividade está ocorrendo? Justifique.
- b) Qual o FQDN da máquina de destino?
- c) Qual é o programa cliente que está sendo utilizado?
- d) Qual servidor está sendo utilizado?
- e) Qual a data e a hora do início do tráfego? (dica: -tttt)
- f) Essa data e hora são confiáveis? Justifique.