2013-09-03 1 views
2

원본 또는 대상 IP 주소가 192.168.0.1과 다른 모든 캡처 된 패킷을 가져오고 싶습니다. 그 목적을 위해 나는 ip.addr! = 192.168.0.1을 시도했지만 필터가 녹색 대신 노란색으로 바뀌므로 뭔가 잘못되었습니다.IP 주소마다 Wireshark 필터가 "뭔가 다른"

어떻게 (올바르게) 수행 할 수 있습니까?

답변

5

6.4.4. 일반적인 실수

경고 [경고] 경고! eth.addr, ip.addr, tcp.port, udp.port 및 이와 유사한 조합 식에! = 연산자를 사용하면 예상대로 이 작동하지 않을 수 있습니다!

사람들은 필터 문자열을 사용하여 IP 주소 1.2.3.4를 포함하는 모든 패킷을 표시하는 ip.addr == 1.2.3.4와 같은 것을 종종 표시합니다.

그렇다면 ip.addr! = 1.2.3.4를 사용하여 IP 주소 1.2.3.4가 포함되지 않은 모든 패킷을 봅니다. 유감스럽게도이 방법은 을 기대하지 않습니다.

대신 표현식은 소스 또는 대상 IP 주소가 1.2.3.4와 같은 패킷에 대해서도 적용됩니다. 그 이유는 입니다. ip.addr! = 1.2.3.4 표현식은 "패킷 에 1.2.3.4와 다른 값을 갖는 ip.addr 필드가 있습니다"라는 의미로 읽어야합니다. IP 데이터 그램에 소스와 대상 주소가 모두 포함되어 있으므로 두 주소 중 적어도 하나가 1.2.3.4와 다를 때마다이 표현식이 참으로 평가됩니다. 당신은 IP 주소 1.2.3.4에서 또는 IP 데이터 그램을 포함하는 모든 패킷을 필터링하려면

, 다음 올바른 필터입니다!이 읽을 때 "나에게 보여 (== 1.2.3.4 ip.addr) 모든 ip.addr 필드의 값이 1.2.3.4 "이거나 의 다른 단어가있는 패킷이 사실이 아닌 경우," 필드에 ip.addr이라는 항목이없는 모든 패킷을 필터링합니다. 값 1.2.3.4 ".

Source

+0

좋은, 감사합니다!   – deinocheirus