ich suche gerade ein Tool, das mir über das Internet einen Mailserver auf seine Erreichbarkeit testet und in eine Log-Datei schreibt, wenn es Probleme gab. Das Problem ist, dass der Server ICMP Pakete blockt und ich ihn nicht anpingen kann. Offen wäre zum Beispiel der Port 110 (POP3).
Meine bislang beste Idee, war mit netcat auf Port 110 zu horchen, aber das beendet sich nicht selbständig (ich bekomme jedenfalls kein Timeout).
Hat jemand eine Idee, wie ich so etwas mit wenig Aufwand umsetzen kann?
Grüße,
Christian
P.S.: Ich habe ein Tool gefunden das http_ping heißt und z.B. Webserver die auch kein normalen Ping beantworten testen kann. Gibt es so etwas in der Art vielleicht auch für Mailserver?
ich suche gerade ein Tool, das mir über das Internet einen
Mailserver auf seine Erreichbarkeit testet und in eine
Log-Datei schreibt, wenn es Probleme gab. Das Problem ist,
dass der Server ICMP Pakete blockt und ich ihn nicht anpingen
kann. Offen wäre zum Beispiel der Port 110 (POP3).
Dann mach doch einfach ein socket zu dem Port auf und logge, wenn das nicht funktioniert hat. So aus der Kalten wuerde ich sowas tun:
#!/usr/bin/perl
use warnings;
use strict;
use IO::Socket;
my $handle = IO::Socket::INET-\>new('fqdn.vom.server:110') or die 'Server ist gestorben';
print $handle "quit";
Dann mach doch einfach ein socket zu dem Port auf und logge,
wenn das nicht funktioniert hat. So aus der Kalten wuerde ich
sowas tun:
#!/usr/bin/perl
use warnings;
use strict;
use IO::Socket;
my $handle = IO::Socket::INET->new(‚fqdn.vom.server:110‘)
or die ‚Server ist gestorben‘;
print $handle „quit“;
Hm, also irgendwie stehe ich im Moment ein wenig auf dem Schlauch. Jedenfalls ist mir spontan nicht so ganz klar wie ich einen Socket öffne und darauf logge.
Dein Script ergibt leider keinerlei Ausgabe
> > #!/usr/bin/perl
> >
> > use warnings;
> > use strict;
> >
> > use IO::Socket;
> >
> > my $handle = IO::Socket::INET-\>new('fqdn.vom.server:110') die 'Server ist gestorben';
> > print $handle "quit";
Dein Script ergibt leider keinerlei Ausgabe
Unix-typisch: no news are good news. Mach doch mal den POP3-Server aus oder aendere den port im script (die 110) auf irgendeinen Wert, auf dem kein Dienst laeuft (23 oder 31416 z.~B.; portscanner fuer Arme). Die IP# oder den FQDN vom server hast Du hoffentlich geaendert? Wenn dort ICMP ganz diletantisch gesperrt ist wirst Du wahrscheinlich etwa 3min warten muessen.
Gruss vom Frank.
P. S.: Fuehrst Du immer scripte aus dem Internet aus, die Du nicht verstehst?
Unix-typisch: no news are good news. Mach doch mal den
POP3-Server aus oder aendere den port im script (die 110) auf
irgendeinen Wert, auf dem kein Dienst laeuft (23 oder 31416
z.~B.; portscanner fuer Arme). Die IP# oder den FQDN vom
server hast Du hoffentlich geaendert? Wenn dort ICMP ganz
diletantisch gesperrt ist wirst Du wahrscheinlich etwa 3min
warten muessen.
Gruss vom Frank.
P. S.: Fuehrst Du immer scripte aus dem Internet aus, die Du
nicht verstehst?
Ah, okay. Zugegeben, so ganz 100%ig habe ich das Script nicht geblickt gehabt, aber ich denke schon, dass ich ein potentiell gefährliches Script von einem harmlosen unterscheiden kann. Ich war davon ausgegangen, dass in $handle eine Art Antwort aus dem erfolgreich aufgebauten Socket drin stehen würde (so eine Art Acknowlgde-Paket).
Im Übrigen kann ich den POP3-Server nicht einfach ausmachen, weil ich nicht sein Admin bin. Ich muss nur wissen ob der funktioniert oder nicht.
Ich denke damit komme ich jetzt schon ein gutes Stück weiter, vielen Dank für deine Hilfe.