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'         │
└────────────────┴─────────────────────────────────────┴─────────────────────┘