Ich bemerkte, dass Wireshark für die Übertragung von Ein-Paket-Datei von Remote-FTP-Site zu Localhost unter Linux immer die Pakete in der richtigen Reihenfolge, aber nicht in tcpdump/libpcap oder einfache recvfrom auf RAW_PACKET mit Promiscuous-Modus auf erfassen kann.Unterschiedliche Reihenfolge der Pakete in Wireshark vs tcpdump/libpcap?
In der ersten, die "Transfer abgeschlossen" -Antwort ist immer vor dem einzelnen Datenpaket (in verschiedenen Verbindungen also keine TCP-Neuordnung), aber in letzterem immer das Datenpaket immer zuerst - was eindeutig ist falsch nach dem Protokoll und die Implementierung von FTP-Servern seit "Übertragung abgeschlossen" gesendet wird nach die Daten gesendet werden - und wenn der Client es vor Daten erhalten hat, würde es aufhören auf Datenverbindung zu warten, die nicht passiert, da ich die sehen kann Daten klar. Also fängt die libpcap/tcpdump Pakete in falscher Reihenfolge auf, aber kein solches Problem in Wireshark?
Wie ist das möglich ?? Wireshark verwendet auch libpcap ...
Ich fand, dass, wenn rohe Pakete von "ETH_P_IP" (nur IP-Paket) erfasst werden, die Reihenfolge von Paketen aus verschiedenen Verbindungen korrekt wäre (wie in Wireshark), aber nicht von "ETH_P_ALL", die alles erfasst! Aber ETH_P_ALL ist der Standard in tcpdump, also ist es eigentlich kaputt ?? – AqD
Sowohl Wireshark als auch tcpdump verwenden libpcap, um Datenverkehr zu erfassen, und libpcap *** ALWAYS *** verwendet 'ETH_P_ALL'. –