2013-12-12 2 views
1

네트워크 패킷을 캡처하여 파이썬과 같은 변수에 저장할 가능성이 있는지 알고 싶습니다. 정보를 얻고 파일에 저장하지 않으려면 정보가 필요합니다.리눅스에서의 라이브 패킷 캡처

http 패킷을 캡처하고 소스 주소와 그 내용 (HTML 코드 여야 함)을 가져와 텍스트 만 추출한 다음 해당 정보에서 나머지 작업을 수행해야합니다. 전체 프로세스가 더 느려질 수 있기 때문에 모든 패킷을 파일에 저장할 이유가 없습니다. 나는이 일을하는 데는 오랜 시간이 걸렸지 만 성공하지 못했습니다. 제게이 일을 도울 수있는 도구를 알고 있다면 그것에 대해 적어주십시오.

+0

개인적으로 파이썬에서 사용한 적이 없지만'tcpdump'는 아마도 당신을위한 도구 일 것입니다. – admdrew

+0

http://www.secdev.org/projects/scapy/doc/introduction.html – Blender

답변

0

PCAP 파일을 처리하는 라이브러리에 대해 this link을 본 것으로 확신합니다. 이제 문제는 파일에 저장하지 않고 실시간으로 획득하는 방법입니다.

은 아마 가장 쉬운 방법은 선입 선출

$ mkfifo /tmp/tcpdump.fifo 

이제 캡처 및 피드 데이터는 '/ tmp를/tcpdump를 열 수 있습니다 명명 된 FIFO

$ sudo tcpdump -s0 -i eth0 -f /tmp/tcpdump.fifo tcp port 80 

에 그리고 당신의 파이썬 프로그램의 수를 사용하는 것입니다. fifo '를 입력 파일로 사용하십시오.

또는 '/ dev/stdin'을 프로그램에서 열고 거기에서 데이터를 읽을 수도 있습니다. 그런 다음 쉘을 사용하여 PCAP 데이터를 stdin으로 직접 파이프하고 fifo라는 중간을 건너 뛸 수 있습니다.

$ sudo tcpdump -s0 -i eth0 -f - tcp port 80 | ./youprogram.py 
+0

답장을 보내 주셔서 감사합니다! 정말 고마워! :) – vit0

+0

@ vit0 그럼 당신은 대답을 수락하거나, 적어도 upvote! – abasterfield

+0

미안하지만, 나는 너무 적은 평판을 upvote하려고했습니다 :(. Approved as an answer :) – vit0

관련 문제