bionic (3) nettool.3tcl.gz

Provided by: tcllib_1.19-dfsg-2_all bug

NAME

       nettool - Tools for networked applications

SYNOPSIS

       package require Tcl  8.5

       package require nettool  ?0.5.2?

       package require twapi  3.1

       package require ip  0.1

       package require platform  0.1

       ::cat filename

       ::nettool::allocate_port startingport

       ::nettool::arp_table

       ::nettool::broadcast_list

       ::nettool::claim_port port ?protocol?

       ::nettool::cpuinfo args

       ::nettool::find_port startingport

       ::nettool::hwid_list

       ::nettool::ip_list

       ::nettool::mac_list

       ::nettool::network_list

       ::nettool::port_busy port

       ::nettool::release_port port ?protocol?

       ::nettool::status

       ::nettool::user_data_root appname

________________________________________________________________________________________________________________

DESCRIPTION

       The  nettool  package  consists of a Pure-tcl set of tools to perform common network functions that would
       normally require different packages or calls to exec, in a standard Tcl interface.   At  present  nettool
       has reference implementations for the following operating systems: Windows, MacOSX, and Linux (debian).

COMMANDS

       ::cat filename
              Dump the contents of a file as a result.

       ::nettool::allocate_port startingport
              Attempt  to  allocate startingport, or, if busy, advance the port number sequentially until a free
              port is found, and claim that port.  This command uses a built-in database of known ports to avoid
              returning a port which is in common use. (For example: http (80))

       ::nettool::arp_table
              Dump  the contents of this computer's Address Resolution Protocol (ARP) table.  The result will be
              a Tcl formatted list: macid ipaddrlist ...

       ::nettool::broadcast_list
              Returns a list of  broadcast  addresses  (suitable  for  UDP  multicast)  that  this  computer  is
              associated with.

       ::nettool::claim_port port ?protocol?
              Mark port as busy, optionally as either tcp (default) or udp.

       ::nettool::cpuinfo args
              If  no  arguments  are  given,  return a key/value list describing the CPU of the present machine.
              Included in the matrix is info on the number of cores/processors that are available  for  parallel
              tasking, installed physical RAM, and processor family.

              The exact contents are platform specific.

              For Linux, information is drawn from /proc/cpuinfo and /proc/meminfo.

              For MacOSX, information is drawn from sysctl

              For Windows, information is draw from TWAPI.

              If arguments are given, the result with be a key/value list limited to the fields requested.

              Canonical fields for all platforms:

              cpus   Count of CPUs/cores/execution units

              speed  Clock speed of processor(s) in Mhz

              memory Installed RAM (in MB)

              vendor Manufacturer

       ::nettool::find_port startingport
              Return  startingport  if  it  is available, or the next free port after startingport. Note: Unlike
              ::nettool::allocate_port, this command does not claim the port.

              This command uses a built-in database of known ports to avoid returning a port which is in  common
              use. (For example: http (80))

       ::nettool::hwid_list
              Return  a  list  of  hardware specific identifiers from this computer. The source and content will
              vary by platform.

              For MacOSX, the motherboard serial number and macids for all network devices is returned.

              For Windows, the volume serial number of C and macids for all network devices is returned.

              For Linux, macids for all network devices is returned.

       ::nettool::ip_list
              Return a list of IP addresses associated with this computer.

       ::nettool::mac_list
              Return a list of MACIDs for the network cards attached to this machine. The MACID of  the  primary
              network card is returned first.

       ::nettool::network_list
              Return   a   list   of  networks  associated  with  this  computer.  Networks  are  formated  with
              ip::nativeToPrefix.

       ::nettool::port_busy port
              Return true if port is claimed, false otherwise.

       ::nettool::release_port port ?protocol?
              Mark port as not busy, optionally as either tcp (default) or udp.

       ::nettool::status
              Return a key/value list describing the status of the  computer.  The  output  is  designed  to  be
              comparable to the output of top for all platforms.

              Common fields include:

              load   Processes per processing unit

              memory_total
                     Total physical RAM (MB)

              memory_free
                     Total physical RAM unused (MB)

       ::nettool::user_data_root appname
              Return  a  fully qualified path to a folder where appname should store it's data.  The path is not
              created, only computed, by this command.

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes, will undoubtedly contain bugs and  other  problems.   Please
       report  such  in the category odie of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].  Please
       also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

KEYWORDS

       nettool, odie

CATEGORY

       System

       Copyright (c) 2015-2018 Sean Woods <yoda@etoyoc.com>