맞춤 Wireshark 해부기에서 누락 된 UDP 프레임을 어떻게 식별합니까?Wireshark Dissector : 누락 된 UDP 프레임을 식별하는 방법?
CQS feed (reference page)에 대한 맞춤 해부 도구를 작성했습니다. 우리 서버 중 하나가이 피드를 수신 할 때 갭을 둡니다. Wireshark에 따르면 일부 UDP 프레임은 수신되지 않습니다. 다른 모든 서버에 간격이 없기 때문에 프레임이 전송되었음을 압니다.
CQS 프레임은 여러 개의 메시지로 구성되며 각 메시지에는 고유 한 시퀀스 번호가 있습니다. 내 사용자 정의 해부학자는 와이어 샤크에 다음 데이터를 제공
cqs.frame_gaps - the number of gaps within a UDP frame (always zero)
cqs.frame_first_seq - the first sequence number in a UDP frame
cqs.frame_expected_seq - the first sequence number expected in the next UDP frame
cqs.frame_msg_count - the number of messages in this UDP frame
그리고 사용자 정의 열에서 각 값을 표시하고,이 스크린 샷에서와 같이 wireshark screenshot http://img692.imageshack.us/img692/9484/wiresharkcqs.jpg
내 해부학자에 코드를 추가하는 시도 단순히 저장 마지막으로 처리 된 시퀀스 번호 (로컬 정적으로) 및 해부자가 프레임을 처리 할 때 간격을 표시합니다. current_sequence != (previous_sequence + 1)
. GUI에서 클릭하는 위치에 따라 해부 기가 임의 액세스 순서로 호출 될 수 있기 때문에 이는 작동하지 않습니다. 그래서 프레임 10, 프레임 15, 프레임 11 등을 처리 할 수 있습니다.
이전에 제공된 프레임 (또는 뒤 따르는 프레임)이 누락되었는지 여부를 내 dissector가 알 수있는 방법이 있습니까?
해부학자는 C로 작성되어
(또한 참조하십시오 companion post on serverfault.com)
나는 오랫동안이 사실을 언급하지 않았지만 이것이 답이라고 생각합니다. 나는 패킷이 두 번 해부되었음을 깨닫지 못했다. –