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.
Dank für die Antwort. Wird die Weiterleitungsleistung durch häufige Systemaufrufe stark beeinträchtigt? – tartar
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. –