2013-07-23 2 views
1

"tcp src localhost"와 같은 필터를 사용하여 libpcap로 패킷을 필터링하고 있습니다. 소스가 localhost (내 호스트) 인 모든 패킷을 필터링합니다.
localhost가 이미 sendt 패킷에 대한 TCP 확인을받지 못하면 localhost는 패킷을 전달합니다.
libpcap로 필터링 된 모든 패킷이 목적지에 도착하는 것은 아니므로 패킷이 "전달 된 패킷"인 경우를 식별해야합니다. libpcap으로 전달 된 패킷을 식별 할 수있는 방법이 있습니까?libpcap을 사용하여 재전송 된 패킷 감지

답변

1

제 생각에 TCP 재전송을 찾고 있습니다. 캡처 후 wierark에 표시 채우기 으로 찾을 수 있습니다. 이 두 당신을 도움이 될 것입니다

  • 재전송 패킷은 디스플레이 필터 tcp.analysis.retransmission (more such filters)를 통해 확인할 수 있습니다.
  • 수신자가 순서가 잘못된 패킷을 수신하면 (일반적으로 손실 된 패킷을 나타냄) 누락 된 seq 번호에 대한 ACK를 전송합니다. 이것은 중복 ACK이며 tcp.analysis.duplicate_ack (details)을 사용하여 찾을 수 있습니다.
+0

네 말이 맞아. 용어에 대해 이미 들어 본 적이 없지만 전문가가 사용한 용어는 "재전송"입니다. – tremendows

+0

libpcap 필터 "tcp src localhost 및 (tcp.analysis.retransmission이 아님)"컴파일에 실패했습니다 (pcap_compile (...)). 그것은 wireshark에서 작동하지만 libpcap 필터를 찾고있었습니다. 어쨌든 도움을 주셔서 감사합니다. libpcap을 사용할 수 없다면 tshark와 같은 다른 옵션을 찾아야 할 것입니다. – tremendows

+0

네, 왜 내가 그 디스플레이 필터를 말했다. 캡처 필터가 아닙니다. – jman

관련 문제