ICMP
ICMP-Leitfaden: Ping, Traceroute und Netzwerkdiagnose
Verstehen Sie, wie sich ICMP von TCP- und UDP-Ports unterscheidet, wann Echo-Anfragen zulässig sind und wie Sie die Diagnose nützlich halten, ohne zu Missbrauch einzuladen.
- Standardport
- ICMP
- Protokoll
- ICMP
- Haupteinsatz
- Netzwerkdiagnose
Was ist ICMP?
ICMP (Internet Control Message Protocol) überträgt Netzwerksteuerungs- und Fehlermeldungen. Es wird von Tools wie Ping und Traceroute verwendet, ist jedoch kein TCP- oder UDP-Dienst und verfügt nicht wie HTTP, SSH oder DNS über eine Portnummer.
ICMP hat Typen und Codes, keine Ports
Ping verwendet ICMP-Echo-Anfrage- und Echo-Antwortnachrichten. Andere ICMP-Nachrichten melden unerreichbare Ziele, Zeitüberschreitungen, Fragmentierungsbedarf und Routing-Probleme.
Das Blockieren des gesamten ICMP kann die Fehlerbehebung beeinträchtigen
Einige ICMP-Nachrichten sind wichtig für die Pfad-MTU-Erkennung, Latenzprüfungen, Überwachung und Diagnose von Routing- oder Firewall-Problemen.
So funktioniert ICMP
ICMP läuft parallel zu IP, um Netzwerkbedingungen zu melden. Ein Host, Router oder eine Firewall können ICMP-Nachrichten senden, wenn ein Ziel nicht erreichbar ist, ein Paket während der Übertragung abläuft, eine Fragmentierung erforderlich ist oder eine Diagnose-Echo-Anfrage eine Antwort benötigt.
Der bekannteste ICMP-Workflow ist Ping. Ein Client sendet eine Echo-Anfrage und das Ziel antwortet mit einer Echo-Antwort. Die Roundtrip-Zeit gibt einen schnellen Hinweis auf Erreichbarkeit und Latenz, sie beweist jedoch nicht, dass ein Anwendungsport wie 443 oder 22 offen ist.
ICMP-Ports vs. TCP- und UDP-Ports
ICMP verwendet keine TCP- oder UDP-Portnummern. Es verwendet Nachrichtentypen und Codes. Aus diesem Grund sollte ein ICMP-Leitfaden nicht wie ein normaler Artikel über offene Ports behandelt werden: Sie entscheiden, ob bestimmte ICMP-Nachrichten zugelassen werden sollen, und nicht, ob ein Daemon einen nummerierten Port überwacht.
Ein Port-Checker testet die Erreichbarkeit von TCP- oder UDP-Diensten. Ping testet die ICMP-Erreichbarkeit. Beide sind nützlich, beantworten aber unterschiedliche Fragen. Ein Server kann Ping blockieren, während HTTPS funktioniert, oder auf Ping reagieren, während jeder Anwendungsport geschlossen ist.
Ping vs. Traceroute
Ping prüft, ob ein Ziel auf ICMP-Echo reagiert und wie lange der Roundtrip dauert. Es ist nützlich für schnelle Erreichbarkeitsprüfungen, Überwachungstests und Latenz-Baselines.
Traceroute ordnet den Pfad zu, indem es Pakete mit steigenden TTL-Werten sendet und unterwegs ICMP-Zeitüberschreitungsmeldungen von Routern liest. Einige Plattformen verwenden UDP- oder TCP-Probes für Traceroute, aber ICMP-Nachrichten sind immer noch von zentraler Bedeutung dafür, wie viele Pfaddiagnosen Zwischenhops melden.
Wann ICMP erlaubt sein soll
Erlauben Sie ICMP, wenn Überwachungssysteme, Lastausgleichsfunktionen, Netzwerkteams oder Betriebsmitarbeiter Erreichbarkeits- und Latenzsignale benötigen. Bei internen Netzwerken verbessert die Zulassung von kontrolliertem ICMP oft die Fehlerbehebung und reduziert blinde Flecken.
Für öffentliche Systeme erlauben viele Teams begrenzte Echo-Antworten von vertrauenswürdigen Überwachungsquellen und ermöglichen wesentliche Fehlermeldungen wie „Fragmentierung erforderlich“ oder „Destination-unreachable“-Verhalten. Die genaue Richtlinie sollte zu Ihrem Netzwerkrand, Ihrer DDoS-Situation und Ihren Beobachtbarkeitsanforderungen passen.
Vor dem Ändern der ICMP-Firewallregeln
Bevor Sie ICMP blockieren oder zulassen, entscheiden Sie, welche Nachrichten Sie kontrollieren. Echo-Anfrage, Echo-Antwort, Zeitüberschreitung, Ziel nicht erreichbar und Paket-zu-großes Verhalten haben unterschiedliche betriebliche Auswirkungen.
Vermeiden Sie einen pauschalen Block, es sei denn, Sie verstehen den Kompromiss. Das Blockieren des gesamten ICMP kann die Pfad-MTU-Erkennung unterbrechen, nützliche Routing-Fehler verbergen, die Überwachung weniger genau machen und Teams dazu zwingen, mit schwächeren Signalen zu debuggen.
So verwalten Sie ICMP unter Windows, Linux und Cloud-Firewalls
Unter Windows verfügt die Windows Defender Firewall über vordefinierte ICMP-Echoregeln, die für ausgewählte Profile und Quelladressen aktiviert werden können. Erweitern Sie die Regeln nach Möglichkeit auf vertrauenswürdige Netzwerke, anstatt standardmäßig breite öffentliche Ping-Antworten zu aktivieren.
Unter Linux können nftables, iptables, firewalld und Cloud-Sicherheitsgruppen ICMP nach Typ zulassen oder einschränken. Viele Distributionen machen auch Kernel-Systemeinstellungen für das Echoverhalten verfügbar, aber die Firewall-Richtlinie ist normalerweise der klarere Kontrollpunkt.
Auf Cloud-Plattformen behandeln Sicherheitsgruppen ICMP oft getrennt von TCP und UDP. Überprüfen Sie sowohl eingehende als auch ausgehende Richtlinien und denken Sie daran, dass Load Balancer, CDN-Edges und Anbieter-DDoS-Kontrollen ICMP möglicherweise anders handhaben als Instanz-Firewalls.
- Diagnose: Lassen Sie bei Bedarf ausreichend ICMP für Ping, Traceroute, Pfad-MTU-Erkennung und Fehlersichtbarkeit zu.
- Scoping: Beschränken Sie öffentliche Echoantworten auf vertrauenswürdige Überwachungsquellen, wenn keine umfassende Sichtbarkeit erforderlich ist.
- Ratenbegrenzungen: Verwenden Sie Ratenbegrenzung oder Kantenschutz, um das Überschwemmungsrisiko zu reduzieren, ohne alle Diagnosen zu entfernen.
- Validierung: Testen Sie sowohl die ICMP-Erreichbarkeit als auch die Anwendungsports, da sie unterschiedliche Fragen beantworten.
So testen Sie ICMP
Verwenden Sie Ping, um die Echoanforderung und -antwort zu testen. Verwenden Sie Traceroute oder Tracert, um den Pfad zu überprüfen und festzustellen, wo Pakete aufhören. Beachten Sie dabei, dass einige Router ICMP-Antworten absichtlich unterdrücken oder die Geschwindigkeit begrenzen.
Wenn Ping fehlschlägt, eine Anwendung aber funktioniert, wird ICMP möglicherweise blockiert, während TCP oder UDP zulässig ist. Wenn Ping funktioniert, die Anwendung jedoch fehlschlägt, ist das Ziel auf der Netzwerkebene erreichbar, aber der spezifische Dienst-Port, die Firewall-Regel, der Listener oder die Anwendung sind möglicherweise fehlerhaft.
Häufige ICMP-Fehlerbehebungsfälle
Wenn beim Ping eine Zeitüberschreitung auftritt, ist das Ziel möglicherweise ausgefallen, eine Route fehlt möglicherweise, das ICMP-Echo ist möglicherweise blockiert oder eine zwischengeschaltete Firewall verwirft die Nachricht. Zeitüberschreitungen beweisen nicht automatisch, dass der Host offline ist.
Wenn Traceroute an einem Hop stoppt, filtert dieser Hop möglicherweise TTL-abgelaufene Antworten oder ratenbegrenzende Diagnosen. Wenn große Übertragungen fehlschlagen, während kleine Anfragen funktionieren, überprüfen Sie die Pfad-MTU-Erkennung und ob Paket-zu-große Nachrichten blockiert werden.
Sicherheitscheckliste für ICMP
Lassen Sie ICMP bewusst zu, anstatt reflexartig alles zu blockieren. Begrenzen Sie den Echoverkehr, grenzen Sie gegebenenfalls öffentliche Antworten ein und bewahren Sie wichtige Fehlermeldungen auf, die für ein stabiles Netzwerk erforderlich sind.
Überwachen Sie ungewöhnliche ICMP-Volumen, gefälschte Quellen und Überschwemmungsmuster am Rand. Kombinieren Sie für sensible Netzwerke ICMP-Richtlinien mit Segmentierung und vertrauenswürdiger Überwachung, anstatt sich auf die Ping-Sichtbarkeit als Sicherheitsgrenze zu verlassen.
Häufig gestellte Fragen
Welchen Port verwendet ICMP?
ICMP verwendet keine TCP- oder UDP-Ports. Es verwendet Nachrichtentypen und Codes wie Echo-Anfrage und Echo-Antwort für Ping.
Ist Ping dasselbe wie eine Portprüfung?
Nein. Ping testet die ICMP-Erreichbarkeit. Eine Portprüfung prüft, ob ein TCP- oder UDP-Dienst erreichbar ist. Ein Host kann auf Ping antworten, während alle Anwendungsports geschlossen sind, oder Ping blockieren, während Anwendungen noch funktionieren.
Soll ich ICMP blockieren?
Blockieren Sie nicht standardmäßig alle ICMP, ohne die Auswirkungen zu verstehen. Kontrolliertes ICMP hilft bei der Überwachung, Traceroute, Pfad-MTU-Erkennung und Fehlerbehebung. Begrenzen Sie stattdessen den Umfang oder die Rate, wenn möglich.
Warum schlägt der Ping-Vorgang fehl, aber die Website funktioniert?
Der Server oder das Netzwerk blockiert möglicherweise das ICMP-Echo, während es HTTP oder HTTPS zulässt. Testen Sie den tatsächlichen Anwendungsport, um die Erreichbarkeit des Dienstes zu bestätigen.