PING-Portnummer?

50

Gestern hat mich ein Interviewer gefragt, was die Portnummer für Ping ist und welches Protokoll Ping TCP / UDP verwendet.

Nach dem Interview habe ich im Internet gesucht und unterschiedliche Ergebnisse gefunden. Jemand sagt, dass ICMP Port 7 verwendet. Jemand sagt, dass es keine Portnummer verwendet. An einer Stelle habe ich festgestellt, dass es IP-Protokoll 1 verwendet.

Kann mir jemand mit der richtigen Erklärung helfen?

Grüße, Nishad

Nishad Morey
quelle
2
TCP und UDP sind Layer-4-Protokolle und Ports sind TCP- oder UDP-Adressen, ICMP ist jedoch Teil von IP (Layer-3). Aus RFC 792: " ICMP verwendet die grundlegende Unterstützung von IP wie ein übergeordnetes Protokoll. ICMP ist jedoch ein wesentlicher Bestandteil von IP und muss von jedem IP-Modul implementiert werden. "
Ron Maupin
1
Das Diskutieren von Ebenen ist hier etwas irreführend, da ICMP, TCP und UDP als Protokolle 1, 6 bzw. 17 direkt über IP übertragen werden. Überprüfen Sie für das OP die Header für ICMP / TCP / UDP oder führen Sie eine Paketerfassung durch, um festzustellen, wie sie sich unterscheiden. Denken Sie daran, dass ICMP vollständig von TCP und UDP getrennt ist.
cmschmidt15
Hast du den Job bekommen?
Janac Meena
1
Ja, ich habe den Job bekommen.
Nishad Morey

Antworten:

62

Der Standard-Ping-Befehl verwendet weder TCP noch UDP. Es verwendet ICMP. Genauer gesagt werden ICMP Typ 8 (Echo Message) und Typ 0 (Echo Reply Message) verwendet. ICMP hat keine Ports!

Weitere Informationen finden Sie in RFC792 .

Jens Link
quelle
5
Zur Verdeutlichung wird ICMP direkt über IP als IP-Protokoll übertragen. 1. Innerhalb des ICMP-Headers haben Sie die Typen Echo / Echo-Antwort usw. Vergleichen Sie dies mit TCP und UDP, die als IP-Protokolle 6 bzw. 17 über IP laufen und zur Unterscheidung von Anwendungen ihr eigenes Portsystem verwenden.
cmschmidt15
5

Ich möchte Ihnen eine zusätzliche Antwort speziell auf diesen Teil der Frage geben:

... jemand sagt, dass ICMP Port 7 verwendet

Port 7 (sowohl TCP als auch UDP) wird für den "Echo" -Dienst verwendet.

Wenn dieser Dienst auf einem Computer verfügbar ist, kann UDP-Port 7 anstelle von ICMP verwendet werden, um einen "Ping" auszuführen.

Auf den meisten modernen Computern wird der "Echo" -Dienst jedoch nicht ausgeführt, sodass ein "Ping" über UDP-Port 7 anstelle von ICMP nicht funktioniert.

Und: Wie die Wörter "anstelle von ICMP" bereits anzeigen, verwendet "Ping" über UDP-Port 7 NICHT ICMP, sondern UDP, ein völlig anderes Protokoll!

Martin Rosenau
quelle
Als Gegenargument zu Ihrer Antwort ist hier ein Beitrag, den jemand in einem Forum, das ich zu diesem Thema gefunden habe, sagte: "Leute, die denken, dass ICMP irgendwie Port 7 verwendet (den alten Echodienst, bei dem jedes Zeichen, das Sie an ICMP gesendet haben, wiedergegeben wird), sollten Wenn Sie mit dem, was ich gesagt habe, nicht einverstanden sind, sehen Sie sich die Struktur eines IP-Datagramms und eines ICMP-Datagramms an bestimmte Medien müssen den Rahmen bilden. "
Jesse P.
"ICMP verwendet keinen Port, da kein Platz für einen Port vorhanden ist. Es ist nur mit einem IP-Datagramm gekapselt. Die Option" port "ist nur in UDP- und TCP-Datagrammen verfügbar. Um das ICMP-Echo zu blockieren, würden Sie das explizit blockieren Typ und Code "
Jesse P.
Das vollständige Forumsthema lautet community.infosecinstitute.com/discussion/8777
Jesse P.
@JesseP. Habe ich geschrieben, dass ICMP Port 7 verwendet? Nein. Ich habe sogar das Wort "anstatt" in "anstelle von ICMP" fett geschrieben, um anzuzeigen, dass Port 7 nichts mit ICMP zu tun hat. Ich werde meine Antwort etwas überarbeiten, um dies klarer zu machen.
Martin Rosenau
Das ist fair. Es war etwas verwirrend zu lesen. Es tut uns leid.
Jesse P.
2

Wie bereits erwähnt, basieren Pings im Allgemeinen auf ICMP und haben keine Ports. Es gibt jedoch so etwas wie TCP-Ping, bei dem anstelle des typischen 3-Wege-TCP-Handshakes nur die ersten beiden Schritte ausgeführt werden und die Verzögerung zwischen diesen gemessen wird. Sobald die Messung abgeschlossen ist, wird ein RST-ACK gesendet, um die halboffene Verbindung zu schließen. Dann wiederholt sich der Vorgang, bis der Zähler / die Dauer erreicht ist oder Sie den Vorgang beendet haben. Mit TCP-Ping (das ich HÄUFIG verwende, um auf Servern, auf denen meine Systemadministratoren arbeiten, nach offenen Ports zu suchen) können Sie zu testende Zielports angeben (um sicherzustellen, dass ein Server einen bestimmten Port überwacht). Der Quellport ist nur ein kurzlebiger Zufallsport.

Wenn Sie ein Beispiel für ein TCP-Ping-Dienstprogramm sehen möchten (das ich auf Windows-Systemen verwende), klicken Sie hier: TCPing . Außerdem wird NMAP mit einem Dienstprogramm namens NPING ausgeliefert, das über ein Flag verfügt, mit dem es auch TCP-basierte Pings ausführen kann.

Hinweis: Einige Netzwerkgeräte verfügen auch über diese Funktion, z. B. Cisco-ASAs, die einige der neueren Betriebssystemversionen verwenden. Der Befehl lautet:ping tcp <destination IP> <destination port>

Jesse P.
quelle
1

Ping benutze nicht Port sondern Protokoll. Ping sendet ICMP-Echoanforderungspakete (Internet Control Message Protocol) an den Zielhost und wartet auf eine ICMP-Echoantwort. Aus Sicherheitsgründen ist dies jedoch häufig deaktiviert.

James Jang
quelle