[gelöst] Prüfen ob Port offen ist
- Noar
- Beiträge: 27
- Registriert: 25.09.2007 23:30:52
- Lizenz eigener Beiträge: GNU Free Documentation License
[gelöst] Prüfen ob Port offen ist
Hi,
ich habe ein Skript, das in regelmäßigen Abständen aufgerufen wird.
Es prüft ob ein bestimmter Prozess läuft und wenn nicht, wird versucht diesen zu starten.
Misslingt das, sendet das Skript eine Mail an eine best. Adresse.
Jetzt würde ich gerne auch noch testen, ob auf dem Rechner, auf dem das Skript läuft,
ein bestimmter Port (80 und 8080) offen ist.
Weiß jemand, wie ich das am besten erledigen kann?
Geht das irgendwie mit netstat?
Schöne Grüße
Thomas
ich habe ein Skript, das in regelmäßigen Abständen aufgerufen wird.
Es prüft ob ein bestimmter Prozess läuft und wenn nicht, wird versucht diesen zu starten.
Misslingt das, sendet das Skript eine Mail an eine best. Adresse.
Jetzt würde ich gerne auch noch testen, ob auf dem Rechner, auf dem das Skript läuft,
ein bestimmter Port (80 und 8080) offen ist.
Weiß jemand, wie ich das am besten erledigen kann?
Geht das irgendwie mit netstat?
Schöne Grüße
Thomas
Zuletzt geändert von Noar am 17.09.2009 19:41:13, insgesamt 1-mal geändert.
-- GNU/Linux (Debian unstable) --
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
- minimike
- Beiträge: 5616
- Registriert: 26.03.2003 02:21:19
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Köln
-
Kontaktdaten:
Re: Prüfen ob Port offen ist
sollte eigentlich mittels "netstat -npl PORTNUMBER" sowie mit "nmap IPADDRESS/HOSTNAME -p PORTNUMBER" zu erledigen sein.
Zum verfeinern mal die Manpage konsultieren
Zum verfeinern mal die Manpage konsultieren
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft
Re: Prüfen ob Port offen ist
echoping, hping2/3, httping
?
Fetter mit zabbix o.ä.
?
Fetter mit zabbix o.ä.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- Noar
- Beiträge: 27
- Registriert: 25.09.2007 23:30:52
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Prüfen ob Port offen ist
Hi,
erstmal danke für eure Antworten.
NMAP ist natürlich eine Möglichkeit, damit bekomme ich es ganz gut hin. Allerdings würde ich gerne darauf verzichten,
da es eigentlich nicht auf dem Server zur Verfügung steht. Von allen genannten Tools ist nur NETSTAT verfügbar.
Leider liefert "netstat -npl PORTNUMBER" keine befriedigende Angabe. Und die Manpage leider auch nicht.
Ich kann zwar per "netstat" und "grep" die Zeile mit z.B. dem Port 80 rausfiltern, aber aus der Zeile muss ich ja noch rausbekommen, ob der
Status CONNECTED oder so besteht. Also noch mal per "grep" z.B.
Kann man denn 2 grep-Anweisungen verketten?
Ansonsten bleibt mir wohl nur, "nmap" nachzuinstallieren.
Gruß und Dank
Thomas
erstmal danke für eure Antworten.
NMAP ist natürlich eine Möglichkeit, damit bekomme ich es ganz gut hin. Allerdings würde ich gerne darauf verzichten,
da es eigentlich nicht auf dem Server zur Verfügung steht. Von allen genannten Tools ist nur NETSTAT verfügbar.
Leider liefert "netstat -npl PORTNUMBER" keine befriedigende Angabe. Und die Manpage leider auch nicht.
Ich kann zwar per "netstat" und "grep" die Zeile mit z.B. dem Port 80 rausfiltern, aber aus der Zeile muss ich ja noch rausbekommen, ob der
Status CONNECTED oder so besteht. Also noch mal per "grep" z.B.
Kann man denn 2 grep-Anweisungen verketten?
Ansonsten bleibt mir wohl nur, "nmap" nachzuinstallieren.
Gruß und Dank
Thomas
-- GNU/Linux (Debian unstable) --
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
Re: Prüfen ob Port offen ist
Also, netstat -npl PORT ist Käse. Der PORT wird da nicht benutzt.
Würde das vorschlagen:
netstat -4tnl | grep ":PORT "
Das liefert dir alle IPv4-Ports für TCP, die auf Status LISTEN stehen und mit grep filterst du halt nach dem gesuchten Port. Der Doppelpunkt und das Leerzeichen dafür, dass du auch den richtigen erwischt und nicht mit PORT gleich 80 auch 880, 8080 oder ähnliches matched.
LISTEN deshalb, weil du ja Ports (eigentlich Sockets) suchst, die offen für neue Verbindungen sind. (Nebenbei: bei mir bei verbundenen Sockets ESTABLISHED steht und kein CONNECTED.)
Würde das vorschlagen:
netstat -4tnl | grep ":PORT "
Das liefert dir alle IPv4-Ports für TCP, die auf Status LISTEN stehen und mit grep filterst du halt nach dem gesuchten Port. Der Doppelpunkt und das Leerzeichen dafür, dass du auch den richtigen erwischt und nicht mit PORT gleich 80 auch 880, 8080 oder ähnliches matched.
LISTEN deshalb, weil du ja Ports (eigentlich Sockets) suchst, die offen für neue Verbindungen sind. (Nebenbei: bei mir bei verbundenen Sockets ESTABLISHED steht und kein CONNECTED.)
- Noar
- Beiträge: 27
- Registriert: 25.09.2007 23:30:52
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Prüfen ob Port offen ist
Hi nepos,
danke.
Die Option "-4tnl " mag mein netstat nicht.
Zum Thema grep: wenn ich nach dem Port grabbe, dann erhalte ich ja die ganze Zeile.
Kann ich das noch irgendwie so ketten, das noch in der Zeile nach dem CONNECTED (bzw. ESTABLISHED) gesucht wird?
Gruß
Thomas
danke.
Die Option "-4tnl " mag mein netstat nicht.
Zum Thema grep: wenn ich nach dem Port grabbe, dann erhalte ich ja die ganze Zeile.
Kann ich das noch irgendwie so ketten, das noch in der Zeile nach dem CONNECTED (bzw. ESTABLISHED) gesucht wird?
Gruß
Thomas
-- GNU/Linux (Debian unstable) --
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
Re: Prüfen ob Port offen ist
Was für ein System hast du denn dann? Mein Lenny netstat kann das so, wie ichs geschrieben habe.Noar hat geschrieben:Hi nepos,
danke.
Die Option "-4tnl " mag mein netstat nicht.
Jo klar, so z.B.:Zum Thema grep: wenn ich nach dem Port grabbe, dann erhalte ich ja die ganze Zeile.
Kann ich das noch irgendwie so ketten, das noch in der Zeile nach dem CONNECTED (bzw. ESTABLISHED) gesucht wird?
Code: Alles auswählen
netstat -4tnl | grep ":22 .* LISTEN"
Re: Prüfen ob Port offen ist
Noch eine Portausgabe:
Code: Alles auswählen
lsof -i -n -P
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- Noar
- Beiträge: 27
- Registriert: 25.09.2007 23:30:52
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: [gelöst] Prüfen ob Port offen ist
Danke an alle.
Mit eurer Hilfe läuft das Skript nun fleißig und prüft einmal stündlich ein paar Ports und Prozesse.
Für die Ports hab ich den Tip von nepos verwendet.
Lustigerweise kannte meine Suse die Option -4tnl nicht.
Auf dem Debianrechner gibg es aber doch.
Gruß
Thomas
Mit eurer Hilfe läuft das Skript nun fleißig und prüft einmal stündlich ein paar Ports und Prozesse.
Für die Ports hab ich den Tip von nepos verwendet.
Code: Alles auswählen
netstat -4tnl | grep ":22 .* LISTEN"
Auf dem Debianrechner gibg es aber doch.
Gruß
Thomas
-- GNU/Linux (Debian unstable) --
--- It is only in our decisions that we are important. Jean-Paul Sartre ---
--- It is only in our decisions that we are important. Jean-Paul Sartre ---