tcpdump로 수집 한 큰 pcap (패킷 캡처) 파일이 있습니다. 특정 문자열이 들어있는 패킷을 걸러 내고 싶습니다. 내 출력을 여전히 pcap 형식으로하고 싶습니다. pcap 파일에서 정규 표현식과 일치하는 패킷 만 표시하는 여러 가지 방법을 찾았지만 패킷의 표시 (예 : stdout)를 필터링하는 대신 이러한 파일을 필터링하는 것이 필요합니다. 결과물은 일치하는 패킷이 제거 된 파일을 pcap해야합니다.콘텐츠 정규 표현식에 따라 pcap (예 : tcpdump) 파일을 필터링하는 방법은 무엇입니까?
필자는 dpkt (python module)가 도움이 될 것으로 생각하지만 가능한 경우 기존 (C/C++) 도구를 사용하여이 작업을 수행하려고합니다. 코드를 대답으로 받아 들일 것입니다 (아마도 벤치 마크가있는 좋은 dpkt 예제는 나를 그렇게 확신시킬 것입니다 ;-)).
미리 감사드립니다.
답변 :
당 님의 대답, 그것은 와이어 샤크/tshark를 통해이 작업을 수행 할 수 있습니다. 다른 사람의 참고로, 여기에 내가 UDP 패킷 내에서 문자열 일치를 확인하는 예제 명령 줄이야 (이 예는 TCP 또는 특정 프로토콜 필드 검색을 할에 구축 할 수 있습니다) :
tshark -r infile -R 'not udp matches "my_search_string"' -w outfile
감사를 다시!
확실히 디스플레이를 필터링 할 수 있다면 stdout을 파일로 리디렉션 할 수 있습니까? –
맞습니다.하지만 제 요구 사항은 출력이 pcap이라는 것입니다. stdout에 인쇄 할 때 패킷의 문자열 표현이 아닙니다. – JJC