이 필터는 !ssh
Wireshark에서는 작동하지만 tshark에서는 작동하지 않습니다! ,
이렇게 하면 tshark '!ssh'
필터에 대해 불만이 표시되는데 여기서 무엇이 문제입니까?
답변1
답변2
@jofel이 그의 답변에서 말했듯이, 내 기사에서 자세히 설명했듯이초보자를 위한 와이어샤크 튜토리얼- 디스플레이 필터와 캡쳐 필터에는 차이가 있습니다.
캡처 필터
매우 혼잡한 네트워크에서는 각 패킷을 캡처하면 단 몇 초 만에 기가바이트의 데이터가 생성될 수 있으며, 그 중 많은 부분이 전혀 관심을 끌지 못할 가능성이 높습니다.
이곳은캡처 필터편리하게 오세요. 캡처 필터를 정의하면 Wireshark가 네트워크 트래픽의 특정 하위 집합만 캡처하도록 지시할 수 있습니다. IP 주소, IP 주소 범위, 포트 번호, 프로토콜 등을 기준으로 필터링할 수 있습니다.
캡처 필터를 사용할 때 일치하지 않는 패킷은 캡처 파일에 저장되지 않습니다. 당신은 그들을 복구할 수 없습니다. 네트워크가 매우 혼잡하지 않은 경우 일반적으로 모든 것을 캡처하고 저장한 다음 디스플레이 필터를 사용하여 관심 있는 하위 집합만 분석하는 것이 좋습니다.
이것은 문서입니다캡처 필터 구문
필터 표시**는 또 다른 이야기입니다.
필터 표시캡처 필터와는 다릅니다. 현재 Wireshark 인터페이스(또는 콘솔에 대한 tshark 출력)에 표시되는 내용만 제한합니다. 더 고급 기능이며 다른 구문을 사용합니다. 문자열 비교, 값 확인 등 다양한 연산자를 사용하여 파서가 인식한 대부분의 패킷 필드를 사용할 수 있습니다.
Wireshark GUI 도구 모음에 입력하는 내용이 표시 필터입니다. 옆에 있는 표현식 창을 사용하는 것이 좋습니다. 이것은 Wireshark의 가장 중요하고 일반적으로 사용되는 기능 중 하나입니다.
"not ssh"를 사용할 수 없는 이유포착필터는 표시 필터보다 낮은 수준에서 작동하는 캡처 필터입니다. Wireshark는 캡처 필터링을 수행할 때 각 패킷의 프로토콜이 무엇인지 "알지" 못합니다. 이는 해부자가 수행하는 더 높은 수준의 분석입니다.
캡처 수준에서 SSH 트래픽을 제외한 모든 항목을 필터링하려면 포트 22 트래픽을 필터링해야 합니다. 즉, "not port 22"
캡처 필터를 사용해야 합니다.
tshark에 관해서라면
tshark에서 캡처 필터와 표시 필터를 사용할 수 있지만 명령줄 스위치 옵션은 다릅니다.
캡처 필터 예:tshark -f "not port 22"
필터 예 표시:tshark -R "not ssh"
또 다른 점은 !ssh
bash와 같은 일부 인기 있는 유닉스 쉘에서 사용하는 느낌표가 특별한 의미를 가지며 쉘에 의해 해석된다는 것입니다.앞으로실행하려는 애플리케이션으로 전달됩니다. 이렇게 이스케이프 하거나 캡처 필터와 표시 필터 모두에서 지원되는 논리 연산자를 \!ssh
사용해야 합니다 .not
이것이 철저한 답변이기를 바라며 처음에 나의 뻔뻔한 삽입을 정당화합니다 :)