Ich werkelte einst fĂŒr einen Kunden, der der Meinung war, daĂ Portscans nur was fĂŒr Kriminelle seien. Trotzdem wollten wir aber zwecks Absicherung der Systeme wissen, welche Ports offen waren. Also lieĂen wir 1000 wilde Affen an einen Rechner (könnte zufĂ€lligerweise meiner gewesen sein), die rein zufĂ€llig die folgende Zeichenfolge einhackten:
perl -MIO::Socket::INET -e 'open I,"</etc/services";while(<I>){
(/^\s*($|#)/)&&next;($n,$p,@j)=split/\s+/;($p=~s/\/tcp//)||next;
$s=IO::Socket::INET->new(PeerAddr=>$ARGV[0], PeerPort=>$p,Proto=>'tcp')?
print"$n($p)-->Open\n":next}' <hostname>
Das haben die 1000 wilden Affen aber gut hingekriegt: Rein zufĂ€llig handelt es sich bei dieser AnhĂ€ufung zufĂ€lliger TastendrĂŒcke um einen einfachen TCP-Portscanner in Form eines Perl-Einzeilers. Sich nur aus /etc/services zu bedienen, ist zwar zugegebenermaĂen nicht sehr kreativ, aber immerhin sieht auf diese Weise die Ausgabe mit der Beschreibung zu jedem Port recht angenehm aus.
In der nÀchsten Ausbaustufe könnte man sich auch bei einer services-Datei von nmap bedienen. Aber wie könnte die bloà zufÀllig aufs System gekommen sein?