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

FreeBSD Manual Pages

  
 
  

home | help
Net::Frame::Layer::TCPUser Contributed Perl DocumentaNet::Frame::Layer::TCP(3)

NAME
       Net::Frame::Layer::TCP -	Transmission Control Protocol layer object

SYNOPSIS
	  use Net::Frame::Layer::TCP qw(:consts);

	  # Build a layer
	  my $layer = Net::Frame::Layer::TCP->new(
	     src      => getRandomHighPort(),
	     dst      => 0,
	     seq      => getRandom32bitsInt(),
	     ack      => 0,
	     x2	      => 0,
	     off      => 0,
	     flags    => NF_TCP_FLAGS_SYN,
	     win      => 0xffff,
	     checksum => 0,
	     urp      => 0,
	     options  => '',
	  );
	  $layer->pack;

	  print	'RAW: '.$layer->dump."\n";

	  # Read a raw layer
	  my $layer = Net::Frame::Layer::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::Frame::Layer 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.

       The following are inherited attributes. See Net::Frame::Layer for more
       information.

       raw
       payload
       nextLayer

METHODS
       new
       new (hash)
	   Object constructor. You can pass attributes that will overwrite
	   default ones. See SYNOPSIS for default values.

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

       getOptionsLength
	   Returns options length in bytes.

       computeLengths
	   Computes various lengths contained within this layer.

       computeChecksums	({ type	=> PROTO, src => IP, dst => IP })
	   In order to compute checksums of TCP, you need to pass the protocol
	   type	(IPv4, IPv6), the source and destination IP addresses (IPv4
	   for IPv4, IPv6 for IPv6).

       getKey
       getKeyReverse
	   These two methods are basically used	to increase the	speed when
	   using recv method from Net::Frame::Simple. Usually, you write them
	   when	you need to write match	method.

       match (Net::Frame::Layer::TCP object)
	   This	method is mostly used internally. You pass a
	   Net::Frame::Layer::TCP layer	as a parameter,	and it returns true if
	   this	is a response corresponding for	the request, or	returns	false
	   if not.

       The following are inherited methods. Some of them may be	overridden in
       this layer, and some others may not be meaningful in this layer.	See
       Net::Frame::Layer for more information.

       layer
       computeLengths
       computeChecksums
       pack
       unpack
       encapsulate
       getLength
       getPayloadLength
       print
       dump

CONSTANTS
       Load them: use Net::Frame::Layer::TCP qw(:consts);

       NF_TCP_FLAGS_FIN
       NF_TCP_FLAGS_SYN
       NF_TCP_FLAGS_RST
       NF_TCP_FLAGS_PSH
       NF_TCP_FLAGS_ACK
       NF_TCP_FLAGS_URG
       NF_TCP_FLAGS_ECE
       NF_TCP_FLAGS_CWR
	   TCP flags constants.

SEE ALSO
       Net::Frame::Layer

AUTHOR
       Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
       Copyright (c) 2006-2019,	Patrice	<GomoR>	Auffret

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

perl v5.32.1			  2019-05-23	     Net::Frame::Layer::TCP(3)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | METHODS | CONSTANTS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

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

home | help