NetPacket::IP man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

NetPacket::IP(3)      User Contributed Perl Documentation     NetPacket::IP(3)

NAME
       NetPacket::IP - Assemble and disassemble IP (Internet Protocol)
       packets.

VERSION
       version 1.3.0

SYNOPSIS
	 use NetPacket::IP;

	 $ip_obj = NetPacket::IP->decode($raw_pkt);
	 $ip_pkt = NetPacket::IP->encode($ip_obj);
	 $ip_data = NetPacket::IP::strip($raw_pkt);

DESCRIPTION
       "NetPacket::IP" provides a set of routines for assembling and
       disassembling packets using IP (Internet Protocol).

   Methods
       "NetPacket::IP->decode([RAW PACKET])"
	   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.

       "NetPacket::IP->encode()"
	   Return an IP packet encoded with the instance data specified. This
	   will infer the total length of the packet automatically from the
	   payload length and also adjust the checksum.

   Functions
       "NetPacket::IP::strip([RAW PACKET])"
	   Return the encapsulated data (or payload) contained in the IP
	   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.

   Instance data
       The instance data for the "NetPacket::IP" object consists of the
       following fields.

       ver The IP version number of this packet.

       hlen
	   The IP header length of this packet.

       flags
	   The IP header flags for this packet.

       foffset
	   The IP fragment offset for this packet.

       tos The type-of-service for this IP packet.

       len The length (including length of header) in bytes for this packet.

       id  The identification (sequence) number for this IP packet.

       ttl The time-to-live value for this packet.

       proto
	   The IP protocol number for this packet.

       cksum
	   The IP checksum value for this packet.

       src_ip
	   The source IP address for this packet in dotted-quad notation.

       dest_ip
	   The destination IP address for this packet in dotted-quad notation.

       options
	   Any IP options for this packet.

       data
	   The encapsulated data (payload) for this IP packet.

   Exports
       default
	   none

       exportable
	   IP_PROTO_IP IP_PROTO_ICMP IP_PROTO_IGMP IP_PROTO_IPIP IP_PROTO_TCP
	   IP_PROTO_UDP IP_VERSION_IPv4

       tags
	   The following tags group together related exportable items.

	   ":protos"
	       IP_PROTO_IP IP_PROTO_ICMP IP_PROTO_IGMP IP_PROTO_IPIP
	       IP_PROTO_TCP IP_PROTO_UDP

	   ":versions"
	       IP_VERSION_IPv4

	   ":strip"
	       Import the strip function "ip_strip".

	   ":ALL"
	       All the above exportable items.

EXAMPLE
       The following script dumps IP frames by IP address and protocol to
       standard output.

	 #!/usr/bin/perl -w

	 use strict;
	 use Net::PcapUtils;
	 use NetPacket::Ethernet qw(:strip);
	 use NetPacket::IP;

	 sub process_pkt {
	     my ($user, $hdr, $pkt) = @_;

	     my $ip_obj = NetPacket::IP->decode(eth_strip($pkt));
	     print("$ip_obj->{src_ip}:$ip_obj->{dest_ip} $ip_obj->{proto}\n");
	 }

	 Net::PcapUtils::loop(\&process_pkt, FILTER => 'ip');

TODO
       IP option decoding - currently stored in binary form.
       Assembly of received fragments

COPYRIGHT
       Copyright (c) 2001 Tim Potter and Stephanie Wehner.

       Copyright (c) 1995,1996,1997,1998,1999 ANU and CSIRO on behalf of the
       participants in the CRC for Advanced Computational Systems ('ACSys').

       This module is free software.  You can redistribute it and/or modify it
       under the terms of the Artistic License 2.0.

       This program is distributed in the hope that it will be useful, but
       without any warranty; without even the implied warranty of
       merchantability or fitness for a particular purpose.

AUTHOR
       Tim Potter <tpot@samba.org>

       Stephanie Wehner <atrak@itsx.com>

perl v5.14.2			  2011-11-14		      NetPacket::IP(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net