From 117785ce049e2c8badc64c24af3b4a933fb28cc7 Mon Sep 17 00:00:00 2001 From: Sana147 <14mseeshabib@seecs.edu.pk> Date: Mon, 8 May 2023 01:26:37 +0000 Subject: [PATCH] Update 'Test_Cases/Test_Case2/readme' --- Test_Cases/Test_Case2/readme | 57 ++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/Test_Cases/Test_Case2/readme b/Test_Cases/Test_Case2/readme index 6d7da92..f0ed90c 100644 --- a/Test_Cases/Test_Case2/readme +++ b/Test_Cases/Test_Case2/readme @@ -1,12 +1,57 @@ This folder contains detail for Test_Case2. -Source IP = 192.168.10.20, which is c0a8 0a14 in hex -Destination IP = 192.168.10.10, which is c0a8 0a0a in hex -Source Port = 2341, which is 0925 in hex, -Destination Port = 1200, which is 04B0 in hex. - +1. Verison = 4, to indicate IPv4 version is used. +2. IHL = 5, which indicates 20 bytes. +3. Type of Service = 0, +4. Total Length = 40, which is 28 in hex. The total windows size contains the total lenght of IP header plus data. +5. Identification = 0002, +6. Flags = All flags are set to zero, +7. Fragment Offset = For now, there is no fragment offset so, this value is set to 0. +8. TTL = 40s, which is 28 in hex. +9. Protocol = 6, which indicates TCP. +10. Header Checksum = initially zero and then changed to the 1's complement of the sum of 16 bit values of IP header + data. +11. Source IP = 192.168.10.20, which is c0a8 0a14 in hex +12. Destination IP = 192.168.10.10, which is c0a8 0a0a in hex +13. Source Port = 2341, which is 0925 in hex, +14. Destination Port = 1200, which is 04B0 in hex. +15. Sequence Number = 0 for now, +16. Acknowledgement Number = 0, +17. Flags: For the SYN packet, the SYN Flag in the header has a value of 1. For the SYN+ACK packet, the SYN and ACK flags in the header have a value of 1. For the ACK packet, the ACK flag in the header has a value of 1. For the FIN packet, the FIN flag in the header has a value of 1. -For the FIN+ACK packet, the FIN and ACK flags in the header have a value of 1. \ No newline at end of file +For the FIN+ACK packet, the FIN and ACK flags in the header have a value of 1. +18. TCP Checksum = initially zero, then: +(i) Concatenate TCP Pseudo header (Protocol, Source IP, Destination IP, Total Length) with TCP header and TCP data. This creates a big integer. +(ii) Convert this integer to binary and compute bit wise 1's complement. +19. Urgent Pointer = 0, no urgent data in the header. + +The value of header comes out to be: +header = {} +header[0] = 0x45, Version, IHL +header[1] = 0x00, TOS, +header[2] = 0x00, Total Length, +header[3] = 0x28, Total Length, +header[4] = 0x00, Identification, +header[5] = 0x02, Identification, +header[6] = 0x00, Flags + Fragment Offset, +header[7] = 0x00, Flags + Fragment Offset, +header[8] = 0x28, TTL +header[9] = 0x06, Protocol +header[10] = 0x00, Header Checksum +header[11] = 0x00, Header Checksum +header[12] = 0xc0, Source IP, +header[13] = 0xa8, Source IP, +header[14] = 0x0a, Source IP, +header[15] = 0x14, Source IP, +header[16] = 0xc0, Destination IP, +header[17] = 0xa8, Destination IP, +header[18] = 0x0a, Destination IP, +header[19] = 0x0a, Destination IP, + +The value of IP_Header_Checksum comes out to be: ed1c. + +References: +1. https://www.thegeekstuff.com/2012/05/ip-header-checksum/ +2. https://www.tutorialspoint.com/calculation-of-tcp-checksum \ No newline at end of file