TCP Header

[1]:
from byteclasses.handlers.network.tcp_hdr import TCPHdr
from byteclasses.print import byteclass_inspect, collection_table, byteclass_info
[2]:
tcp_hdr = TCPHdr()
data = bytearray(
    b"\x1e\xc3\x07\xd0\x1f\xbc\x16\xd2\x00\x00\x00\x00\x80\x02\xfa\xf0\x05\x10\x00\x00"
)
tcp_hdr.attach(memoryview(data))
[3]:
byteclass_info(tcp_hdr)
                                                  Byteclass Info                                                   
┏━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Property ┃ Value                                                                                                ┃
┡━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ type()   │ TCPHdr                                                                                               │
│ mro      │ TCPHdr -> object                                                                                     │
│ len()    │ 20                                                                                                   │
│ str()    │ TCPHdr(src_port=UInt16(7875), dst_port=UInt16(2000), seq_number=UInt32(532420306),                   │
│          │ ack_number=UInt32(0), off_flag=OffFlag(data=b'\x80\x02'), window_size=UInt16(64240),                 │
│          │ checksum=UInt16(1296), urgent_pointer=UInt16(0))                                                     │
│ repr()   │ TCPHdr(src_port=UInt16(7875), dst_port=UInt16(2000), seq_number=UInt32(532420306),                   │
│          │ ack_number=UInt32(0), off_flag=OffFlag(data=b'\x80\x02'), window_size=UInt16(64240),                 │
│          │ checksum=UInt16(1296), urgent_pointer=UInt16(0))                                                     │
│ .data    │ bytearray(b'\x1e\xc3\x07\xd0\x1f\xbc\x16\xd2\x00\x00\x00\x00\x80\x02\xfa\xf0\x05\x10\x00\x00')       │
└──────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────┘
[4]:
byteclass_inspect(tcp_hdr)
╭────────────────────────────────────────── Byteclass Inspect ──────────────────────────────────────────╮
│      00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f  │
│ ----------------------------------------------------------------------------------------------------  │
│ 0x0  1e c307 d01f bc 16 d200 00 00 0080 02fa f005 1000 00                                             │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────╯
                         Legend                         
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Member         ┃ Value                               ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ src_port       │ 7875                                │
│ dst_port       │ 2000                                │
│ seq_number     │ 532420306                           │
│ ack_number     │ 0                                   │
│ off_flag       │ OffFlag(0000000101000000, flags=40) │
│ window_size    │ 64240                               │
│ checksum       │ 1296                                │
│ urgent_pointer │ 0                                   │
└────────────────┴─────────────────────────────────────┘
[5]:
collection_table(tcp_hdr)
                                    TCPHdr                                    
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Member         ┃ Value                               ┃ Data                ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ src_port       │ 7875                                │ b'\x1e\xc3'         │
│ dst_port       │ 2000                                │ b'\x07\xd0'         │
│ seq_number     │ 532420306                           │ b'\x1f\xbc\x16\xd2' │
│ ack_number     │ 0                                   │ b'\x00\x00\x00\x00' │
│ off_flag       │ OffFlag(0000000101000000, flags=40) │ b'\x80\x02'         │
│ window_size    │ 64240                               │ b'\xfa\xf0'         │
│ checksum       │ 1296                                │ b'\x05\x10'         │
│ urgent_pointer │ 0                                   │ b'\x00\x00'         │
└────────────────┴─────────────────────────────────────┴─────────────────────┘