# $Id$ # Main page of 'My::Project::netstat' # Copyright (C) 2003-2005 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package project::netstat::Index; require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; our $CVS_ID=q$Id$; use strict; use warnings; use My::Web; Wuse 'project::Lib'; our @ListItem=( "name"=>"netstat -p", "platform"=>"patch", "priority"=>400, "download"=>"net-tools-1.50-progname.diff.gz", "summary"=>sub { return "Program name display for ".a_href('http://www.inka.de/sites/lina/linux/NetTools/','net-tools-1.50') .'/netstat'; }, "license"=>"PD", "maintenance"=>"accepted", "language"=>"C patch", "description"=><<"HERE",

After answering several questions on the mailing lists and several from my friends personally, I decided that there is missing some tool for GNU/Linux which would display PID (or simply the process) of the owner of some socket, either listening or communicating.

HERE ); sub handler { project::Lib->init(); print <<'HERE';

The typical problem is that some port is allocated and no one knows which program is holding it. Output of the new 'netstat' with the added option "-p" follows:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 lemming.ericsson.c:1022 atrey.karlin.mff.cun:22 ESTABLISHED 11940/ssh
tcp        0      0 *:3064                  *:*                     LISTEN      31208/proxyper
tcp        0      0 *:2064                  *:*                     LISTEN      31208/proxyper
tcp        0      0 lemming.ericsson:domain *:*                     LISTEN      11601/named
HERE exit; } 1;