tcpdump
며칠 동안 캡처된 패킷이 포함된 파일이 있습니다 . 이 파일에서 특정 기간(단 몇 시간) 동안 캡처된 패킷을 보고 싶습니다.
나는 이것을 사용하여 tcpdump -r
파일에서 패킷을 읽을 수 있다는 것을 알고 있습니다. 프로토콜 및 포트 번호별 필터링과 같은 일반적인 필터를 모두 사용할 수 있습니다. 또한 -c
패킷 출력 수를 제한 하는 데 사용할 수 있는 방법도 알고 있습니다 . 하지만 이로 인해 처음부터 일부 패킷을 건너뛸 수는 없습니다.
관심 있는 시간 범위 내에서 사용할 수 있지만 tcpdump -tttt
결국 grep
에는 새(더 작은) 파일에 패킷을 쓰고 싶지만 -w
이는 grep
도움이 되지 않습니다.
tcpdump
특정 시간 간격의 패킷만 포함된다는 것을 표시하는 방법이 있습니까 ?
답변1
editcap
시간 범위별로 pcap 파일을 필터링할 수 있는 (wireshark 시리즈의 일부)라는 명령줄 도구가 있습니다 . StackOverflow의 이 질문에 대한 답변에는 더 많은 정보가 있습니다.
https://stackoverflow.com/questions/19952991/filter-a-pcap-dump-file-for-a-특이적-time-range#19955700
logdissect
tcpdump 터미널 출력을 필터링하고 tcpdump 또는 json(소스/대상 호스트, 프로토콜, 날짜 스탬프와 같은 일부 기본 필드 포함)의 터미널 출력 형식으로 출력할 수 있는 tcpdump 터미널 출력 이라는 도구도 있습니다 . 불행하게도 pcap로 출력할 수는 없지만 pcap 출력이 필요하지 않은 경우 다양한 기준으로 필터링할 수 있습니다. pip(Python의 기본 설치 프로그램)에서 찾을 수 있으며 github에 설치 지침이 있습니다.
전체 공개를 위해 logdissect를 작성했습니다. 나는 일반적으로 여기서 내 자신의 프로젝트를 언급하지 않지만 이 경우 도움이 될 수 있습니다.