패킷 도착 시간을 측정하는 방법은 무엇입니까?

패킷 도착 시간을 측정하는 방법은 무엇입니까?

패킷이 도착하면 NIC가 인터럽트를 생성하고 커널이 인계받습니다. 특정 TCP 흐름에 대한 패킷 도착 시간을 측정하고 싶습니다.

Linux에서 이 작업을 어떻게 수행합니까? 이것이 tcpdump와 같은 도구의 용도입니다.

답변1

tcpdump모든 패킷에 타임스탬프를 추가합니다. 따라서 tcpdump를 사용할 수 있어야 합니다. 그렇지 않으면 네트워크 트래픽도 모니터링하지만 멋지고 강력한 GUI를 갖춘 Wireshark를 사용해 볼 수 있습니다. 이 프로세스를 스크립트로 작성할 필요가 없다면 이 상황에서는 Wireshark가 여러분의 친구라고 말하고 싶습니다.

당신은 볼 수 있습니다http://www.howtogeek.com/104278/how-to-use-wireshark-to-capture-filter-and-inspect-packets/Wireshark 사용 방법에 대한 추가 정보.

이를 직접 측정하는 방법에 더 관심이 있다면 제안된 대로 소스 코드를 확인 tcpdump하거나 읽어보세요. 여러분의 애플리케이션에서 사용할 수 있는 시스템 호출 목록을 제공합니다. 그러나 가장 간단한 해결책은 타임스탬프 열을 필터링할 수 있는 다른 도구를 통해 출력을 실행한 다음 필터링하는 것입니다.stracestracetcpdumpawk

tcpdump또한, 사용 방법에 대한 자세한 정보를 확인할 수 있습니다.http://danielmiessler.com/study/tcpdump/

답변2

tcptrack 도구를 살펴보십시오. 이를 측정할 수도 있습니다.

답변3

같은 뜻인가요 traceroute? 이 -p옵션을 사용하면 프로토콜을 선택할 수 있습니다.

[root@osgiliath ~]# traceroute myserver.mydomain.com -p 443
traceroute to myserver.mydomain.com (10.11.20.30), 30 hops max, 60 byte packets
 1  10.119.9.253 (10.10.10.1)  0.262 ms  0.294 ms  0.360 ms
 2  10.111.225.114 (10.11.20.14)  0.326 ms  0.387 ms  0.466 ms
 3  myserver.mydomain.com (10.11.20.30)  7.558 ms  7.558 ms  7.547 ms

관련 정보