Decode TCP layer.
RFC 793 TRANSMISSION CONTROL PROTOCOL RFC 2018 TCP Selective Acknowledgment Options RFC 7323 TCP Extensions for High Performance
TCP Option flags Methods defined here: --------------------- __str__ = str_flags(self)
Option object Methods defined here: --------------------- __init__(self, unpack) Constructor which takes an unpack object as input
TCP stream buffer object Methods defined here: --------------------- __init__(self, seqno) Constructor Initialize object's private data according to the arguments given. Arguments can be given as positional, named arguments or a combination of both. add_fragment(self, data, seq) Add fragment data to stream buffer missing_fragment(self, seq) Check if given sequence number is within a missing fragment
TCP object Usage: from packet.transport.tcp import TCP x = TCP(pktt) Object definition: TCP( src_port = int, # Source port dst_port = int, # Destination port seq_number = int, # Sequence number ack_number = int, # Acknowledgment number hl = int, # Data offset or header length (32bit words) header_size = int, # Data offset or header length in bytes flags = Flags( # TCP flags: rawflags = int,# Raw flags FIN = int, # No more data from sender SYN = int, # Synchronize sequence numbers RST = int, # Synchronize sequence numbers PSH = int, # Push function. Asks to push the buffered # data to the receiving application ACK = int, # Acknowledgment field is significant URG = int, # Urgent pointer field is significant ECE = int, # ECN-Echo has a dual role: # SYN=1, the TCP peer is ECN capable. # SYN=0, packet with Congestion Experienced # flag in IP header set is received during # normal transmission CWR = int, # Congestion Window Reduced NS = int, # ECN-nonce concealment protection ), window_size = int, # Window size checksum = int, # Checksum urgent_ptr = int, # Urgent pointer seq = int, # Relative sequence number options = list, # List of TCP options psize = int, # Payload data size data = string, # Raw data of payload if unable to decode ) Methods defined here: --------------------- __init__(self, pktt) Constructor Initialize object's private data.