[ { "id": "Ether", "name": "Ethernet II", "fields": [ { "id": "dst", "name": "Destination", "type": "MAC_ADDRESS", "regex": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" }, { "id": "src", "name": "Source", "type": "MAC_ADDRESS", "regex": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" }, { "id": "type", "name": "Type" } ], "payload": ["IP", "IPv6", "Dot1Q", "Raw"] }, { "id": "IP", "name": "IPv4", "fields": [ { "id": "version", "name": "Version" }, { "id": "ihl", "name": "IHL", "type": "NUMBER", "auto": true }, { "id": "tos", "name": "TOS", "type": "NUMBER" }, { "id": "len", "name": "Total Length", "type": "NUMBER", "auto": true }, { "id": "id", "name": "Identification", "type": "NUMBER" }, { "id": "flags", "name": "Flags", "type": "BITMASK", "bits": [ {"name": "Reserved", "mask": 4, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 4}]}, {"name": "Fragment", "mask": 2, "values":[{"name":"May fragment (0)", "value": 0}, {"name":"Don't fragment (1)", "value": 2}]}, {"name": "More Fragments(MF)", "mask": 1, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 1}]} ] }, { "id": "frag", "name": "Fragment offset", "type": "NUMBER" }, { "id": "ttl", "name": "TTL", "type": "NUMBER", "min": 1, "max": 255 }, { "id": "proto", "name": "Protocol" }, { "id": "chksum", "name": "Checksum", "type": "STRING", "auto": true }, { "id": "src", "name": "Source address", "type": "IP_ADDRESS" }, { "id": "dst", "name": "Destination address", "type": "IP_ADDRESS" }, { "id": "options", "name": "Options", "type": "IP_OPTIONS" } ], "payload": ["TCP", "UDP", "ICMP", "Raw"] }, { "id": "TCP", "name": "TCP", "fields": [ { "id": "sport", "name": "Source port", "type": "NUMBER", "min": 0, "max": 65535 }, { "id": "dport", "name": "Destination port", "type": "NUMBER", "min": 0, "max": 65535 }, { "id": "seq", "name": "Sequence number", "type": "NUMBER" }, { "id": "ack", "name": "Acknowledgment number", "type": "NUMBER" }, { "id": "dataofs", "name": "Data offset", "type": "NUMBER" }, { "id": "reserved", "name": "Reserved", "type": "NUMBER" }, { "id": "flags", "name": "Flags", "auto": false, "type": "BITMASK", "bits": [ {"name": "URG", "mask": 32, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 32}]}, {"name": "ACK", "mask": 16, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 16}]}, {"name": "PSH", "mask": 8, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 8}]}, {"name": "RST", "mask": 4, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 4}]}, {"name": "SYN", "mask": 2, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 2}]}, {"name": "FIN", "mask": 1, "values":[{"name":"Not Set", "value": 0}, {"name":"Set", "value": 1}]} ] }, { "id": "window", "name": "Window size", "type": "NUMBER" }, { "id": "chksum", "name": "Checksum", "auto": true, "type": "NUMBER" }, { "id": "urgptr", "name": "Urgent pointer", "type": "NUMBER" }, { "id": "options", "name": "Options", "type": "TCP_OPTIONS" } ] }, { "id": "Raw", "name": "Raw", "fields": [ { "id": "load", "name": "Payload", "type": "BYTES" } ] } ]