Ich beschäftige mich nicht mit Netzwerken und habe die folgende Frage im Zusammenhang mit dem Linux- Ping- Befehl.
Kann ich nur eine Adresse anpingen? Zum Beispiel:
miner@raspberrypi ~ $ ping onofri.org
PING onofri.org (67.222.36.105) 56(84) bytes of data.
64 bytes from onofri.org (67.222.36.105): icmp_req=1 ttl=47 time=202 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=2 ttl=47 time=206 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=3 ttl=47 time=215 ms
Oder kann ich auch eine Adresse anpingen : port , zum Beispiel: onofri.org:80 ?
Wenn ich dieses probiere, funktioniert es nicht:
miner@raspberrypi ~ $ ping onofri.org:80
ping: unknown host onofri.org:80
Kann man so etwas wie address: port pingen ? Wenn es möglich ist, warum funktioniert das, was ich versucht habe, nicht?
linux
networking
ping
AndreaNobili
quelle
quelle
GET /index.html HTTP\1.1
die 200-Antwort (oder den Fehlercode) zusammen mit dem resultierenden Markup eingeben und anzeigen.HTTP\1.1
? "Ja wirklich?"HTTP/1.1
...Antworten:
Sie können Paping verwenden , einen plattformübergreifenden TCP-Port-Test, der die Funktionalität von Ping (Port-Ping) emuliert.
(Siehe auch Github, da code.google.com abgeschrieben wurde.)
quelle
paping
? Ich habe das Repo besucht, aber es gibt keine Veröffentlichungen. Ah, vergiss nicht. Auf Google-Code konnte ich zu diesem Zeitpunkt nicht zugreifen.Ports sind ein Konzept von UDP und TCP . Ping-Nachrichten werden technisch als ICMP-Echoanforderung und ICMP-Echoantwort bezeichnet, die Teil von ICMP sind . ICMP, TCP und UDP sind "Geschwister". Sie basieren nicht aufeinander, sondern sind drei separate Protokolle, die auf IP ausgeführt werden.
Daher kannst du keinen
ping
Port. Was Sie können tun, ist es, einen Port - Scanner verwenden , wienmap
.Sie können auch
telnet onofri.org 80
wie in einer der anderen Antworten vorgeschlagen verwenden (es wird ein Fehler angezeigt, wenn der Port geschlossen oder gefiltert ist).quelle
Ich benutze Telnet , da es in vielen Plattformen ohne zusätzliche Downloads eingebaut ist.
Verwenden Sie einfach den Befehl telnet, um eine Verbindung zu dem Port herzustellen, den Sie testen möchten. Wenn Sie die folgende Nachricht oder eine Nachricht vom Dienst selbst erhalten, ist der Port aktiv.
Wenn Sie die Befehlssequenz für den Dienst kennen, zu dem Sie eine Verbindung herstellen, 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 hier Fehlerinformationen angezeigt werden, die an den Client gesendet wurden, z. B. HTTP 500-Fehler.
Wenn Sie eine Meldung erhalten, dass die Verbindung abgelehnt wurde, wird der Port geschlossen.
quelle
Ja, verwenden Sie HPing, um dies zu tun:
Beachten Sie, dass es Root-Rechte (oder SELinux-Fähigkeiten) benötigt, um rohe IP-Pakete zu erstellen, genau wie Ping (was auf Ihrem System sehr wahrscheinlich zutrifft).
quelle
hping3
Ist es das selbe wiehping3
? @ d33tahhping3
und es pingt alle Ports. Egal ob geschlossen oder offen. Wie kann ich feststellen, ob ein Port geschlossen oder offen ist?Sie können mit netcat eine Verbindung zu einem bestimmten Port herstellen, um festzustellen, 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.
Darüber hinaus können Sie mtr mit dem Flag -T für tcp und dem Flag -P verwenden, um einen Port anzugeben. Dadurch wird etwas Ähnliches wie bei einer Traceroute über TCP ausgeführt, anstatt nur ICMP. Dies kann jedoch übertrieben sein.
seufz ich muss editieren um dieses bit hinzuzufügen, da wir keinen code in kommentare schreiben können. Knoppix macht vielleicht etwas anderes mit seiner Version von Netcat, aber das ist, was ich von Linux Mint bekomme
quelle
nc -z www.google.com 8000
, kann es eine lange Zeit dauern, 5 Sekunden und mehr. Wenn ich das tue-w 1
, dauert es 5 Sekunden. Wenn ich das tue-w 3
, dauert es ungefähr dreimal länger. 15 Blitze des Cursors, 15 Sekunden.-w 1
soll eine Sekunde sein, wurde aber auf cygwin getestet.,. 5 Sekunden. Es ist super schnell, wenn ein Server am Port ist, aber ein bisschen langsam, wenn es keinen gibt.Sie könnten auch
nping
(einen Teil vonnmap
) verwenden:quelle
nping --tcp -p 80 localhost
Sie können dies in der Shell mit Python als nicht so kurzem Einzeiler tun:
quelle
Nur als Referenz, wollte einen Beitrag von Vivek Gite teilen: https://www.cyberciti.biz/faq/ping-test-a-specific-port-of-machine-ip-address-using-linux-unix/# comment-920398
Er listet verschiedene Wege auf, von denen einige bereits hier gepostet sind. Das Überraschendste für mich war jedoch nichts anderes als
bash
:Oder eine supereinfache Version: Schauen Sie sich nur die Ausgabe des folgenden Befehlsmusters an:
Nützlich, wenn Sie mit zufälligen Docker-Containern arbeiten.
quelle
looking at the output
- Nur der Rückkehrcode$?
kann hilfreich sein. Auch es hängt an geschlossenen Ports, kann eine gewisse Zeitüberschreitung überall konfiguriert werden ...echo >/dev/tcp/{hostname}/{portnumber}
nicht beendet, wenn der Port geschlossen ist. Undecho >/dev/tcp/{hostname}/{portnumber}
zeigt nichts, obwohl der Port offen ist und ich es in einem Browser sehen kann.Connection refused
. Andernfalls wird nichts angezeigt undecho $?
der Beendigungscode wird angezeigt1
Ich füge
watch
Werkzeug hier hinzu:watch nmap -p22,80 google.com
quelle
Es ist einfach mit
nmap
Beispiele:
Weitere Informationen finden Sie hier:
Geben Sie in der Befehlszeile Folgendes ein:
man nmap
http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/ http://www.tecmint.com/nmap-command-examples/
quelle
Versuchen Sie, die Kommunikation zu testen oder eine Antwort von Port 80 auf diesem Knoten zu erhalten?
PING
versucht, über ICMP eine Verbindung zu einem bestimmten Host herzustellen, die nichts mit Ports zu tun hat.Versuchen Sie stattdessen http://nmap.org/ , um die Portinformationen zu überprüfen und die Kommunikation zu testen:
quelle