2009-06-30 8 views
7

Ich muss Paketverlust für eine FTP-Anwendung testen. Ich benutzte den Paket-Sniffer Wireshark, und ich bekam TCP-Stream.Wie finden Sie den Paketverlust in Wireshark?

Wie finde ich den Paketverlust Wireshark?

+1

Wo Sie Wireshark laufen - auf dem FTP-Client-Rechner, die FTP-Server-Maschine oder eine andere Maschine hängen von dem Netzwerk auf einem Hub? – Vicky

+1

Dies hängt vielleicht auch nicht programmieren, sollte in diesem Zusammenhang auf serverfault –

Antwort

-1

[Zr40 weist darauf hin, dass dieser Teil falsch ist: Um meinen Kommentar zu erweitern - Wireshark sagt Ihnen die Anzahl der abgeworfenen Pakete in der Statusleiste am unteren Rand (Ich habe gerade ein Beispiel-Capture und es heißt "Pakete: 65 Angezeigt: 65 Markiert: 0 Gelöscht: 0 ") aber ich bin nicht sicher, ob Sie die gleichen Ergebnisse daraus erhalten, je nachdem, an welchem ​​Ende Sie es ausführen.]

In diesem Fall - I Angenommen, Sie müssten Wireshark an jedem Ende ausführen und die Paketstatistiken (Anzahl der Pakete A-> B, B-> A) betrachten und die Unterschiede vergleichen. Sie können sich nicht auf TCP-Wiederholungen usw. verlassen, da dies nicht notwendigerweise bedeutet, dass das Paket verloren geht.

Außerdem benötigen Sie nur ein Capture-Filter für FTP einrichten, wenn Sie Ihre Statistiken wollen von anderen Sachen wie ARPs, DNS-Lookups verzerrt werden usw.

+0

‚Dropped‘ gehen bedeutet, dass Wireshark nicht Pakete schnell genug erfassen konnten einige wurden so ignoriert. – Zr40

+0

@ Zr40: Oh - danke, das habe ich nicht bemerkt. – Vicky

6

Paketverlust und andere verwandte Metriken wie Bit Fehlerrate (BER) kann schwer oder unmöglich sein, empirisch zu sehen, indem Sie auf Dumps in Wireshark schauen, abhängig davon, welche Schicht Sie betrachten möchten. Und vieles hängt stark davon ab, welche Protokolle Sie verwenden und welche Software/Firmware es implementiert.

Ich hatte genau dieses Erlebnis mit Wi-Fi-Router, zum Beispiel. Ich musste die BER einer gegebenen Wi-Fi-Verbindung empirisch testen. Aber es stellt sich heraus, dass 802.11 ein TCP-ähnliches CRC-basiertes Neuübertragungssystem hat, das alles auf der Verbindungsschicht vorkommt. So können Sie beispielsweise ein UDP-Paket vom Wi-Fi-Gerät A an das Wi-Fi-Gerät B senden. Bei der Übertragung werden ein paar Bits umgedreht, Gerät B erkennt, dass der CRC falsch ist, und sendet eine Anforderung zur erneuten Übertragung. Das Paket wird erneut gesendet und erneut beschädigt. Beim dritten Versuch kommt das Paket jedoch gut durch.

Daraus würden Sie hoffen, dass irgendeine Art von Paketverlust Metrik rechts zu sehen? Naja, leider nicht. Dieser ganze Austausch findet unter Wireshark statt. Alles, was es sieht, ist ein UDP-Paket, das erfolgreich gesendet wird, aber dreimal so lange dauert wie normal, um dorthin zu gelangen. (I liquidiert mit Kernel Modifikationen, um eine Mitteilung zu senden, wenn Link-Layer-CRC-Fehler aufgetreten Es war ein Chaos.!)