GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich, eine Adresse:Port zu pingen?

Ports sind ein Konzept von UDP und TCP. Ping-Nachrichten werden technisch als ICMP Echo Request bezeichnet und ICMP Echo Reply die Teil von ICMP sind. ICMP, TCP und UDP sind „Geschwister“; Sie basieren nicht aufeinander, sondern sind drei separate Protokolle, die auf IP laufen.

Daher können Sie nicht ping ein Hafen. Was Sie können verwenden Sie einen Port-Scanner wie nmap .

nmap -p 80 onofri.org

Sie können auch telnet onofri.org 80 verwenden , wie in einer der anderen Antworten vorgeschlagen (Es wird ein Fehler ausgegeben, wenn der Port geschlossen oder gefiltert wird).


Ich verwende Telnet, da es ohne zusätzliche Downloads in viele Plattformen integriert ist.

Verwenden Sie einfach den Telnet-Befehl, um eine Verbindung zu dem Port herzustellen, den Sie testen möchten. Wenn Sie die folgende Meldung oder eine Meldung vom Dienst selbst erhalten, ist der Port aktiv.

Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Wenn Sie die Befehlssequenz für den Dienst kennen, mit dem Sie sich verbinden, können Sie einen Befehl eingeben (z. B. HTTP/FTP GET) und die Antwort und Ausgabe im Terminal beobachten. Dies ist sehr nützlich, um den Dienst selbst zu testen, da es Ihnen Fehlerinformationen anzeigt, die an den Client gesendet werden, wie z. B. HTTP 500-Fehler.

Wenn Sie eine Meldung erhalten, dass die Verbindung abgelehnt wurde, wird der Port geschlossen.

Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Sie können netcat verwenden, um eine Verbindung zu einem bestimmten Port herzustellen, um zu sehen, ob Sie eine Verbindung erhalten. Das Flag -v erhöht die Ausführlichkeit, um anzuzeigen, ob der Port offen oder geschlossen ist. Das Flag -z bewirkt, dass netcat beendet wird, sobald eine Verbindung besteht. Sie können dann die Exit-Codes über $? um zu sehen, ob die Verbindung hergestellt wurde oder nicht.

$ nc -zv localhost 22
localhost [127.0.0.1] 22 (ssh) open
$ echo $?
0
$ nc -zv localhost 23
localhost [127.0.0.1] 23 (telnet) : Connection refused
$ echo $?
1

Außerdem können Sie mtr mit dem Flag -T für TCP und dem Flag -P verwenden, um einen Port anzugeben. Dies wird etwas Ähnliches wie ein Traceroute über TCP statt nur ICMP tun. Dies kann jedoch übertrieben sein.

seufz Ich muss bearbeiten, um dieses Bit hinzuzufügen, da wir keinen Code in Kommentare einfügen können. Knoppix macht vielleicht etwas anderes mit seiner Version von netcat, aber das ist es, was ich von Linux Mint bekomme

$ date;nc -z -w 1 www.google.com 8000;date
Fri Jun 20 15:55:26 PDT 2014
Fri Jun 20 15:55:27 PDT 2014
$ date;nc -z -w 4 www.google.com 8000;date
Fri Jun 20 15:55:33 PDT 2014
Fri Jun 20 15:55:37 PDT 2014

$ nc -h
[v1.10-40]

Linux
  1. Ihre IP-Adresse ist 224.67.138.143

  2. Linux – Raspberrypi Serielle Schnittstelle?

  3. Netbsd Gateway für serielle Schnittstelle?

  4. Standardadresse

  5. Bindung fehlgeschlagen:Adresse wird bereits verwendet

Was ist meine IP-Adresse?

So öffnen Sie den Port für eine bestimmte IP-Adresse in Firewalld

So ändern Sie die IP-Adresse unter Linux

So pingen Sie eine bestimmte Portnummer an

Wie kann ich den SMTP-Port 587 für alle IP-Adressen in Plesk zulassen?

Linux-Ping-Befehl