2012-03-28 5 views
1

ich eine pcap-Datei wiederzugeben haben. Ich möchte Packet Payload umschreiben, um einen Zeitstempel zu enthalten. Wie kann ich das mit tcpreplay oder tcprewrite tun? Gibt es eine Standardoption oder sollte ich sie selbst implementieren (tcpreplay modifizieren)? Ich habe diese Seiten für eine Weile gelesen und Google hat mir auch nicht geholfen. Vielen Dank im VorausZeitstempel hinzufügen Um Paketnutzdaten mit TCPREPLAY

PS: Ich mag nicht die ursprüngliche Größe des Pakets ändern, da die Daten nicht wichtig Überschreiben in Ordnung sind. Wenn nur die Paketgröße geändert werden soll, geht es mir auch gut.

Antwort

2

Diese Art der Bearbeitung nicht von tcpreplay/tcprewrite unterstützt, so dass Sie den Code selbst schreiben müsste. Wenn es Ihnen nichts ausmacht, Ihre Paketdaten zu korrumpieren (was sich anhört, als wären Sie in Ordnung), dann sollte es ziemlich einfach sein, indem Sie tcpedit.c editieren.

+0

Dank für die Antwort. Wird die Weiterleitungsleistung durch häufige Systemaufrufe stark beeinträchtigt? – tartar

+0

Nun, das hängt davon ab ... gettimeofday() verwendet, auf den meisten Systemen sehr teuer sein, aber die Dinge haben sich deutlich in den letzten Jahren verbessert. Linux hat zum Beispiel von einem BIOS-Aufruf zu HPET gewechselt, was viel schneller ist. Angenommen, Sie fügen einfach einen 4-Byte-UNIX-Epochen-Zeitstempel in das Paket über memcpy() ein, der ziemlich schnell und mit geringem Overhead wäre. Wenn Sie eine höhere Genauigkeit wünschen, sind das mehr Byte und möglicherweise mehr Arbeit/Overhead, aber es hängt wirklich von Ihrer Implementierung ab. Lange Rede, kurzer Sinn, Sie sollten unter den meisten Bedingungen keinen wirklichen Leistungseinbruch bemerken. –

1

Wenn Sie nicht auf ein Kommandozeilen-Tool gebunden sind, Kasse netdude. Es ist GTK-Anwendung, mit der Sie eine Paketverfolgung mit nur wenigen Klicks bearbeiten können.

Hier ist ein Screenshot, der den Dialog zum Bearbeiten der TCP-Header-Felder zeigt.

TCP header editing http://netdude.sourceforge.net/screenshots/0.4/shot-1.gif

Die begleitende Bibliothek libnetdude ist der Kern der netdude. Schreiben Sie Ihr eigenes Tool mit, wenn die von netdude zur Verfügung gestellte GUI Ihren Anforderungen nicht entspricht.

+0

danke für die Antwort. Ich muss den gpbs-Verkehr wiederholen. Ich werde die Leistung von libnetdude mit tcpreplay vergleichen. – tartar

+0

In diesem Fall ist [Click] (http://www.read.cs.ucla.edu/click/click) möglicherweise die bessere Wahl für Ihre Problemskala. – mavam

+0

Eigentlich wäre dies ein Traffic-Generator für einen Klick-Router. Ich entscheide mich dafür, Zeitstempel in den Traffic Generator zu integrieren, statt sie in Klicks zu stampfen, in der Hoffnung, einen besseren PPS auf dem Klick-Rechner zu bekommen, aber ich bin mir nicht sicher, welche Art von Leistung ich in Klicks mit Zeitstempel bekommen würde. – tartar

Verwandte Themen