Debian: Offene Ports testen
Ich wollte testen ob die Firewall richtig arbeitet und war auf der Suche nach einem einfachen Program das auf dem entsprechenden Port "hört". Hier habe ich das gefunden.
vi test.pl #!/usr/bin/perl ##### Written by Paul A. Luzzi on 07/01/2008 ##### Name : perl_socket_8151.pl ##### Purpose : a basic perl socket listener ##### used to check that firewall ports are ##### open before installation of software use strict; use Socket; ##### Use port of 8151 my $port = shift || 8151; my $proto = getprotobyname('tcp'); socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "Can not open socket $!\n"; setsockopt(SOCKET, SOL_SOCKET, SO_REUSEADDR, 1) or die "Can not set socket optoin to SO_REUSEADDR $!\n"; bind( SOCKET, pack('SnA4x8', AF_INET, $port, 0.0.0.0)) or die "Can not bind to port $port! \n"; listen (SOCKET, 5) or die "listen: $!"; print "SERVER started on port $port \n"; my $client_addr; while ($client_addr = accept(NET_SOCKET, SOCKET)) { # send them a message, close connection print NEW_SOCKET "Smile from the server :-) "; close NEW_SOCKET; }
und ausführbar machen, aufrufen und von einem anderen Rechner aus mit Telnet ansprechen.
chmod +x test.pl perl test.pl SERVER started on port 8151
telnet www.hagen-bauer.de 8151 Trying 5.9.149.232... Connected to www.hagen-bauer.de. Escape character is '^]'.
Die Verbindung hat also geklappt. Dann den Port in dem Script ändern und nochmal aufrufen
perl test.pl SERVER started on port 8080 telnet www.hagen-bauer.de 8080
Trying 5.9.149.232...
^C