Wie konfiguriert tcpdump eine Schnittstelle, von der Pakete zu erfassen beginnen?

544
nndhawan

Auf einem Embedded-Linux-System von Arago kann eine Schnittstelle normalerweise andere Ziele im Netzwerk anpingen. Die Pings funktionieren jedoch nicht mehr, wenn ein Dienstprogramm wie iperf oder scp verwendet wird, um TCP-Verkehr an diese Ziele zu senden. Zusätzlich arbeiten iperf und scp momentan (dh sie senden Daten), und dann stoppt der TCP-Verkehr von iperf und scp. Gleichzeitig stoppt der ICMP-Verkehr des Pings zum Zielgerät.

Wenn wir tcpdump auf der Schnittstelle ausführen, scheint das Senden von TCP-Verkehr von Punkt A nach Punkt B ohne Probleme möglich zu sein. Wie kann tcpdump funktionieren? Es fühlt sich an wie das Doppelspaltexperiment, dass das Beobachten dazu führt, dass es sich auf eine Weise verhält und das Nicht-Beobachten es auf eine andere Weise verhält.

In jedem Fall handelt es sich um eine eingebettete Linux-Umgebung (Arago), in der busybox installiert ist. Wenn jemand eine Vorstellung davon hat, wie sich tcpdump auf ein Interface auswirkt, auf das er sich hört, teilen Sie bitte Ihr Verständnis.

Der Befehl tcpdump, den ich verwende, lautet wie folgt:

tcpdump -i -w

HINWEIS: Eine Hypothese, die ich hatte, lautete, dass tcpdump die Schnittstelle beim Erfassen von Paketen in den Promiscuous-Modus versetzt. Wenn ich jedoch den Promiscuous-Modus mit "ifconfig promisc" ohne "tcpdump" einsetze, gingen die Daten nicht durch und Pings reagierten nicht (dh dasselbe unerwünschte Ergebnis). Gibt es noch andere Dinge, die tcpdump mit der Schnittstelle macht, die es riecht?

2
1) Sie stellen eine XY-Frage. Wenn Sie tcpdump verstehen, wird das tatsächliche Problem möglicherweise nicht gelöst. 2) Das eigentliche Problem ist unklar, da Sie es negativ formuliert haben: * "Eine Schnittstelle kann nicht außerhalb des Netzwerks pingen" * Aber was kann die Schnittstelle *? Was passiert "im Netzwerk"? Haben Sie "Arping" versucht? * "das Verhalten war der Link ausgefallen" * - wie in `/ sys / class / net // operstate` würde tatsächlich bedeuten, dass der Link nicht erreichbar ist, oder meinen Sie wirklich, dass Sie es nicht dazu bringen konnten, zu antworten? sawdust vor 6 Jahren 0
Lassen Sie mich versuchen, meine Frage mit den von Ihnen vorgeschlagenen Begriffen zu erklären. nndhawan vor 6 Jahren 0
Ich habe versucht, die Frage besser zu erklären. Um Ihre spezifischen Fragen zu beantworten. "" Eine Schnittstelle kann nicht außerhalb des Netzwerks pingen. "Aber was kann die Schnittstelle? Was passiert" innerhalb des Netzwerks? " Es ist in der Lage, TCP-Datenverkehr vorübergehend ohne TCP-Dump zu senden, und TCP-Daten können mit TCP-Dump erfolgreich gesendet werden. Die Ziel-IP befindet sich im selben Netzwerk wie die Schnittstelle. "Hast du Arping versucht?" NEIN. nndhawan vor 6 Jahren 0
"Das Verhalten war der Link ist ausgefallen" - Wie in / sys / class / net // operstate würde tatsächlich darauf hinweisen, dass der Link nicht erreichbar ist, oder meinst du wirklich, dass du es nicht dazu bringen könntest, zu antworten? Ich wusste nichts von dieser Datei, also werde ich das nächste Mal überprüfen und später berichten. Wenn jedoch das unerwünschte Verhalten auftritt, kann ich immer noch ein Ping an die Schnittstelle senden, aber ich kann keine Zielgeräte anpingen, auf die normalerweise über diese Schnittstelle zugegriffen werden sollte. Danke für deinen Beitrag. nndhawan vor 6 Jahren 0

0 Antworten auf die Frage