Update 'Test_Cases/Test_Case2/readme'
This commit is contained in:
parent
a76e29ba4d
commit
117785ce04
@ -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.
|
||||
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
|
Loading…
x
Reference in New Issue
Block a user