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

FreeBSD Manual Pages

  
 
  

home | help
Parse::Netstat::solariUser Contributed Perl DocumentParse::Netstat::solaris(3)

NAME
       Parse::Netstat::solaris - Parse the output of Solaris "netstat" command

VERSION
       This document describes version 0.14 of Parse::Netstat::solaris (from
       Perl distribution Parse-Netstat), released on 2017-02-10.

SYNOPSIS
	use Parse::Netstat qw(parse_netstat);
	my $res	= parse_netstat(output=>join("", `netstat -n`),	flavor=>"solaris");

       Sample `netstat -n` output:

	UDP: IPv4
	   Local Address	Remote Address	    State
	-------------------- -------------------- ----------
	8.8.17.4.15934	 8.8.7.7.53	  Connected
	127.0.0.1.32859	     127.0.0.1.514	  Connected
	127.0.0.1.32860	     127.0.0.1.514	  Connected

	TCP: IPv4
	   Local Address	Remote Address	  Swind	Send-Q Rwind Recv-Q    State
	-------------------- -------------------- -----	------ ----- ------ -----------
	8.8.17.4.1337	 8.8.213.120.65472 262140      0 1049920      0	ESTABLISHED
	8.8.17.4.44306	 8.8.17.4.111	  57304	     0 1055220	    0 TIME_WAIT
	8.8.17.4.44064	 8.8.17.4.32774	  57260	     0 1055220	    0 TIME_WAIT
	8.8.17.4.44308	 8.8.17.4.32774	  57260	     0 1055220	    0 TIME_WAIT
	8.8.17.4.44066	 8.8.17.4.111	  57304	     0 1055220	    0 TIME_WAIT
	8.8.17.4.44310	 8.8.17.4.111	  57304	     0 1055220	    0 TIME_WAIT

	Active UNIX domain sockets
	Address	 Type	       Vnode	 Conn  Local Addr      Remote Addr
	30258256428 stream-ord 00000000	00000000
	30575aa2b38 stream-ord 00000000	00000000
	305744acaf8 stream-ord 00000000	00000000
	30575aa3b88 stream-ord 00000000	00000000
	3013c427d68 stream-ord 00000000	00000000
	303b66230f8 stream-ord 00000000	00000000
	3042fbbb228 stream-ord 30b59894f40 00000000 /tmp/ssh-MyY25402/agent.25402
	30186d43d70 stream-ord 00000000	00000000
	303e8e332f8 stream-ord 00000000	00000000
	3049e75ece0 stream-ord 302d8344500 00000000 /var/tmp/amavisd-new/abgeber/amavisd.sock
	3049e75f250 stream-ord 00000000	00000000

       Sample result:

	[
	  200,
	  "OK",
	  {
	    active_conns => [
	      {},
	      {
		foreign_host =>	"8.8.7.7",
		foreign_port =>	53,
		local_host => "8.8.17.4",
		local_port => 15934,
		proto => "udp4",
		state => "Connected",
	      },
	      {
		foreign_host =>	"127.0.0.1",
		foreign_port =>	514,
		local_host => "127.0.0.1",
		local_port => 32859,
		proto => "udp4",
		state => "Connected",
	      },
	      {
		foreign_host =>	"127.0.0.1",
		foreign_port =>	514,
		local_host => "127.0.0.1",
		local_port => 32860,
		proto => "udp4",
		state => "Connected",
	      },
	      {},
	      {
		foreign_host =>	"8.8.213.120",
		foreign_port =>	65472,
		local_host => "8.8.17.4",
		local_port => 1337,
		proto => "tcp4",
		recvq => 0,
		rwind => 1049920,
		sendq => 0,
		state => "ESTABLISHED",
		swind => 262140,
	      },
	      {
		foreign_host =>	"8.8.17.4",
		foreign_port =>	111,
		local_host => "8.8.17.4",
		local_port => 44306,
		proto => "tcp4",
		recvq => 0,
		rwind => 1055220,
		sendq => 0,
		state => "TIME_WAIT",
		swind => 57304,
	      },
	      {
		foreign_host =>	"8.8.17.4",
		foreign_port =>	32774,
		local_host => "8.8.17.4",
		local_port => 44064,
		proto => "tcp4",
		recvq => 0,
		rwind => 1055220,
		sendq => 0,
		state => "TIME_WAIT",
		swind => 57260,
	      },
	      {
		foreign_host =>	"8.8.17.4",
		foreign_port =>	32774,
		local_host => "8.8.17.4",
		local_port => 44308,
		proto => "tcp4",
		recvq => 0,
		rwind => 1055220,
		sendq => 0,
		state => "TIME_WAIT",
		swind => 57260,
	      },
	      {
		foreign_host =>	"8.8.17.4",
		foreign_port =>	111,
		local_host => "8.8.17.4",
		local_port => 44066,
		proto => "tcp4",
		recvq => 0,
		rwind => 1055220,
		sendq => 0,
		state => "TIME_WAIT",
		swind => 57304,
	      },
	      {
		foreign_host =>	"8.8.17.4",
		foreign_port =>	111,
		local_host => "8.8.17.4",
		local_port => 44310,
		proto => "tcp4",
		recvq => 0,
		rwind => 1055220,
		sendq => 0,
		state => "TIME_WAIT",
		swind => 57304,
	      },
	      {},
	      {
		address	=> 30258256428,
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "30575aa2b38",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "305744acaf8",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "30575aa3b88",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "3013c427d68",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "303b66230f8",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	   => "3042fbbb228",
		conn	   => "00000000",
		local_addr => "/tmp/ssh-MyY25402/agent.25402",
		proto	   => "unix",
		type	   => "stream-ord",
		vnode	   => "30b59894f40",
	      },
	      {
		address	=> "30186d43d70",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	=> "303e8e332f8",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	      {
		address	   => "3049e75ece0",
		conn	   => "00000000",
		local_addr => "/var/tmp/amavisd-new/abgeber/amavisd.sock",
		proto	   => "unix",
		type	   => "stream-ord",
		vnode	   => "302d8344500",
	      },
	      {
		address	=> "3049e75f250",
		conn	=> "00000000",
		proto	=> "unix",
		type	=> "stream-ord",
		vnode	=> "00000000",
	      },
	    ],
	  },
	]

FUNCTIONS
   parse_netstat
       Usage:

	parse_netstat(%args) ->	[status, msg, result, meta]

       Parse the output	of Solaris "netstat" command.

       Netstat can be called with "-n" (show raw IP addresses and port numbers
       instead of hostnames or port names) or without. It can be called	with
       "-a" (show all listening	and non-listening socket) option or without.

       This function is	not exported by	default, but exportable.

       Arguments ('*' denotes required arguments):

       o   output* => str

	   Output of netstat command.

       o   tcp => bool (default: 1)

	   Whether to parse TCP	(and TCP6) connections.

       o   udp => bool (default: 1)

	   Whether to parse UDP	(and UDP6) connections.

       o   unix	=> bool	(default: 1)

	   Whether to parse Unix socket	connections.

       Returns an enveloped result (an array).

       First element (status) is an integer containing HTTP status code	(200
       means OK, 4xx caller error, 5xx function	error).	Second element (msg)
       is a string containing error message, or	'OK' if	status is 200. Third
       element (result)	is optional, the actual	result.	Fourth element (meta)
       is called result	metadata and is	optional, a hash that contains extra
       information.

       Return value:  (any)

HOMEPAGE
       Please visit the	project's homepage at
       <https://metacpan.org/release/Parse-Netstat>.

SOURCE
       Source repository is at
       <https://github.com/perlancar/perl-Parse-Netstat>.

BUGS
       Please report any bugs or feature requests on the bugtracker website
       <https://rt.cpan.org/Public/Dist/Display.html?Name=Parse-Netstat>

       When submitting a bug or	request, please	include	a test-file or a patch
       to an existing test-file	that illustrates the bug or desired feature.

AUTHOR
       perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2017, 2015, 2014,	2012, 2011 by
       perlancar@cpan.org.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.1			  2017-02-10	    Parse::Netstat::solaris(3)

NAME | VERSION | SYNOPSIS | FUNCTIONS | HOMEPAGE | SOURCE | BUGS | AUTHOR | COPYRIGHT AND LICENSE

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

home | help