Provided by: nfstest_3.2-2_all bug

NAME

       packet.transport.tcp - 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)