logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

packet.transport.tcp - TCP module

Author

       Jorge Mora (mora@netapp.com)

NFStest 3.2                                       21 March 2023                                           TCP(3)

Bugs

       No known bugs.

Classes

classFlags(packet.utils.OptionFlags)
       TCP Option flags

       Methodsdefinedhere:
       ---------------------

       __str__=str_flags(self)classOption(baseobj.BaseObj)
       Option object

       Methodsdefinedhere:
       ---------------------

       __init__(self,unpack)
       Constructor which takes an unpack object as input

   classStream(baseobj.BaseObj)
       TCP stream buffer object

       Methodsdefinedhere:
       ---------------------

       __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

   classTCP(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
       )

       Methodsdefinedhere:
       ---------------------

       __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'

Description

       Decode TCP layer.

       RFC   793  TRANSMISSION  CONTROL  PROTOCOL  RFC  2018  TCP  Selective Acknowledgment Options RFC 7323 TCP
       Extensions for High Performance

Name

       packet.transport.tcp - TCP module

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)

See Also