재생할 pcap 파일이 있습니다. 타임 스탬프를 포함하도록 패킷 페이로드를 다시 쓰고 싶습니다. tcpreplay 또는 tcprewrite으로 어떻게 할 수 있습니까? 기본 옵션이 있습니까? 아니면 직접 구현해야합니까 (tcpreplay 수정)? 나는 잠시 동안이 페이지들을 읽고 있었고 구글도 나를 도왔다. 미리 감사드립니다.TCPREPLAY를 사용하여 패킷 페이로드에 타임 스탬프 추가
추신 : 데이터의 덮어 쓰기가 중요하지 않으므로 패킷의 원래 크기를 수정하고 싶지 않습니다. 유일한 옵션은 패킷 크기를 수정하는 것입니다, 나도 그걸로 잘됩니다.
답장을 보내 주셔서 감사합니다. 잦은 시스템 호출로 인해 포워딩 성능이 크게 저하됩니까? – tartar
그게 달려 있죠 ... 대부분의 시스템에서 gettimeofday()는 매우 비싸지 만, 지난 몇 년 동안 상당히 개선되었습니다. 예를 들어 Linux는 BIOS 호출을 HPET로 전환했는데 훨씬 빠릅니다. memcpy()를 통해 패킷에 4 바이트의 유닉스 에포크 타임 스탬프를 두는 것으로 가정하면 상당히 빠르고 오버 헤드가 적습니다. 더 높은 정확성을 원한다면, 그것은 더 많은 바이트와 더 많은 작업/오버 헤드 일 수 있지만 실제로 구현에 달려 있습니다. 짧게 말하자면, 대부분의 조건에서 실제 성능에 주목할 필요가 없습니다. 답장을 보내 주셔서 감사합니다. –