packet.transport.tcp - Man Page
TCP module
Description
Decode TCP layer.
RFC Ā 793 TRANSMISSION CONTROL PROTOCOL RFC 2018 TCP Selective Acknowledgment Options RFC 7323 TCP Extensions for High Performance
Classes
class Flags(packet.utils.OptionFlags)
TCP Option flags Methods defined here: --------------------- __str__ = str_flags(self)
class Option(baseobj.BaseObj)
Option object Methods defined here: --------------------- __init__(self, unpack) Constructor which takes an unpack object as input
class Stream(baseobj.BaseObj)
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
class TCP(baseobj.BaseObj)
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. pktt: Packet trace object (packet.pktt.Pktt) so this layer has access to the parent layers. __str__(self) String representation of object The representation depends on the verbose level set by debug_repr(). If set to 0 the generic object representation is returned. If set to 1 the representation of the object is condensed: 'TCP 708 -> 2049, seq: 0xc4592255, ack: 0xca66dda1, ACK,FIN' If set to 2 the representation of the object also includes the length of payload and a little bit more verbose: 'src port 708 -> dst port 2049, seq: 0xc4592255, ack: 0xca66dda1, len: 0, flags: FIN,ACK'
See Also
baseobj(3), packet.application.dns(3), packet.application.krb5(3), packet.application.rpc(3), packet.transport.mpa(3), packet.unpack(3), packet.utils(3)
Bugs
No known bugs.
Author
Jorge Mora (mora@netapp.com)
Referenced By
packet.internet.ipv4(3), packet.internet.ipv6(3).
21 March 2023 NFStest 3.2 tcp 1.7