나는 거대한 pcap 파일 (100GB)을 가지고 있으며, 내가 알고있는 소수의 패킷에 관심이있다. 숫자는 5,000,000에서 5,000,020이다.tcpdump를 사용하여 큰 pcap 파일에서 특정 범위의 패킷을 얻으려면 어떻게해야합니까?
tcpdump
을 사용하여 pcap 파일을 읽고 패킷 번호 (또는 범위)로 패킷을 필터링 한 다음 새 pcap 파일에 쓸 수 있습니까?
나는 거대한 pcap 파일 (100GB)을 가지고 있으며, 내가 알고있는 소수의 패킷에 관심이있다. 숫자는 5,000,000에서 5,000,020이다.tcpdump를 사용하여 큰 pcap 파일에서 특정 범위의 패킷을 얻으려면 어떻게해야합니까?
tcpdump
을 사용하여 pcap 파일을 읽고 패킷 번호 (또는 범위)로 패킷을 필터링 한 다음 새 pcap 파일에 쓸 수 있습니까?
작은 프로그램 tricap을 사용할 수 있습니다. Tricap은 Xplico의 일부입니다. 소스 코드도 여기에서 다운로드 할 수 있습니다 : https://github.com/M0Rf30/xplico/tree/master/system/trigcap
당신은 매우 흥미로운 질문을 던집니다. (적어도 저에게!) 그래서 저는 답을 얻기 위해 연구하기 시작했습니다.
tcpdump 맨 페이지와 워드 프로세서가 패킷 번호에 대한 언급을 포함하고 있지 않다는 사실에 놀랐다. 이것은 -r 옵션 (pcap 파일에서 읽음)과 함께 사용할 것이라고 생각했을 것이다. pcap 출력 파일에 패킷 번호가 포함되어 있지 않다고 생각하기 시작 했습니까?
Wireshark에로드하면 왼쪽 열에 패킷 번호가 표시되지만 100Gb 파일에 대해서는 Wireshark (Wireshark)에로드 할 것을 제안하지 않으려 고합니다. 리눅스 서버에서 이것을 처리 할 수 있습니까? Dunno ...)
어쨌든, 저는 과거에 사용하지 않았지만 Wireshark의 일부인 명령 줄 도구 인 editcap을 발견했습니다. editcap에서는 패킷 번호 또는 패킷 번호 범위를 지정할 수 있습니다. 그래서 이것은 아마도 패킷 번호가 단지 Wireshark 일 뿐이라고 생각하게 만들었고, 그 pcap 파일은 순서 번호를 라벨링하는 것에 신경 쓰지 않고 패킷을 저장하고 있을까요?
editcap - 매뉴얼 페이지 http://www.wireshark.org/docs/man-pages/editcap.html
editcap - 사용자 가이드 : http://www.wireshark.org/docs/wsug_html_chunked/AppToolseditcap.html
editcap 주요 기능은 패킷 (중복)을 제거 인 것이 보이기 때문에주의, 그래서 어떤 기본 동작에 대한 조심 그곳에!
호프가 도움이되기를 바랍니다. 누군가가이 부분에 더 많은 빛을 비추면 나는 그것을 듣고 싶습니다!
쉬운 방법이 아닙니다. 큰 파일을 방지 할뿐만 아니라 파일의 크기를 줄이는 몇 가지 방법이 있습니다. 호스트 192.168를 포함하는 모든 패킷을 구문 분석이 필터를
tcpdump -r firstcap.pcap -nn host 192.168.1.177 -w 177file.pcap
:
은 tcpdump와 -r INFILE
예를 OUTFILE -w 필터를 적용 : 다음 작업 방법의 몇 가지 있습니다. 177file.pcap이라는 새로운 pcap 파일에 1.177; tcp, udp, icmp 및 arp와 같은 프로토콜을 지정하고 해당 패킷을 별도의 파일로 구문 분석 할 수도 있습니다. 예를 들어
:
난 당신이 라인의 특정 세트를 0으로 머리와 꼬리를 사용하는 방법 주위에 작업이, 당신은 쉽게 특정 범위를 얻을 수 있습니다 확실하지 않다 당신이 라인을 1000 패킷 파일에서 400-500을 원하는 말할 수 :
tcpdump -r firstcap.pcap -c 500 | tail -100 >> outfile.txt
이 처음 500 개 패킷을 인쇄 할 것이다 다음 파이프가 바로 500 패킷 캡처의 마지막 100 개 패킷을 보여줍니다 꼬리로 출력, 너무 효과적으로 400-500. 그럼 당신은 그냥 outfile.txt, 즉 더 이상 pcap 형식이 아니라에 ASCII로 말한 packerts을 추가하고 있습니다.
참고 : 꼬리는 마지막 N 개의 행이 아닌 패킷을 인쇄하므로 매우 중요합니다. 따라서 16 진수 형식의 패킷을 표시 할 경우 계산시이를 고려해야합니다.
내가 여기에 대해 쓴, 당신은 tcpdump와 함께 아주 쉽게 캡처를 회전 할 수 거대한 PCAP 파일을 만들지 않도록하려면이 도움이http://www.ppartyka.com/2014/03/tutorial-tcpdump-pcap-file-too-large.html
희망을.
Wireshark (적어도 CentOS와 Debian은 제공)와 함께 제공되는 editcap
을 사용하면 매우 간단합니다. 5,000,000 ~ 5,000,020 패킷 번호의 경우 다음을 수행 할 수 있습니다.
editcap -r <big_pcap_file> <new_pcap_file> 5000000-5000020