The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Libnet - Perl interface to libnet

SYNOPSIS

This module provides a Perl interface to Libnet, a library that allows the high level creation of network packets. The library contains several utility routines to help with this.

    use Net::Libnet;

    my $l = libnet_init(LIBNET_LINK) || die libnet_error();

    $l->getdevice();  # prints ethernet devive (i.e. eth0)

    my $MACAddr = $l->get_hwaddr() || diag libnet_error();

    print the MAC Address, IP Address, and Hostname
    printf "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n", @$MACAddr;
    my $addr = $l->get_ipaddr4() || die libnet_error();
    print "IP Address:  " . get_ip_from_ipaddr4($addr);
    print "Hostname:  " . get_hostname_from_ipaddr4($addr);
    ...

EXPORT

libnet_init() and libnet_error() are exported by default. Several constants used for the injection type for libnet_init() are exported as well.

EXPORTED FUNCTIONS

$libnet = libnet_init($injection_type [, $device])

This function returns an initialize Net::Libnet::Libnet object. The device is optional. If one is not provided, libnet_init() will choose a device. If errors occur, undef is returned and the error message can be retrieved by calling libnet_error().

$error = libnet_error()

This function returns a string containing the last error message generated.

Net::Libnet::IPv4 FUNCTIONS

$ip_addr_string = $ip->get_ip_addr()

This function will return a dotted ip address as a string from byte-ordered IP address passed in.

$hostname_string = $ip->get_hostname()

This function will return the hostname for the byte-ordered IP address passed in or the dotted ip address as a string if the hostname cannot be resolved.

Net::Libnet::Libnet FUNCTIONS

$device = $l->getdevice()

This function returns the device used by libnet_init().

my $MACAddr = $l->get_hwaddr() || diag libnet_error()

This function returns an array reference containing the integer values for the hardware address (i.e. the MAC address) in separate entries in the array. If errors occur during this function, the error can be retrieved using libnet_error().

my ip = $l->get_ipaddr4

This method returns a Net::Libnet::IPv4 object.

Exportable constants

  ARPHRD_APPLETLK
  ARPHRD_ARCNET
  ARPHRD_ATM
  ARPHRD_AX25
  ARPHRD_CHAOS
  ARPHRD_DLCI
  ARPHRD_EETHER
  ARPHRD_ETHER
  ARPHRD_IEEE802
  ARPHRD_IPSEC
  ARPHRD_LANSTAR
  ARPHRD_METRICOM
  ARPHRD_NETROM
  ARPHRD_PRONET
  ARPOP_INVREPLY
  ARPOP_INVREQUEST
  ARPOP_REPLY
  ARPOP_REQUEST
  ARPOP_REVREPLY
  ARPOP_REVREQUEST
  ASN_APPLICATION
  ASN_BIT8
  ASN_BIT_STR
  ASN_BOOLEAN
  ASN_CONSTRUCTOR
  ASN_CONTEXT
  ASN_EXTENSION_ID
  ASN_INTEGER
  ASN_LONG_LEN
  ASN_NULL
  ASN_OBJECT_ID
  ASN_OCTET_STR
  ASN_PRIMITIVE
  ASN_PRIVATE
  ASN_SEQUENCE
  ASN_SET
  ASN_UNIVERSAL
  CQ_LOCK_READ
  CQ_LOCK_UNLOCKED
  CQ_LOCK_WRITE
  DHCP_MAGIC
  ETHERTYPE_ARP
  ETHERTYPE_EAP
  ETHERTYPE_IP
  ETHERTYPE_LOOPBACK
  ETHERTYPE_MPLS
  ETHERTYPE_PUP
  ETHERTYPE_REVARP
  ETHERTYPE_VLAN
  ETHER_ADDR_LEN
  FDDI_ADDR_LEN
  FDDI_TYPE_ARP
  FDDI_TYPE_IP
  FDDI_TYPE_REVARP
  GRE_ACK
  GRE_APOLLO_DOMAIN
  GRE_CHAOS
  GRE_CSUM
  GRE_DECNET
  GRE_ETHERTALK
  GRE_FLAGS_MASK
  GRE_FRAME_RELAY_ARP
  GRE_IP
  GRE_IP_AUTONOMOUS_SYSTEMS
  GRE_KEY
  GRE_NOVELL_IPX
  GRE_OSI_NETWORK_LAYER
  GRE_PPP
  GRE_PUP
  GRE_RAW_FRAME_RELAY
  GRE_REC
  GRE_RFC_1144_TCP_IP_COMPRESSION
  GRE_RFC_826_ARP
  GRE_ROUTING
  GRE_SECURE_DATA
  GRE_SEQ
  GRE_SNA
  GRE_STRICT
  GRE_TRANSPARENT_ETHERNET_BRIDGING
  GRE_VERSION_0
  GRE_VERSION_1
  GRE_VERSION_MASK
  GRE_VINES
  GRE_VINES_ECHO
  GRE_VINES_LOOPBACK
  GRE_XNS
  ICMP6_ECHO
  ICMP6_ECHOREPLY
  ICMP6_PARAMPROB
  ICMP6_PKTTOOBIG
  ICMP6_TIMXCEED
  ICMP6_UNREACH
  ICMP_ECHO
  ICMP_ECHOREPLY
  ICMP_IREQ
  ICMP_IREQREPLY
  ICMP_MASKREPLY
  ICMP_MASKREQ
  ICMP_PARAMPROB
  ICMP_PARAMPROB_OPTABSENT
  ICMP_REDIRECT
  ICMP_REDIRECT_HOST
  ICMP_REDIRECT_NET
  ICMP_REDIRECT_TOSHOST
  ICMP_REDIRECT_TOSNET
  ICMP_ROUTERADVERT
  ICMP_ROUTERSOLICIT
  ICMP_SOURCEQUENCH
  ICMP_TIMXCEED
  ICMP_TIMXCEED_INTRANS
  ICMP_TIMXCEED_REASS
  ICMP_TSTAMP
  ICMP_TSTAMPREPLY
  ICMP_UNREACH
  ICMP_UNREACH_FILTER_PROHIB
  ICMP_UNREACH_HOST
  ICMP_UNREACH_HOST_PRECEDENCE
  ICMP_UNREACH_HOST_PROHIB
  ICMP_UNREACH_HOST_UNKNOWN
  ICMP_UNREACH_ISOLATED
  ICMP_UNREACH_NEEDFRAG
  ICMP_UNREACH_NET
  ICMP_UNREACH_NET_PROHIB
  ICMP_UNREACH_NET_UNKNOWN
  ICMP_UNREACH_PORT
  ICMP_UNREACH_PRECEDENCE_CUTOFF
  ICMP_UNREACH_PROTOCOL
  ICMP_UNREACH_SRCFAIL
  ICMP_UNREACH_TOSHOST
  ICMP_UNREACH_TOSNET
  IGMP_LEAVE_GROUP
  IGMP_MEMBERSHIP_QUERY
  IGMP_V1_MEMBERSHIP_REPORT
  IGMP_V2_MEMBERSHIP_REPORT
  IPOPT_EOL
  IPOPT_LSRR
  IPOPT_NOP
  IPOPT_RR
  IPOPT_SATID
  IPOPT_SECURITY
  IPOPT_SSRR
  IPOPT_TS
  IPPROTO_AH
  IPPROTO_ESP
  IPPROTO_GRE
  IPPROTO_ICMP6
  IPPROTO_OSPF
  IPPROTO_OSPF_LSA
  IPPROTO_VRRP
  IPTOS_LOWCOST
  IPTOS_LOWDELAY
  IPTOS_RELIABILITY
  IPTOS_THROUGHPUT
  IP_DF
  IP_MAXPACKET
  IP_MF
  IP_OFFMASK
  IP_RF
  LIBNET_802_1Q_CFIMASK
  LIBNET_802_1Q_H
  LIBNET_802_1Q_PRIMASK
  LIBNET_802_1Q_VIDMASK
  LIBNET_802_1X_ENCASFAL
  LIBNET_802_1X_H
  LIBNET_802_1X_KEY
  LIBNET_802_1X_LOGOFF
  LIBNET_802_1X_PACKET
  LIBNET_802_1X_START
  LIBNET_802_2SNAP_H
  LIBNET_802_2_H
  LIBNET_802_3_H
  LIBNET_ADV_MASK
  LIBNET_ARP_ETH_IP_H
  LIBNET_ARP_H
  LIBNET_AS_E_BIT_ON
  LIBNET_BGP4_AUTHENTICATION_FAILURE
  LIBNET_BGP4_BAD_BGP_IDENTIFIER
  LIBNET_BGP4_BAD_MESSAGE_LENGTH
  LIBNET_BGP4_BAD_MESSAGE_TYPE
  LIBNET_BGP4_BAD_PEER_AS
  LIBNET_BGP4_CEASE
  LIBNET_BGP4_CONNECTION_NOT_SYNCHRONIZED
  LIBNET_BGP4_FINITE_STATE__ERROR
  LIBNET_BGP4_HEADER_H
  LIBNET_BGP4_HOLD_TIMER_EXPIRED
  LIBNET_BGP4_KEEPALIVE
  LIBNET_BGP4_MARKER_SIZE
  LIBNET_BGP4_MESSAGE_HEADER_ERROR
  LIBNET_BGP4_NOTIFICATION
  LIBNET_BGP4_NOTIFICATION_H
  LIBNET_BGP4_OPEN
  LIBNET_BGP4_OPEN_H
  LIBNET_BGP4_OPEN_MESSAGE_ERROR
  LIBNET_BGP4_UNACCEPTABLE_HOLD_TIME
  LIBNET_BGP4_UNSUPPORTED_OPTIONAL_PARAMETER
  LIBNET_BGP4_UNSUPPORTED_VERSION_NUMBER
  LIBNET_BGP4_UPDATE
  LIBNET_BGP4_UPDATE_H
  LIBNET_BGP4_UPDATE_MESSAGE_ERROR
  LIBNET_BOOTP_MIN_LEN
  LIBNET_CDP_ADDRESS
  LIBNET_CDP_CAPABIL
  LIBNET_CDP_CAP_L1F
  LIBNET_CDP_CAP_L2B
  LIBNET_CDP_CAP_L2S
  LIBNET_CDP_CAP_L2SRB
  LIBNET_CDP_CAP_L3R
  LIBNET_CDP_CAP_NOI
  LIBNET_CDP_CAP_SR
  LIBNET_CDP_DEVID
  LIBNET_CDP_H
  LIBNET_CDP_IPPREFIX
  LIBNET_CDP_PLATFORM
  LIBNET_CDP_PORTID
  LIBNET_CDP_VERSION
  LIBNET_DBD_IBI
  LIBNET_DBD_MBIT
  LIBNET_DBD_MSBIT
  LIBNET_DHCPV4_H
  LIBNET_DHCP_ARPTIMEOUT
  LIBNET_DHCP_BOOTFILESIZE
  LIBNET_DHCP_BROADCASTADDR
  LIBNET_DHCP_CLASSSID
  LIBNET_DHCP_CLIENTID
  LIBNET_DHCP_COOKIESERV
  LIBNET_DHCP_DISCOVERADDR
  LIBNET_DHCP_DNS
  LIBNET_DHCP_DOMAINNAME
  LIBNET_DHCP_DOMASKDISCOV
  LIBNET_DHCP_DOROUTEDISC
  LIBNET_DHCP_DUMPFILE
  LIBNET_DHCP_END
  LIBNET_DHCP_ETHERENCAP
  LIBNET_DHCP_EXTENPATH
  LIBNET_DHCP_FINGERSERVER
  LIBNET_DHCP_HOSTNAME
  LIBNET_DHCP_IMPSERV
  LIBNET_DHCP_IPFORWARD
  LIBNET_DHCP_IPTTL
  LIBNET_DHCP_IRCSERVER
  LIBNET_DHCP_LEASETIME
  LIBNET_DHCP_LOCALSUBNETS
  LIBNET_DHCP_LOGSERV
  LIBNET_DHCP_LPRSERV
  LIBNET_DHCP_MASKSUPPLY
  LIBNET_DHCP_MAXASMSIZE
  LIBNET_DHCP_MAXMSGSIZE
  LIBNET_DHCP_MESSAGE
  LIBNET_DHCP_MESSAGETYPE
  LIBNET_DHCP_MOBILEIPAGENT
  LIBNET_DHCP_MSGACK
  LIBNET_DHCP_MSGDECLINE
  LIBNET_DHCP_MSGDISCOVER
  LIBNET_DHCP_MSGINFORM
  LIBNET_DHCP_MSGNACK
  LIBNET_DHCP_MSGOFFER
  LIBNET_DHCP_MSGRELEASE
  LIBNET_DHCP_MSGREQUEST
  LIBNET_DHCP_MTUSIZE
  LIBNET_DHCP_MTUTABLE
  LIBNET_DHCP_MTUTIMEOUT
  LIBNET_DHCP_NAMESERVER
  LIBNET_DHCP_NBDD
  LIBNET_DHCP_NBNS
  LIBNET_DHCP_NBTCPIP
  LIBNET_DHCP_NBTCPSCOPE
  LIBNET_DHCP_NISDOMAIN
  LIBNET_DHCP_NISPLUSDOMAIN
  LIBNET_DHCP_NISPLUSSERVERS
  LIBNET_DHCP_NISSERVERS
  LIBNET_DHCP_NISTIMESERV
  LIBNET_DHCP_NNTPSERVER
  LIBNET_DHCP_OPTIONOVERLOAD
  LIBNET_DHCP_PAD
  LIBNET_DHCP_PARAMREQUEST
  LIBNET_DHCP_POLICYFILTER
  LIBNET_DHCP_POP3SERVER
  LIBNET_DHCP_REBINDTIME
  LIBNET_DHCP_RENEWTIME
  LIBNET_DHCP_REPLY
  LIBNET_DHCP_REQUEST
  LIBNET_DHCP_RESSERV
  LIBNET_DHCP_ROOTPATH
  LIBNET_DHCP_ROUTER
  LIBNET_DHCP_ROUTERSOLICIT
  LIBNET_DHCP_SERVIDENT
  LIBNET_DHCP_SMTPSERVER
  LIBNET_DHCP_SRCROUTE
  LIBNET_DHCP_STATICROUTE
  LIBNET_DHCP_STDASERVER
  LIBNET_DHCP_STSERVER
  LIBNET_DHCP_SUBNETMASK
  LIBNET_DHCP_SWAPSERV
  LIBNET_DHCP_TCPALIVEGARBAGE
  LIBNET_DHCP_TCPKEEPALIVE
  LIBNET_DHCP_TCPTTL
  LIBNET_DHCP_TIMEOFFSET
  LIBNET_DHCP_TIMESERVER
  LIBNET_DHCP_TRAILERENCAP
  LIBNET_DHCP_VENDSPECIFIC
  LIBNET_DHCP_WWWSERVER
  LIBNET_DHCP_XDISPLAYMGR
  LIBNET_DHCP_XFONT
  LIBNET_DNS_H
  LIBNET_DONT_RESOLVE
  LIBNET_ERRBUF_SIZE
  LIBNET_ETH_H
  LIBNET_FDDI_48BIT_ADDR
  LIBNET_FDDI_FC_REQD
  LIBNET_FDDI_H
  LIBNET_FDDI_LLC_FRAME
  LIBNET_GRE_H
  LIBNET_GRE_SRE_H
  LIBNET_ICMPV4_ECHO_H
  LIBNET_ICMPV4_H
  LIBNET_ICMPV4_MASK_H
  LIBNET_ICMPV4_REDIRECT_H
  LIBNET_ICMPV4_TIMXCEED_H
  LIBNET_ICMPV4_TS_H
  LIBNET_ICMPV4_UNREACH_H
  LIBNET_ICMPV6_H
  LIBNET_IGMP_H
  LIBNET_IPSEC_AH_H
  LIBNET_IPSEC_ESP_FTR_H
  LIBNET_IPSEC_ESP_HDR_H
  LIBNET_IPV4_H
  LIBNET_IPV6_DESTOPTS_H
  LIBNET_IPV6_FRAG_H
  LIBNET_IPV6_H
  LIBNET_IPV6_HBHOPTS_H
  LIBNET_IPV6_NH_DESTOPTS
  LIBNET_IPV6_NH_FRAGMENT
  LIBNET_IPV6_NH_HBH
  LIBNET_IPV6_NH_ROUTING
  LIBNET_IPV6_ROUTING_H
  LIBNET_ISL_H
  LIBNET_LABEL_SIZE
  LIBNET_LIL_ENDIAN
  LIBNET_LINK
  LIBNET_LINK_ADV
  LIBNET_LINK_ID_IP_DES
  LIBNET_LINK_ID_NBR_ID
  LIBNET_LINK_ID_SUB
  LIBNET_LS_TYPE_ASBR
  LIBNET_LS_TYPE_ASEXT
  LIBNET_LS_TYPE_IP
  LIBNET_LS_TYPE_NET
  LIBNET_LS_TYPE_RTR
  LIBNET_MAXOPTION_SIZE
  LIBNET_MAX_PACKET
  LIBNET_MODX
  LIBNET_MPLS_BOS_OFF
  LIBNET_MPLS_BOS_ON
  LIBNET_MPLS_H
  LIBNET_NTP_H
  LIBNET_NTP_LI_AC
  LIBNET_NTP_LI_AS
  LIBNET_NTP_LI_DS
  LIBNET_NTP_LI_NW
  LIBNET_NTP_MODE_A
  LIBNET_NTP_MODE_B
  LIBNET_NTP_MODE_C
  LIBNET_NTP_MODE_P
  LIBNET_NTP_MODE_R
  LIBNET_NTP_MODE_RC
  LIBNET_NTP_MODE_RP
  LIBNET_NTP_MODE_S
  LIBNET_NTP_REF_ACTS
  LIBNET_NTP_REF_CHU
  LIBNET_NTP_REF_DCF
  LIBNET_NTP_REF_GOES
  LIBNET_NTP_REF_GPS
  LIBNET_NTP_REF_LOCAL
  LIBNET_NTP_REF_LORC
  LIBNET_NTP_REF_MSF
  LIBNET_NTP_REF_OMEG
  LIBNET_NTP_REF_PPS
  LIBNET_NTP_REF_PTB
  LIBNET_NTP_REF_TDF
  LIBNET_NTP_REF_USNO
  LIBNET_NTP_REF_WWV
  LIBNET_NTP_REF_WWVB
  LIBNET_NTP_REF_WWVH
  LIBNET_NTP_STRATUM_PRIMARY
  LIBNET_NTP_STRATUM_UNAVAIL
  LIBNET_NTP_VN_2
  LIBNET_NTP_VN_3
  LIBNET_NTP_VN_4
  LIBNET_OFF
  LIBNET_ON
  LIBNET_OPT_DCBIT
  LIBNET_OPT_EABIT
  LIBNET_OPT_EBIT
  LIBNET_OPT_MCBIT
  LIBNET_OPT_NPBIT
  LIBNET_ORG_CODE_SIZE
  LIBNET_OSPF_AUTH_H
  LIBNET_OSPF_AUTH_MD5
  LIBNET_OSPF_AUTH_NULL
  LIBNET_OSPF_AUTH_SIMPLE
  LIBNET_OSPF_CKSUM
  LIBNET_OSPF_DBD
  LIBNET_OSPF_DBD_H
  LIBNET_OSPF_H
  LIBNET_OSPF_HELLO
  LIBNET_OSPF_HELLO_H
  LIBNET_OSPF_LSA
  LIBNET_OSPF_LSA_H
  LIBNET_OSPF_LSR
  LIBNET_OSPF_LSR_H
  LIBNET_OSPF_LSU
  LIBNET_OSPF_LSU_H
  LIBNET_OSPF_LS_AS_EXT_H
  LIBNET_OSPF_LS_NET_H
  LIBNET_OSPF_LS_RTR_H
  LIBNET_OSPF_LS_SUM_H
  LIBNET_OSPF_UMD
  LIBNET_PBLOCK_802_1Q_H
  LIBNET_PBLOCK_802_1X_H
  LIBNET_PBLOCK_802_2SNAP_H
  LIBNET_PBLOCK_802_2_H
  LIBNET_PBLOCK_802_3_H
  LIBNET_PBLOCK_ARP_H
  LIBNET_PBLOCK_BGP4_HEADER_H
  LIBNET_PBLOCK_BGP4_NOTIFICATION_H
  LIBNET_PBLOCK_BGP4_OPEN_H
  LIBNET_PBLOCK_BGP4_UPDATE_H
  LIBNET_PBLOCK_CDP_H
  LIBNET_PBLOCK_DATA_H
  LIBNET_PBLOCK_DHCPV4_H
  LIBNET_PBLOCK_DNSV4_H
  LIBNET_PBLOCK_DO_CHECKSUM
  LIBNET_PBLOCK_ETH_H
  LIBNET_PBLOCK_FDDI_H
  LIBNET_PBLOCK_GRE_H
  LIBNET_PBLOCK_GRE_SRE_H
  LIBNET_PBLOCK_ICMPV4_ECHO_H
  LIBNET_PBLOCK_ICMPV4_H
  LIBNET_PBLOCK_ICMPV4_MASK_H
  LIBNET_PBLOCK_ICMPV4_REDIRECT_H
  LIBNET_PBLOCK_ICMPV4_TIMXCEED_H
  LIBNET_PBLOCK_ICMPV4_TS_H
  LIBNET_PBLOCK_ICMPV4_UNREACH_H
  LIBNET_PBLOCK_IGMP_H
  LIBNET_PBLOCK_IPDATA
  LIBNET_PBLOCK_IPO_H
  LIBNET_PBLOCK_IPSEC_AH_H
  LIBNET_PBLOCK_IPSEC_ESP_FTR_H
  LIBNET_PBLOCK_IPSEC_ESP_HDR_H
  LIBNET_PBLOCK_IPV4_H
  LIBNET_PBLOCK_IPV6_DESTOPTS_H
  LIBNET_PBLOCK_IPV6_FRAG_H
  LIBNET_PBLOCK_IPV6_H
  LIBNET_PBLOCK_IPV6_HBHOPTS_H
  LIBNET_PBLOCK_IPV6_ROUTING_H
  LIBNET_PBLOCK_ISL_H
  LIBNET_PBLOCK_LS_AS_EXT_H
  LIBNET_PBLOCK_LS_NET_H
  LIBNET_PBLOCK_LS_RTR_H
  LIBNET_PBLOCK_LS_SUM_H
  LIBNET_PBLOCK_MPLS_H
  LIBNET_PBLOCK_NTP_H
  LIBNET_PBLOCK_OSPF_AUTH_H
  LIBNET_PBLOCK_OSPF_CKSUM
  LIBNET_PBLOCK_OSPF_DBD_H
  LIBNET_PBLOCK_OSPF_H
  LIBNET_PBLOCK_OSPF_HELLO_H
  LIBNET_PBLOCK_OSPF_LSA_H
  LIBNET_PBLOCK_OSPF_LSR_H
  LIBNET_PBLOCK_OSPF_LSU_H
  LIBNET_PBLOCK_RIP_H
  LIBNET_PBLOCK_RPC_CALL_H
  LIBNET_PBLOCK_SEBEK_H
  LIBNET_PBLOCK_STP_CONF_H
  LIBNET_PBLOCK_STP_TCN_H
  LIBNET_PBLOCK_TCPDATA
  LIBNET_PBLOCK_TCPO_H
  LIBNET_PBLOCK_TCP_H
  LIBNET_PBLOCK_TOKEN_RING_H
  LIBNET_PBLOCK_UDP_H
  LIBNET_PBLOCK_VRRP_H
  LIBNET_PMAP_PROC_BCAST
  LIBNET_PMAP_PROC_CALLIT
  LIBNET_PMAP_PROC_DUMP
  LIBNET_PMAP_PROC_GETADDR
  LIBNET_PMAP_PROC_GETADDRLIST
  LIBNET_PMAP_PROC_GETSTAT
  LIBNET_PMAP_PROC_GETTIME
  LIBNET_PMAP_PROC_GETVERSADDR
  LIBNET_PMAP_PROC_INDIRECT
  LIBNET_PMAP_PROC_NULL
  LIBNET_PMAP_PROC_SET
  LIBNET_PMAP_PROC_TADDR2UADDR
  LIBNET_PMAP_PROC_UADDR2TADDR
  LIBNET_PMAP_PROC_UNSET
  LIBNET_PMAP_PROGRAM
  LIBNET_PR16
  LIBNET_PR2
  LIBNET_PR32
  LIBNET_PR8
  LIBNET_PRAND_MAX
  LIBNET_PROTO_CDP
  LIBNET_PROTO_ISL
  LIBNET_PRu16
  LIBNET_PRu32
  LIBNET_PTAG_INITIALIZER
  LIBNET_RAW4
  LIBNET_RAW4_ADV
  LIBNET_RAW6
  LIBNET_RAW6_ADV
  LIBNET_RESOLVE
  LIBNET_RIP_H
  LIBNET_RPC_CALL
  LIBNET_RPC_CALL_H
  LIBNET_RPC_CALL_TCP_H
  LIBNET_RPC_LAST_FRAG
  LIBNET_RPC_REPLY
  LIBNET_RPC_VERS
  LIBNET_RTR_FLAGS_B
  LIBNET_RTR_FLAGS_E
  LIBNET_RTR_FLAGS_W
  LIBNET_RTR_TYPE_PTP
  LIBNET_RTR_TYPE_STUB
  LIBNET_RTR_TYPE_TRANS
  LIBNET_SAP_SNAP
  LIBNET_SAP_STP
  LIBNET_SEBEK_H
  LIBNET_STP_CONF_H
  LIBNET_STP_TCN_H
  LIBNET_TCP_DNSV4_H
  LIBNET_TCP_H
  LIBNET_TOKEN_RING_FRAME
  LIBNET_TOKEN_RING_H
  LIBNET_TOKEN_RING_LLC_FRAME
  LIBNET_UDP_DNSV4_H
  LIBNET_UDP_H
  LIBNET_VRRP_AUTH_IPAH
  LIBNET_VRRP_AUTH_NONE
  LIBNET_VRRP_AUTH_PASSWD
  LIBNET_VRRP_H
  LIBNET_VRRP_TYPE_ADVERT
  LIBNET_VRRP_VERSION_01
  LIBNET_VRRP_VERSION_02
  MAX_OID_LEN
  MAX_SUBID
  OSPFVERSION
  RIPCMD_MAX
  RIPCMD_POLL
  RIPCMD_POLLENTRY
  RIPCMD_REQUEST
  RIPCMD_RESPONSE
  RIPCMD_TRACEOFF
  RIPCMD_TRACEON
  RIPVER_0
  RIPVER_1
  RIPVER_2
  RTR_TYPE_VRTL
  SEBEK_CMD_LENGTH
  SEBEK_PROTO_VERSION
  SEBEK_TYPE_READ
  SEBEK_TYPE_WRITE
  TH_ACK
  TH_CWR
  TH_ECE
  TH_FIN
  TH_PUSH
  TH_RST
  TH_SYN
  TH_URG
  TOKEN_RING_ADDR_LEN
  TOKEN_RING_TYPE_ARP
  TOKEN_RING_TYPE_IP
  TOKEN_RING_TYPE_REVARP

NOTES

The current release is the first release of this module, and it is a very incomplete implementation. I'm working under the "Release Early and Often" philosophy. If part of Libnet that you need is missing and you'd like to see earlier, let me know and I'll bump that up the list.

Also, most Libnet functions can only be run by root users. This includes the test scripts used to test this module.

AUTHOR

Steve Peters, <steve@fisharerojo.org>

BUGS

Please report any bugs or feature requests to bug-net-libnet@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

ACKNOWLEDGEMENTS

Libnet|http://www.packetfactory.net/libnet/

COPYRIGHT AND LICENSE

Copyright (C) 2004-2007 by Steve Peters

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.