summaryrefslogtreecommitdiffstats
path: root/usr.bin/sockstat
diff options
context:
space:
mode:
authorshin <shin@FreeBSD.org>2000-02-26 02:56:16 +0000
committershin <shin@FreeBSD.org>2000-02-26 02:56:16 +0000
commita310d24367456f83ba8ce55cd9334e7570203115 (patch)
tree0c6e6183062b878c53211f9fdc91ad2144e81811 /usr.bin/sockstat
parent18bcb8d29743e6421787c5d1ef0a057f19ced626 (diff)
downloadFreeBSD-src-a310d24367456f83ba8ce55cd9334e7570203115.zip
FreeBSD-src-a310d24367456f83ba8ce55cd9334e7570203115.tar.gz
Update sockstat to support INET6 socket printing.
Approved by: jkh Submitted by: Ben Smithurst <ben@scientia.demon.co.uk> Reviewed by: des
Diffstat (limited to 'usr.bin/sockstat')
-rw-r--r--usr.bin/sockstat/sockstat.13
-rw-r--r--usr.bin/sockstat/sockstat.pl13
2 files changed, 10 insertions, 6 deletions
diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1
index 0985909..a55909c 100644
--- a/usr.bin/sockstat/sockstat.1
+++ b/usr.bin/sockstat/sockstat.1
@@ -60,7 +60,8 @@ The address the foreign end of the socket is bound to (see
.Sh SEE ALSO
.Xr fstat 1 ,
.Xr netstat 1 ,
-.Xr inet 4 .
+.Xr inet 4 ,
+.Xr inet6 4 .
.Sh HISTORY
The
.Nm
diff --git a/usr.bin/sockstat/sockstat.pl b/usr.bin/sockstat/sockstat.pl
index 3c25188..c20f542 100644
--- a/usr.bin/sockstat/sockstat.pl
+++ b/usr.bin/sockstat/sockstat.pl
@@ -29,7 +29,7 @@
# $FreeBSD$
#
-my (%myaddr, %hisaddr);
+my (%proto, %myaddr, %hisaddr);
my ($user, $cmd, $pid, $fd, $inet, $type, $proto, $sock, $laddr, $faddr);
print <<EOH;
@@ -40,11 +40,13 @@ format STDOUT =
$user, $cmd, $pid, $fd, $proto,$laddr, $faddr
.
-open NETSTAT, "netstat -Aan -finet | tail +3 |" or die "'netstat' failed: $!";
+open NETSTAT, "netstat -Aan |" or die "'netstat' failed: $!";
+<NETSTAT>; <NETSTAT>;
while (<NETSTAT>) {
my ($sock, $proto, $recvq, $sendq, $laddr, $faddr, $state) = split;
- ($myaddr{$sock}, $hisaddr{$sock}) = ($laddr, $faddr);
+ ($proto{$sock}, $myaddr{$sock}, $hisaddr{$sock}) =
+ ($proto, $laddr, $faddr);
}
close NETSTAT;
@@ -54,8 +56,9 @@ open FSTAT, "fstat |" or die "'fstat' failed: $!\n";
while (<FSTAT>) {
($user, $cmd, $pid, $fd, $inet, $type, $proto, $sock) = split;
chop $fd;
- next unless ($inet eq "internet");
- ($laddr, $faddr) = ($myaddr{$sock}, $hisaddr{$sock});
+ next unless ($inet =~ m/^internet6?$/);
+ ($proto, $laddr, $faddr) =
+ ($proto{$sock}, $myaddr{$sock}, $hisaddr{$sock});
write STDOUT;
}
OpenPOWER on IntegriCloud