NetPacket::TCP is a Perl module to assemble and disassemble TCP (Transmission Control Protocol) packets.
$tcp_obj = NetPacket::TCP->decode($raw_pkt);
$tcp_pkt = NetPacket::TCP->encode($ip_pkt);
$tcp_data = NetPacket::TCP::strip($raw_pkt);
NetPacket::TCP provides a set of routines for assembling and disassembling packets using TCP (Transmission Control Protocol).
Decode the raw packet data given and return an object containing instance data. This method will quite happily decode garbage input. It is the responsibility of the programmer to ensure valid packet data is passed to this method.
Return a TCP packet encoded with the instance data specified. Needs parts of the ip header contained in $ip_obj in order to calculate the TCP checksum.
Return the encapsulated data (or payload) contained in the TCP packet. This data is suitable to be used as input for other NetPacket::* modules.
This function is equivalent to creating an object using the decode() constructor and returning the data field of that object.
The instance data for the NetPacket::TCP object consists of the following fields.
The source TCP port for the packet.
The destination TCP port for the packet.
The TCP sequence number for this packet.
The TCP acknowledgement number for this packet.
The header length for this packet.
The 6-bit "reserved" space in the TCP header.
Contains the urg, ack, psh, rst, syn, fin, ece and cwr flags for this packet.
The TCP window size for this packet.
The TCP checksum.
The TCP urgent pointer.
Any TCP options for this packet in binary form.
The encapsulated data (payload) for this packet.