| TCP(3) | tcp 1.7 | TCP(3) |
packet.transport.tcp - TCP module
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.
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'
baseobj(3), packet.application.dns(3), packet.application.krb5(3), packet.application.rpc(3), packet.transport.mpa(3), packet.unpack(3), packet.utils(3)
No known bugs.
Jorge Mora (mora@netapp.com)
| 21 March 2023 | NFStest 3.2 |