2013-04-09 2 views
12

내가 .. (파이썬을 통해 version2.6를 내 컴퓨터에있는 모든 HTTP 패킷을 스니핑 할이파이썬에서 HTTP 패킷을 스니핑하는 방법은 무엇입니까?

+5

, 나는 이것이 좋은 질문이라고 생각합니다. 그는 특정 문제를 해결하기위한 기법을 요구하고 있는데, 그 문제는 무엇입니까? –

+0

이것 좀 보셨습니까? (이 질문이 빨리 끝나기 전에 ...) http://wiki.wireshark.org/Python – zenpoy

+0

[HTTP 요청 및 응답 검사 (Python)] 가능한 중복 (http://stackoverflow.com/questions/15663379/http- 요청 - 응답 - 검사 -와 - 파이썬) –

답변

5

Scrapy? 내가 나 기타 외부 모듈없이, scapy와 함께 할 수 있습니까?이 가능한 경우에만 웹 페이지에서 데이터를 추출하기위한 것입니다 또는 이와 유사한 구조화 된 문서.

실제로 아마 파이썬 바인딩을 가진 C/C++ API를 사용하는 것 NIC에서 최적의 성능 옵션을 오는 패킷을 읽을 수 있습니다.

예를 들어 WireShark로는 Python API 있습니다.

Pcapy은 libpcap을 사용하는 패킷 캡처를위한 모듈입니다.

LibPCAP

는 패킷 캡처 라이브러리 TCPDUMP를 위해 작성도 WireShark로 사용된다.

또 다른 옵션은 dpkt 파이썬 모듈을 사용해 보는 것입니다. 여기에 좋은 write up입니다. example은 dpkt와 pcap을 사용하여 HTTP 패킷을 스니핑합니다.

편집는 : 죄송합니다, 나는 scapy를 오해. 고마워요! 당신이 언급 한 바와 같이

, Scapy는 libpcap의를 사용하는 다른 파이썬 모듈입니다. 이 documentation에는 스니핑 예가 있습니다.

파이썬 2.7에서 실행하는 데 문제가 있으면 post을 확인하십시오.

+3

'scapy'은 =' – root

+0

에게 그것을 scrapy' WireShark 용 Python API가 사라진 것 같습니다. PyShark는 아래 답변에서 언급했듯이 지금 가장 적극적으로 접근하는 것처럼 보입니다. – nealmcb

2

pypcap, libpcap의에 대한 https://code.google.com/p/pypcap/ 단순화 된 객체 지향 파이썬 확장 모듈 - 현재 tcpdump.org 버전의 BSD 운영 체제의 일부와 기존 버전의 운송 및 Windows.This 용은 WinPcap 포트는 Windows 버전입니다 . 그리고 # nix를 사용한다면, pcapdpkt 모듈을 설치하기 만하면됩니다. tshark

사용에 대한

+0

스니핑에 dpkt & pcap 모듈을 사용하고 싶다면 어떻게 HTTP 패킷을 스니핑 할 수 있습니까? 나는 예를 들어 기뻐할 것입니다. 이 모듈을 사용하여 icmp 패킷을 스니핑하는 방법을 보았지만 HTTP 패킷은 사용하지 않았습니다. – Aviv

2

https://github.com/KimiNewt/pyshark

파이썬 래퍼 : 폐쇄 투표에 관한

>>> capture = pyshark.LiveCapture(interface='eth0') 
>>> capture.sniff(timeout=50) 
>>> capture 
<LiveCapture (5 packets)> 
>>> capture[3] 
<UDP/HTTP Packet> 

for packet in capture.sniff_continuously(packet_count=5): 
    print 'Just arrived:', packet 
관련 문제