Inferring acknowledgment numbers

TCP, as explained in the TCP chapter of Computer Networking: Principles, Protocols and Practice includes a sequence number in each segment that carries data and uses acknowledgements.


Inferring acknowledgement numbers

During this connection, the client sent some data in successive segments and then the server replied with a an acknowledgement that confirms the reception of all the previous segments. Can you infer the acknowledgement number of the segment returned by the server ?

# Length Resumé Status
0 28 bytes <TCP: ACK, PSH, SEQ: 3378592493, ACK: 2477434132>
1 27 bytes <TCP: ACK, PSH, SEQ: 3378592501, ACK: 2477434132>
2 29 bytes <TCP: ACK, PSH, SEQ: 3378592508, ACK: 2477434132>
3 29 bytes <TCP: ACK, PSH, SEQ: 3378592517, ACK: 2477434132>
4 20 bytes <TCP: ACK, SEQ: 2477434132, ACK: ??>  

0000  d1ce04d2c9613aed  93aaa51450187080  
0010  4f94000073647173  6473710a          

0000  ÑÎ.ÒÉa:í.ª¥.P.p.
0010  O...sdqsdsq.    
  • TCP:
    • Source Port: 53710
    • Destination Port: 1234
    • Sequence Number: 3378592493
    • Acknowledgment Number: 2477434132
    • Data Offset: 5
    • Reserved: 0
    • NS: 0
    • CWR: 0
    • ECE: 0
    • URG: 0
    • ACK: 1
    • PSH: 1
    • RST: 0
    • SYN: 0
    • FIN: 0
    • Window: 28800
    • Checksum: 20372
    • Urgent Pointer: 0
    • Data: bytearray(b'sdqsdsq\n')
0000  d1ce04d2c9613af5  93aaa51450187080  
0010  4f93000073716471  73640a            

0000  ÑÎ.ÒÉa:õ.ª¥.P.p.
0010  O...sqdqsd.     
  • TCP:
    • Source Port: 53710
    • Destination Port: 1234
    • Sequence Number: 3378592501
    • Acknowledgment Number: 2477434132
    • Data Offset: 5
    • Reserved: 0
    • NS: 0
    • CWR: 0
    • ECE: 0
    • URG: 0
    • ACK: 1
    • PSH: 1
    • RST: 0
    • SYN: 0
    • FIN: 0
    • Window: 28800
    • Checksum: 20371
    • Urgent Pointer: 0
    • Data: bytearray(b'sqdqsd\n')
0000  d1ce04d2c9613afc  93aaa51450187080  
0010  4f95000073716471  736473710a        

0000  ÑÎ.ÒÉa:ü.ª¥.P.p.
0010  O...sqdqsdsq.   
  • TCP:
    • Source Port: 53710
    • Destination Port: 1234
    • Sequence Number: 3378592508
    • Acknowledgment Number: 2477434132
    • Data Offset: 5
    • Reserved: 0
    • NS: 0
    • CWR: 0
    • ECE: 0
    • URG: 0
    • ACK: 1
    • PSH: 1
    • RST: 0
    • SYN: 0
    • FIN: 0
    • Window: 28800
    • Checksum: 20373
    • Urgent Pointer: 0
    • Data: bytearray(b'sqdqsdsq\n')
0000  d1ce04d2c9613b05  93aaa51450187080  
0010  4f95000073716473  716473710a        

0000  ÑÎ.ÒÉa;..ª¥.P.p.
0010  O...sqdsqdsq.   
  • TCP:
    • Source Port: 53710
    • Destination Port: 1234
    • Sequence Number: 3378592517
    • Acknowledgment Number: 2477434132
    • Data Offset: 5
    • Reserved: 0
    • NS: 0
    • CWR: 0
    • ECE: 0
    • URG: 0
    • ACK: 1
    • PSH: 1
    • RST: 0
    • SYN: 0
    • FIN: 0
    • Window: 28800
    • Checksum: 20373
    • Urgent Pointer: 0
    • Data: bytearray(b'sqdsqdsq\n')
0000  04d2d1ce93aaa514  ????????50107080  
0010  4f8c0000                            

0000  .ÒÑÎ.ª¥.????P.p.
0010  O...            
  • TCP:
    • Source Port: 1234
    • Destination Port: 53710
    • Sequence Number: 2477434132
    • Acknowledgment Number:
    • Data Offset: 5
    • Reserved: 0
    • NS: 0
    • CWR: 0
    • ECE: 0
    • URG: 0
    • ACK: 1
    • PSH: 0
    • RST: 0
    • SYN: 0
    • FIN: 0
    • Window: 28800
    • Checksum: 20364
    • Urgent Pointer: 0

Information

Author(s) Olivier Bonaventure
Deadline No deadline
Submission limit No limitation
Category Tags TCP

Sign in