Skip site navigation (1)Skip section navigation (2)
Date:      08 Sep 1998 16:17:37 +0200
From:      dag-erli@ifi.uio.no (Dag-Erling Coidan =?iso-8859-1?Q?Sm=F8rgrav?= )
To:        "Jan B. Koum " <jkb@best.com>
Cc:        Graeme Brown <graeme.brown@bt-sys.bt.co.uk>, "FreeBSD-Net (FreeBSD.Org) List" <freebsd-net@FreeBSD.ORG>
Subject:   Re: How to find which application is using a given UDP port
Message-ID:  <xzpzpca4rjy.fsf@hrotti.ifi.uio.no>
In-Reply-To: dag-erli@ifi.uio.no's message of "07 Sep 1998 12:13:05 %2B0200"
References:  <Pine.BSF.4.02A.9809070222480.6323-100000@shell6.ba.best.com> <xzppvd8ut72.fsf@hrotti.ifi.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
dag-erli@ifi.uio.no (Dag-Erling Coidan Smørgrav ) writes:
> It should be relatively easy to write a Perl script that combines the
> output of each command and prints something like this:

Here it is:

#!/usr/local/bin/perl5

format STDOUT_TOP =
USER     COMMAND      PID    FD PROTO LOCAL ADDRESS        FOREIGN ADDRESS
.
format STDOUT =
@<<<<<<< @<<<<<<<<< @>>>> @>>>> @<<   @<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<
$user,   $process,  $pid, $fd,  $p,   $local_addr,         $foreign_addr
.
    
open NETSTAT, "netstat -Aan |" or die "netstat -Aan failed";

while (<NETSTAT>) {
    @a = split;
    next unless (($a[1] eq "tcp") or ($a[1] eq "udp"));
    $myaddr{$a[0]} = $a[4];
    $hisaddr{$a[0]} = $a[5];
}

close NETSTAT;

open FSTAT, "fstat |" or die "fstat failed";

while (<FSTAT>) {
    @a = split;
    next unless ($a[4] eq "internet");
    $user = $a[0];
    $process = $a[1];
    $pid = $a[2];
    $fd = $a[3]; $fd =~ s/\*$//;
    $p = $a[6];
    $socket = $a[7];
    $local_addr = $myaddr{$socket};
    $foreign_addr = $hisaddr{$socket};
    write STDOUT;
}

close FSTAT;

DES
-- 
Dag-Erling Smørgrav - dag-erli@ifi.uio.no

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpzpca4rjy.fsf>