2017-12-19 5 views
1

다음 필터 표현식을 사용하여 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))

답변

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 
관련 문제