Help! Tell me about Computer Data!
How to recognize data sizes 0100 1010 1011 1100 1101 1110 1111 0010 0x 4A BC DE F2 Byte Half word Word One Word = 32 bits = 8 hexadecimal characters One Halfword = 16 bits = 4 hexadecimal characters One Byte = 8 bits = 2 hexadecimal characters One Nibble = 4 bits = 1 hexadecimal character
IPv4 Packet Header showing bit layout Version (0-3) Hlenth (4-7) Service Type (8-15) Total Length (16-31) Datagram Identification (0-15) Flags (16-19) Fragment Offset (20-31) Time to Live Protocol Header Checksum Source IP Address Destination IP Address Type Code Checksum Identifier Sequence Number Data 0 4 8 16 17 18 19 20 31
IPv4 Packet Header: Interpreting data 4500 05dc 039c 2000 8001 902b c0a8 0004 c0a8 0005 0800 2859 0200 1c00 6162 6364 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 Version (0-3) Hlenth (4-7) Service Type (8-15) Total Length (16-31) Datagram Identification (0-15) Flags (16-19) Fragment Offset (20-31) Time to Live Protocol Header Checksum Source IP Address Destination IP Address Type Code Checksum Identifier Sequence Number Data 0 4 8 16 17 18 19 20 31 4500 05dc 039c 2000 Notice that each table row is 32 bits = 1 word = 8 hexadecimal characters… Allocate the hex characters to their proper row, then to their proper field within row.
IPv4 Packet Header: Solution for first 2 rows 4500 05dc 039c 2000 8001 902b c0a8 0004 c0a8 0005 0800 2859 0200 1c00 6162 6364 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 Version =4 Hlenth =5 Service Type =00 Total Length =05dc Datagram Identification (0-15) = 039c Flags =B0010 Fragment Offset (20-31) = 0000 Time to Live Protocol Header Checksum Source IP Address Destination IP Address Type Code Checksum Identifier Sequence Number Data 0 4 8 16 17 18 19 20 31 4500 05dc 039c 2000 Notice that each table row is 32 bits = 1 word = 8 hexadecimal characters… Allocate the hex characters to their proper row, then to their proper field within row.
Converting Special Fields IP Address Flags Example: 0x1a2b 3c4d 32 bits are separated: 8bits. 8bits . 8bits . 8bits 0x1a. 0x2b. 0x3c. 0x4d Convert to decimal: 0x1a=26 0x2b=43 0x3c=60 0x4d=77 IP address: 26.43.60.77 Example: 0x53 21 Convert to binary: 0101 0011 Bit 16: 0 (0101) Bit 15: 1 (0101) Bit 14: 0 (0101) Bit 13: 1 Bit 12: 0