Konstante ICMP-Echoanforderungssequenznummer - keine Antwort

1461
Bartłomiej Sługocki

Ich habe ein Programm geschrieben, das (in einer Endlosschleife) ein ICMP-Echo-Anforderungspaket sendet (das Paket besteht nur aus IP-Header und ICMP-Header), wartet einige Zeit und empfängt dann ein vom Server gesendetes ICMP-Echo-Antwortpaket (falls vorhanden) ).

Wenn die Wartezeit ziemlich lang ist (~ 10s), funktioniert alles wie erwartet - mein Programm sendet das Paket, wartet und nach der Wartezeit ist die Antwort bereit, von dem Programm empfangen zu werden. Das Problem tritt auf, wenn ich die Wartezeit auf weniger als 5 Sekunden eingestellt habe (natürlich ist es immer noch viel mehr als die Ping-Zeit): Die erste Schleifeniteration funktioniert wie erwartet, aber bei jeder nachfolgenden Iteration bekomme ich keine ICMP-Echoantwortpakete. Das Problem tritt nur dann auf, wenn die ICMP-Header aller Pakete, die mein Programm sendet, gleich sind - wenn für die Header unterschiedliche Sequenznummern eingestellt sind, verschwindet das Problem (für jede Anforderung gibt es eine Antwort).

Ich habe ein bisschen gegoogelt, aber ich habe keine Erklärung für dieses Phänomen gefunden. Blockiert der Server oder einer der Router auf dem Pfad zum Server meine Pakete, weil derselbe Inhalt in zu kurzen Zeitabständen kommt? Ist es eine Art Anti-Ping-Flood-Angriffssystem?

0
Hast du Wireshark ausprobiert? Was sagt es? vor 7 Jahren 1
Ich habe tcpdump verwendet - es werden keine Antwortpakete für meine Anfragen angezeigt (außer für das erste natürlich). Bartłomiej Sługocki vor 7 Jahren 0
Funktioniert der Ping-Befehl des Betriebssystems mit demselben Ziel? Alex vor 7 Jahren 1
Ja, Ping funktioniert korrekt, aber die Pakete, die es sendet, haben andere Sequenznummern - in dieser Situation funktioniert auch mein Programm. Bartłomiej Sługocki vor 7 Jahren 0
Möglicherweise ignoriert der Zielhost diese Pakete als Duplikate. Denn dafür ist die Sequenznummer ... grawity vor 7 Jahren 1

0 Antworten auf die Frage