다음 필터 표현식을 사용하여 IPv4/IPv6 SYN/ACK/FIN/RST 패킷을 스니핑합니다. 이것은 IPv4 용 tcpdump를 사용하여 잘 작동하지만 IPv6에 대해서는 어떤 것도 나오지 않습니다.IPV6 SYN - ACK 패킷 스니핑 문제
tcp 포트 80 및 (tcp [tcpflags] & (tcp-syn | tcp-ack | tcp-fin | tcp-rst)! = 0))
다음 필터 표현식을 사용하여 IPv4/IPv6 SYN/ACK/FIN/RST 패킷을 스니핑합니다. 이것은 IPv4 용 tcpdump를 사용하여 잘 작동하지만 IPv6에 대해서는 어떤 것도 나오지 않습니다.IPV6 SYN - ACK 패킷 스니핑 문제
tcp 포트 80 및 (tcp [tcpflags] & (tcp-syn | tcp-ack | tcp-fin | tcp-rst)! = 0))
현재 TCPDump (및 Wireshark)는 IPv6 하에서 임베디드 프로토콜 BPF 필터를 지원하지 않습니다. 이러한 패킷을 찾으려면 BPF 오프셋 및 마스크를 사용해야합니다. 예를 들어
:
ip6 proto tcp and ip6[13+40]&0x17!=0
여기에 우리가 TCP는 IPv6 헤더에 포함 된 프로토콜이 있는지 확인한다. 거기에서 우리는 13 바이트를 TCP 헤더에 넣고 40 바이트를 추가합니다. 우리가 ip6 헤더의 시작 부분에서 참조하기 때문입니다. 난 당신이 이미 0x17
당신이 쓴 (SYN | ACK | FIN | RST)와 일치하는 마스크가 될 것을 알고 있다고 가정합니다.
프로토콜 체인 어디에서나 TCP를 찾을 수있는 protochain
옵션이 있지만 BPF를 사용하여 "다음 머리글"에 TCP가 포함되어 있는지 추적하는 것은 실제로 실용적이지 않습니다 (마지막 것이어야합니다).
and ip6[(40+2):2]=80