Redes TCP/IP - Ex 04: mudanças entre as edições

De Eriberto Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 195: Linha 195:
#: <br>
#: <br>
# '''Qual flag aparecerá sempre que o payload não estiver vazio?'''
# '''Qual flag aparecerá sempre que o payload não estiver vazio?'''
#: <br>
# '''Em quais casos a flag ACK não aparecerá em um segmento TCP?'''
#: <br>
#: <br>
# '''Observe a captura a seguir:'''
# '''Observe a captura a seguir:'''

Edição das 03h01min de 22 de março de 2012

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.




Exercício 4 - Protocolo TCP





Base de conhecimento para a resolução do exercício



Questões

  1. Qual RFC regulamenta o protocolo TCP?

  2. 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?

  3. Quais elementos o checksum do TCP garante?

  4. Observe a captura a seguir:

    13:46:40.916351 IP 10.1.1.25.36824 > 200.221.2.45.80: S 730962026:730962026(0) win 5840 <mss 1460,sackOK,timestamp 955039 0,nop,wscale 7>

    13:46:40.916549 IP 200.221.2.45.80 > 10.1.1.25.36824: S 93022060:93022060(0) ack 730962027 win 5792 <mss 1460,sackOK,timestamp 862078256 955039,nop,wscale 6>

    13:46:40.916571 IP 10.1.1.25.36824 > 200.221.2.45.80: . ack 93022061 win 46 <nop,nop,timestamp 955039 862078256>

    13:46:50.532181 IP 10.1.1.25.36824 > 200.221.2.45.80: P 730962027:730962031(4) ack 93022061 win 46 <nop,nop,timestamp 957443 862078256>

    13:46:50.532350 IP 200.221.2.45.80 > 10.1.1.25.36824: . ack 730962031 win 91 <nop,nop,timestamp 862080660 957443>

    13:46:50.533215 IP 200.221.2.45.80 > 10.1.1.25.36824: P 93022061:93023259(1198) ack 730962031 win 91 <nop,nop,timestamp 862080660 957443>

    13:46:50.533229 IP 10.1.1.25.36824 > 200.221.2.45.80: . ack 93023259 win 65 <nop,nop,timestamp 957443 862080660>

    13:46:50.533237 IP 200.221.2.45.80 > 10.1.1.25.36824: F 93023259:93023259(0) ack 730962031 win 91 <nop,nop,timestamp 862080661 957443>

    13:46:50.533355 IP 10.1.1.25.36824 > 200.221.2.45.80: F 730962031:730962031(0) ack 93023260 win 65 <nop,nop,timestamp 957443 862080661>

    13:46:50.533483 IP 200.221.2.45.80 > 10.1.1.25.36824: . ack 730962032 win 91 <nop,nop,timestamp 862080661 957443>

    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?

  5. 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.

  6. Observe a captura a seguir:

    14:07:06.963550 IP 10.1.1.25.56067 > 200.181.59.43.85: S 2035483032:2035483032(0) win 5840 <mss 1460,sackOK,timestamp 1261531 0,nop,wscale 7>

    14:07:07.070582 IP 200.181.59.43.85 > 10.1.1.25.56067: R 0:0(0) ack 2035483033 win 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?

  7. Observe a linha a seguir:

    23:31:02.548385 IP 143.166.83.21.3810 > 148.18.10.100.57237: S 1917438290:1917438290(0) ack 1663938704 win 1608 <mss 1440,nop,wscale 0,nop,nop,timestamp 1239410904 220700,sackOK,eol>

    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?

  8. Observe a captura a seguir:

    14:37:25.915277 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1716241 0,nop,wscale 7>

    14:37:28.916341 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1716991 0,nop,wscale 7>

    14:37:34.916316 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1718491 0,nop,wscale 7>

    14:37:46.916274 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1721491 0,nop,wscale 7>

    14:38:10.920188 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1727491 0,nop,wscale 7>

    14:38:58.920021 IP 10.1.1.25.39594 > 200.176.3.142.81: S 3953573771:3953573771(0) win 5840 <mss 1460,sackOK,timestamp 1739491 0,nop,wscale 7>

    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.

  9. 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 3.81 ( http://www.insecure.org/nmap/ ) at 2007-03-27 23:32 BRT
    Interesting ports on 10.1.0.1:
    PORT STATE SERVICE
    79/tcp closed finger
    80/tcp open http
    81/tcp closed hosts2-ns
    Nmap finished: 1 IP address (1 host up) scanned in 0.165 seconds

    Observe agora a captura colhida na máquina alvo:

    02:35:03.590719 IP 10.2.2.2.48175 > 10.1.0.1.80: S 2748381896:2748381896(0) win 1024

    02:35:03.590835 IP 10.1.0.1.80 > 10.2.2.2.48175: S 1382448184:1382448184(0) ack 2748381897 win 32792 <mss 16396>

    02:35:03.590884 IP 10.2.2.2.48175 > 10.1.0.1.80: R 2748381897:2748381897(0) win 0

    02:35:03.591419 IP 10.2.2.2.48175 > 10.1.0.1.81: S 2748381896:2748381896(0) win 3072

    02:35:03.591462 IP 10.1.0.1.81 > 10.2.2.2.48175: R 0:0(0) ack 2748381897 win 0

    02:35:03.591769 IP 10.2.2.2.48175 > 10.1.0.1.79: S 2748381896:2748381896(0) win 4096

    02:35:03.591810 IP 10.1.0.1.79 > 10.2.2.2.48175: R 0:0(0) ack 2748381897 win 0

    Responda:

    Com base nos fatos observados, explique por que o nmap é considerado invisível.

  10. 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

  11. Explique para que servem as flags TCP S, F, R, P e A.

  12. Qual flag TCP nunca aparecerá em tráfegos bem sucedidos?

  13. Qual ou quais flags finalizam uma conexão?

  14. Qual flag aparecerá sempre que o payload não estiver vazio?

  15. 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.

  16. 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) Como se calcula o tamanho do payload de um segmento TCP?
    d) O que acontecerá com as portas clientes a cada nova conexão TCP ou UDP?

  17. Observe a linha a seguir:

    00:10:08.856865 IP 65.54.171.23.1863 > 192.168.1.100.32947: . ack 133 win 65073 <nop,nop,timestamp 4114962 807224>

    Responda:

    Qual é o endereço IP do cliente? Justifique.