NAME

Net::Nmsg::Util - Perl extension for the NMSG message interchange library

SYNOPSIS

  # Provide access to constants, data types, and various utility
  # functions in, or relating to, the nmsg library

  use Net::Nmsg::Util qw(
    :all
    :buffer
    :field
    :iface
    :io
    :result
    :sniff
    :vendor
    :channel
    :alias
    DEBUG
  );

DESCRIPTION

Net::Nmsg::Util exposes constants, data types, and functions of libnmsg. These are primarily intended for development purposes rather than typical usage.

EXPORTED CONSTANTS AND FUNCTIONS

Functions and constants being individually exportable. To export everything, use ':all'. The following tag groups are also available:

Tag group :channel

is_channel($channel)
channel_lookup($channel)

Tag group :alias

  NMSG_ALIAS_OPERATOR
  NMSG_ALIAS_GROUP

  alias_by_key($key)
  alias_by_value($val)
  operator_lookup($name_or_val)
  group_lookup($name_or_val)

Tag group :sniff

  is_nmsg_file($name)
  is_pcap_file($name)
  is_interface($name)
  is_socket($handle)
  is_file($handle_or_name)
  is_filehandle($handle)
  is_channel($channel)
  expand_socket_spec($spec)

Tag group :vendor

  vendor_lookup($vendor_name_or_id)
  message_lookup($msg_type_or_id)
  mv_lookup($vendor_name_or_id, $msg_type_or_id)
  vendors()

  get_max_vid()
  get_max_msgtype($vid)
  mname_to_msgtype($vid, $name)
  msgtype_to_mname($vid, $msgtype)
  vname_to_vid($name)
  vid_to_vname($vid)

Tag group :iface

Note that some of these, such as interfaces(), rely upon libpcap(3). As such, root privileges are likely necessary for them to be useful.

  is_interface($name)
  interfaces()
  interface_descriptions()
  interface_detection_error()

Tag group :buffer

  NMSG_WBUFSZ_ETHER
  NMSG_WBUFSZ_JUMBO
  NMSG_WBUFSZ_MAX
  NMSG_WBUFSZ_MIN

Tag group :field

  NMSG_FT_ENUM
  NMSG_FT_BYTES
  NMSG_FT_STRING
  NMSG_FT_MLSTRING
  NMSG_FT_IP
  NMSG_FT_UINT16
  NMSG_FT_UINT32
  NMSG_FT_UINT64
  NMSG_FT_INT16
  NMSG_FT_INT32
  NMSG_FT_INT64
  NMSG_FT_DOUBLE
  NMSG_FT_BOOL

  NMSG_FF_REPEATED
  NMSG_FF_REQUIRED
  NMSG_FF_NOPRINT
  NMSG_FF_HIDDEN

  field_types()
  field_flags()

Tag group :io

  NMSG_INPUT_TYPE
  NMSG_OUTPUT_TYPE

  NMSG_OUTPUT_TYPE_STREAM
  NMSG_OUTPUT_TYPE_PRES
  NMSG_OUTPUT_TYPE_CALLBACK

  NMSG_INPUT_TYPE_STREAM
  NMSG_INPUT_TYPE_PRES
  NMSG_INPUT_TYPE_PCAP

  NMSG_OUTPUT_MODE_STRIPE
  NMSG_OUTPUT_MODE_MIRROR

  NMSG_CLOSE_TYPE_EOF
  NMSG_CLOSE_TYPE_COUNT
  NMSG_CLOSE_TYPE_INTERVAL

  NMSG_DEFAULT_SNAPLEN
  NMSG_DEFAULT_PROMISC

  NMSG_DEFAULT_SO_FREQ
  NMSG_DEFAULT_SO_RATE
  NMSG_DEFAULT_SO_SNDBUF
  NMSG_DEFAULT_SO_RCVBUF

  NMSG_PORT_MAXRANGE

Tag group :result

  NMSG_RES_SUCCESS
  NMSG_RES_FAILURE
  NMSG_RES_EOF
  NMSG_RES_MEMFAIL
  NMSG_RES_MAGIC_MISMATCH
  NMSG_RES_VERSION_MISMATCH
  NMSG_RES_PBUF_READY
  NMSG_RES_NOTIMPL
  NMSG_RES_STOP
  NMSG_RES_AGAIN
  NMSG_RES_PARSE_ERROR
  NMSG_RES_PCAP_ERROR
  NMSG_RES_READ_FAILURE

  lookup_result($result_id)

SEE ALSO

Net::Nmsg, Net::Nmsg::IO, Net::Nmsg::Input, Net::Nmsg::Output, nmsgtool(3)

AUTHOR

Matthew Sisk, <sisk@cert.org>

COPYRIGHT & LICENSE

Copyright (C) 2010-2015 by Carnegie Mellon University

Use of the Net-Silk library and related source code is subject to the terms of the following licenses:

GNU General Public License (GPL) Rights pursuant to Version 2, June 1991 Government Purpose License Rights (GPLR) pursuant to DFARS 252.227.7013

NO WARRANTY

See GPL.txt and LICENSE.txt for more details.