Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::Packet::TCP(3)   User Contributed Perl Documentation  Net::Packet::TCP(3)

NAME
       Net::Packet::TCP	- Transmission Control Protocol	layer 4	object

SYNOPSIS
	  use Net::Packet::Consts qw(:tcp);
	  require Net::Packet::TCP;

	  #A Build a layer
	  my $layer = Net::Packet::TCP->new(
	     dst     =>	22,
	     options =>	"\x02\x04\x05\xb4", #A MSS=1460
	  );
	  $layer->pack;

	  print	'RAW: '.unpack('H*', $layer->raw)."\n";

	  # Read a raw layer
	  my $layer = Net::Packet::TCP->new(raw	=> $raw);

	  print	$layer->print."\n";
	  print	'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
	     if	$layer->payload;

DESCRIPTION
       This modules implements the encoding and	decoding of the	TCP layer.

       RFC: ftp://ftp.rfc-editor.org/in-notes/rfc793.txt

       See also	Net::Packet::Layer and Net::Packet::Layer4 for other
       attributes and methods.

ATTRIBUTES
       src
       dst Source and destination ports.

       flags
	   TCP flags, see CONSTANTS.

       win The window size.

       seq
       ack Sequence and	acknowledgment numbers.

       off The size in number of words of the TCP header.

       x2  Reserved field.

       checksum
	   The TCP header checksum.

       urp Urgent pointer.

       options
	   TCP options,	as a hexadecimal string.

METHODS
       new Object constructor. You can pass attributes that will overwrite
	   default ones. Default values:

	   src:	     getRandomHighPort()

	   dst:	     0

	   seq:	     getRandom32bitsInt()

	   ack:	     0

	   x2:	     0

	   off:	     0

	   flags:    NP_TCP_FLAG_SYN

	   win:	     0xffff

	   checksum: 0

	   urp:	     0

	   options:  ""

       recv
	   Will	search for a matching replies in framesSorted or frames	from a
	   Net::Packet::Dump object.

       pack
	   Packs all attributes	into a raw format, in order to inject to
	   network. Returns 1 on success, undef	otherwise.

       unpack
	   Unpacks raw data from network and stores attributes into the
	   object. Returns 1 on	success, undef otherwise.

       getHeaderLength
	   Returns the header length in	bytes, not including TCP options.

       getOptionsLength
	   Returns options length in bytes.

       haveFlagFin
       haveFlagSyn
       haveFlagRst
       haveFlagPsh
       haveFlagAck
       haveFlagUrg
       haveFlagEce
       haveFlagCwr
	   Returns 1 if	the specified TCP flag is set in flags attribute, 0
	   otherwise.

CONSTANTS
       Load them: use Net::Packet::Consts qw(:tcp);

       NP_TCP_FLAG_FIN
       NP_TCP_FLAG_SYN
       NP_TCP_FLAG_RST
       NP_TCP_FLAG_PSH
       NP_TCP_FLAG_ACK
       NP_TCP_FLAG_URG
       NP_TCP_FLAG_ECE
       NP_TCP_FLAG_CWR
	   TCP flag constants.

AUTHOR
       Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
       Copyright (c) 2004-2009,	Patrice	<GomoR>	Auffret

       You may distribute this module under the	terms of the Artistic license.
       See LICENSE.Artistic file in the	source distribution archive.

RELATED	MODULES
       NetPacket, Net::RawIP, Net::RawSock

POD ERRORS
       Hey! The	above document had some	coding errors, which are explained
       below:

       Around line 309:
	   Non-ASCII character seen before =encoding in	'#A Build'. Assuming
	   CP1252

perl v5.32.1			  2009-11-09		   Net::Packet::TCP(3)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | METHODS | CONSTANTS | AUTHOR | COPYRIGHT AND LICENSE | RELATED MODULES | POD ERRORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::Packet::TCP&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help