Lösung 1:
Mit netstat -tuplen
können Sie prüfen, ob ein Prozess auf einem TCP- oder UDP-Port lauscht .
Um zu überprüfen, ob einige Ports von außen zugänglich sind (das ist wahrscheinlich das, was Sie wollen), können Sie einen Port-Scanner wie Nmap von einem anderen verwenden System. Das Ausführen von Nmap auf demselben Host, den Sie überprüfen möchten, ist für Ihren Zweck ziemlich nutzlos.
Lösung 2:
Der schnellste Weg, um zu testen, ob ein TCP-Port offen ist (einschließlich aller Hardware-Firewalls, die Sie möglicherweise haben), besteht darin, von einem Remote-Computer (z. B. Ihrem Desktop) aus Folgendes einzugeben:
telnet myserver.com 80
Dadurch wird versucht, eine Verbindung zu Port 80 auf diesem Server herzustellen. Wenn Sie eine Auszeit bekommen oder verweigern, ist der Port nicht geöffnet :)
Lösung 3:
OK, zusammenfassend haben Sie einen Server, bei dem Sie sich anmelden können. Sie möchten sehen, ob etwas an einem Port lauscht. Führen Sie als root Folgendes aus:
netstat -nlp
Dies zeigt eine Liste von Prozessen, die TCP- und UDP-Ports überwachen. Sie können es nach dem Prozess scannen (oder grep), an dem Sie interessiert sind, und/oder nach den Portnummern, die Sie erwarten.
Wenn der erwartete Prozess nicht vorhanden ist, sollten Sie diesen Prozess starten und netstat erneut überprüfen. Wenn der Prozess vorhanden ist, aber auf einer Schnittstelle und einem Port lauscht, die Sie nicht erwartet haben, dann gibt es ein Konfigurationsproblem (z keine weiteren Zeilen für Port 3306, im Fall der Standardkonfiguration für MySQL).
Wenn der Prozess hochgefahren ist und den erwarteten Port abhört, können Sie versuchen, von Ihrem Macbook in Ihrem Büro/Zuhause aus ein "Telnet" zu diesem Port auszuführen, z. B.
telnet xxxxxxxxxxxx.co.uk 443
Dadurch wird getestet, ob (unter der Annahme von Standardports) ein für SSL konfigurierter Webserver vorhanden ist. Beachten Sie, dass dieser Test mit Telnet nur funktioniert, wenn der Prozess einen TCP-Port abhört. Wenn es sich um einen UDP-Port handelt, können Sie es auch mit dem Client versuchen, mit dem Sie eine Verbindung herstellen möchten. (Ich sehe, dass Sie Port 224 verwendet haben. Das ist Masqdialer, und ich habe keine Ahnung, was das ist).
Wenn der Dienst vorhanden ist, Sie ihn aber von außen nicht erreichen können, blockiert Sie eine Firewall. Führen Sie in diesem Fall Folgendes aus:
iptables -L -n
Dadurch werden alle Firewall-Regeln angezeigt, die auf Ihrem System definiert sind. Sie können das posten, aber im Allgemeinen, wenn Sie nicht alles in der INPUT-Kette zulassen, müssen Sie den Datenverkehr auf dem betreffenden Port wahrscheinlich explizit zulassen:
iptables -I INPUT -p tcp --dport 224 -j ACCEPT
oder so ähnlich. Führen Sie Ihre Firewall-Befehle nicht blindlings aus, basierend auf dem, was Ihnen ein Fremder im Internet gesagt hat. Überlegen Sie, was Sie tun.
Wenn Ihre Firewall auf der Box den gewünschten Datenverkehr zulässt, betreibt Ihr Hosting-Unternehmen möglicherweise eine Firewall (z. B. lässt sie nur SSH (22/tcp), HTTP (80/tcp) und HTTPS (443/tcp) zu und allen anderen eingehenden Datenverkehr ablehnen). In diesem Fall müssen Sie ein Helpdesk-Ticket mit ihnen eröffnen, um dieses Problem zu lösen, obwohl ich vermute, dass es etwas in Ihrem cPanel gibt, das dies möglicherweise zulässt.
Lösung 4:
Ich verwende die Kombination von netstat
und lsof
:
netstat -an | grep <portnumber>
lsof -i:<portnumber>
Um zu sehen, ob der Port verwendet wird und wer ihn verwendet.
Lösung 5:
Wenn Sie mit dem System verbunden sind und einen Befehl als root ausführen können, können Sie die Ausgabe von iptables
überprüfeniptables -L -vn
Dies listet die Firewall-Regeln auf und welche Ports offen sind Ziel ACCEPT
und alle explizit geschlossenen Ports zielen auf REJECT
ab .