#!/bin/blog

June 3, 2004

Wer hat welchen Port offen?

Filed under: Internet, perl — Tags: — martin @ 11:45 pm

Hier nochmal ein ganz besonders seltsamer und unausgereifter Scriptschnipsel von meiner Platte, aber vielleicht kann ich ihn irgendwann nochmal gebrauchen. Das Ding schaut mit lsof, welcher Prozeß einen TCP-Port offenhat und sucht den Namen dazu aus der Prozeßliste raus.

 

#!/usr/bin/perl -w
use strict;

my $retval = system ("lsof -h >/dev/null 2>&1");
die "Kann lsof nicht finden. :-(\n" if ($retval);

my %ports;
my @output;
@{$ports{tcp}} = `lsof -P -i TCP | grep -v "^COMMAND" | grep LISTEN`;
@{$ports{udp}} = `lsof -P -i UDP | grep -v "^COMMAND" | grep Idle`;

foreach my $protocol ("tcp", "udp"){
   foreach my $line (@{$ports{$protocol}}){
      my @fields  = split /\s+/, $line;
      my $command = $fields[0];
      (my $port   = $fields[-2]) =~ s/\*://;
      push @output, sprintf ("%-5s %3s -> %-30s\n", $port, $protocol, $command);
   }
}

my $prev = "";
@output = (sort { $a cmp $b } (@output));
@output = grep($_ ne $prev && ($prev = $_), @output);

foreach (@output){
   print;
}
Advertisements

4 Comments »

  1. Offtopic:
    Sag mal, wo hast Du das AKTUELLE Wetter von wetter.com her? Ich kann da nur immer die VORHERSAGE für den aktuellen Tag finden (die sich auch aktuell nennt)???

    Comment by Marcus — June 4, 2004 @ 6:44 am

  2. Hast du was dagegen, wenn ich dir das Schnipsel für perlbase.xwolf.de kopiere?

    Comment by xwolf — June 4, 2004 @ 7:42 am

  3. @xwolf: Hmm, naja. So richtig salonfähig ist dieses Ding aber wirklich nicht. Eigentlich müßte es die Daten etwas besser aufbereiten, ephemäre Ports rauskegeln und so, und natürlich zu inetd-Diensten den Servicenamen raussuchen. Da gibts hier in der Perlabteilung echt einige Sachen, die dem Zustand der Vorzeigbarkeit deutlich näher kommen.

    @Marcus: Keine Ahnung. Den Button habe ich da “der Nase nach” letztes Jahr im September hingemacht, als ich das Blog angefangen habe. Ob das heute irgendwie anders läuft, weiß ich nicht.

    Comment by martin — June 4, 2004 @ 8:15 am

  4. Sehr schick – wenn kein netstat -anp geht

    Comment by Joern — June 4, 2004 @ 10:26 am


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: