PCAP 파일을 읽으려면 Scapy의 rdpcap
함수를 사용하고 있습니다. 모든 HTTP 요청과 응답 및 관련 패킷을 검색해야하므로 내 경우에는 link to HTTP support in Scapy에 설명 된 모듈을 사용해야합니다.Scapy 및 rdpcap 함수
큰 PCAP 파일을 구문 분석하면 rdpcap
함수를 읽는 데 너무 많은 시간이 걸리는 것으로 나타났습니다.
pcap
파일을 더 빨리 읽을 수있는 해결책이 있습니까?
PCAP 파일을 읽으려면 Scapy의 rdpcap
함수를 사용하고 있습니다. 모든 HTTP 요청과 응답 및 관련 패킷을 검색해야하므로 내 경우에는 link to HTTP support in Scapy에 설명 된 모듈을 사용해야합니다.Scapy 및 rdpcap 함수
큰 PCAP 파일을 구문 분석하면 rdpcap
함수를 읽는 데 너무 많은 시간이 걸리는 것으로 나타났습니다.
pcap
파일을 더 빨리 읽을 수있는 해결책이 있습니까?
로드 시간이 예상보다 길다는 것에 동의하지만 파일이 구문 분석되어 잘 구성된 오브젝트 배열을 생성 할 가능성이 높습니다. 내가 한 일은 editcap
을 사용하여 패킷 캡처를 쪼개서 조금 더 쉽게 읽을 수있게하는 것이었다. 예를 들어 :
$ editcap -B 2013-05-2810:05:55 -i 5 -F libpcap inputcapture.pcap outputcapture.pcap
는 참고 :이 명령의 스위치에 대한 자세한 설명은 here 사용할 수 있습니다.
또한 -F libpcap
부분은 scapy의 pcap
기능을 사용하여 파일을 구문 분석 할 수 있어야합니다. (이것은 기본 pcap 파일 출력 형식으로되어 있지만, 이유는 무엇이든간에. capinfos
으로 입력 및 출력 파일의 파일 형식을 확인할 수 있습니다 (예 : capinfos your_capture.pcap
).
모두 capinfos
및 editcap
은 WireShark로 배포와 함께 사용할 수있는
Scapy는 다른 방법 당신이 PCAP를 읽는 데 사용할 수 있습니다 sniff
을 가지고 너무 파일 :. 메모리에
def method_filter_HTTP(pkt):
#Your processing
sniff(offline="your_file.pcap",prn=method_filter_HTTP,store=0)
rdpcap
부하 전체 PCAP 파일을. H 그것은 많은 기억을 사용하고 느린 말처럼. sniff
은 한 번에 하나의 패킷을 읽고 제공된 prn
기능으로 전달합니다. 해당 store=0
매개 변수는 패킷이 처리되는 즉시 메모리에서 삭제되도록합니다.
pcap 파일의 크기는 어느 정도입니까? 그것을 읽는데 얼마나 걸리나요? 정말 너무 길습니까 (한 번만로드하는 경우에도)? 몇 번이나 읽고 싶습니까 (수사적 질문)? –
내 파일이 300MB보다 크면 Python 스크립트를 두 번 이상 실행해야합니다. – auino
@auino, 특히 읽기 시간에 문제가 있습니까? 변경을 할 때마다 300MB 파일을 파싱 할 때 스크립트를 개발하는 데 너무 오래 걸리거나 실시간 프로세싱 요구 사항이 있습니까? 또한 받아 들일 수있는 구문 분석 시간이 무엇인지에 대해 알려주십시오. –