Server kann nicht pingen, es sei denn, Wireshark erfasst Pakete

Server kann nicht pingen, es sei denn, Wireshark erfasst Pakete

Ein Server kann keine Pings an andere Server senden, es sei denn, ein Wireshark erfasst Pakete. Und ich glaube, dass ein Prozess Pakete erfasst, bevor der Ping-Prozess ausgeführt wird. Aber wie findet man diesen Prozess?

Antwort1

OK. Ich habe dieses Problem selbst gelöst. Die Wahrheit ist, dass das an meinen Server gesendete Paket eine korrekte IP-Adresse, aber eine falsche MAC-Adresse hat. Wenn Wiredshark also ausgeschaltet ist, wird die Netzwerkschnittstellenkarte (NIC) es direkt löschen. Aber wenn Wiredshark eingeschaltet ist, wird es das Paket erfassen und die MAC-Adresse in eine korrekte ändern.

Antwort2

Ich habe dasselbe Problem, wenn ich mein Ethernet-Zielgerät von einem Windows 7-Rechner (Enterprise, SP1) aus anpinge. In meiner Konfiguration gibt es zwei USB2Ethernet-Adapter und die Ethernet-Schnittstelle in Windows kommt vom Treiber des Adapters. Diese Hardwarekonfiguration funktioniert auf jeden Fall (sie funktioniert beim Anpingen von Linux aus). Aber nicht von Windows aus.

Leider klärt Ihre Antwort nicht die Ursache des Problems. Wenn Sie meinen, dass die ICMP-Antwort eine falsche MAC-Adresse hat, stellt sich die Frage, warum sie tatsächlich falsch ist. Wenn Sie handelsübliche Software (Standardtools, die mit Ihrem Betriebssystem geliefert werden) und keine manuellen ICMP-Anfragen/-Antworten verwenden, bleibt die Frage offen, was die Ursache des Problems mit der falschen MAC-Adresse ist. Der TCP/IP-Stack (zu dem die ICMP-Implementierung gehört) arbeitet meines Wissens zunächst so, dass er die MAC-Adresse über eine ARP-Broadcast-Anfrage ermittelt und dann die Ziel-MAC-Adresse basierend auf den gegebenen Antworten auswählt.

Wie dem auch sei, ich habe versucht, einen statischen ARP-Eintrag für die Ziel-IP festzulegen (habe sowohl die MAC-Adresse des USB2Ethernets ausprobiert, das mit dem Windows-Peer verbunden ist, als auch die MAC-Adresse der Ziel-Ethernet-Schnittstelle). Bisher ohne Erfolg.

Auf dem Zielsystem (das angepingt wird) kann ich sehen, dass tatsächlich ICMP-Antworten gesendet werden, aber das Windows-System scheint sie herauszufiltern.

Wenn Wireshark den Port abhört, ist das Problem behoben und die Vernetzung mit dem Zielsystem funktioniert einwandfrei (ICMP und alle anderen Protokolle).

Ich vermute, es hat etwas mit dem Promiscuous-Modus zu tun, in den Wireshark die Ethernet-Schnittstelle beim Sniffing versetzt und/oder mit einigen Windows-Einstellungen/Diensten, die ich nicht kenne.

verwandte Informationen