WireShark가이 프레임이 재 조립 된 PDU의 TCP 세그먼트라고 생각하는 이유


9

작은 PCAP 파일을 찾아주세요 여기 내 문제를 설명.

3 방향 TCP 핸드 셰이크가 있고 두 번의 FIX 로그온이 있습니다. (FIX는 거래에 사용되는 프로토콜입니다.) 첫 번째 FIX 로그온 (프레임 4)은 WireShark에서 잘 해석되고 구문 분석되지만 두 번째 로그온 (프레임 6)은로 해석됩니다 TCP segment of a reassembled PDU.

그러나 프레임 6은 재 조립 된 PDU의 TCP 세그먼트 가 아닙니다 . 전체 TCP PDU가 포함되어 있으며 FIX 로그온으로 해석되고 구문 분석되어야합니다. 시퀀스 번호, ACK 번호, IP 총 길이 등이 모두 올바른지 확인했습니다.

프레임 6이 재 조립 된 PDU의 TCP 세그먼트로 해석되는 이유는 무엇입니까?


이로 인해 발생한 문제가 있습니까?
— Nathan C

1
예,이 모든 프레임을 생성 중이며 분명히 내가 한 일에 문제가 있습니다.
— Randomblue

1
귀하의 질문에 프레임 4와 6 (및 아마도 인접한 프레임)의 두드러진 세부 사항을 포함시키는 것이 좋습니다. pcap 파일에 대한 링크는 훌륭하지만 소수의 독자 만이 실제로 다운로드하여 보는 경향이 있습니다.
— Skyhawk

언뜻 보면 찾을 수있는 것이 없습니다. 세그먼트 4는 단편화되지 않았다. 프레임 6은 대상에서 왔으며이 프레임 6은 프레임 4의 서버 응답으로 해석되어야합니다. 즉, FIX 로그온이 수행되어야합니다. 권리.
— Soham Chakraborty 2016 년

답변:


15

호스트의 번호가 .76 및 .67 인 것은 약간의 문제입니다.

Wireshark는 프레임 6을 "재 조립 된 PDU의 TCP 세그먼트"라고 부릅니다. 10.10.10.67의 TCP 구현은 프레임 6으로 전송 된 페이로드를 포함하지 않고 페이로드 ( "네이 키드"ACK)없이 ACK를 보내도록 선택하고 있기 때문입니다. 프레임 5의 ACK w (이것은 OS / IP 스택 종속 동작입니다.) 이는 여러 TCP 세그먼트에서 FIX dissector로 페이로드를 전달하는 TCP dissector의 동작을 트리거합니다. 어떤 이유로 든 FIX dissector는 프레임 6을 해석하지 않습니다.

TCP dissector 옵션에서 "subdissector가 TCP 스트림을 세분화 할 수 있도록 허용"옵션을 끄면 Wireshark가이를 다르게 해석한다는 것을 알 수 있습니다.

Wireshark 스크린 샷

여기 같은 일에 대한 와이어 샤크 사용자 목록에서 논의가 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.