chcę wąchać wszystkie pakiety HTTP w moim komputerze przez pytona (version2.6 .. jest to możliwe? Mogę to zrobić z scapy lub bez innych modułów zewnętrznych?Jak sniffować pakiety HTTP w pythonie?
Odpowiedz
Scrapy jest tylko do pobierania danych ze stron internetowych lub podobnych dokumentów strukturyzowane.
aby właściwie odczytać pakietów pochodzących z NIC opcję najlepszą wydajność będzie prawdopodobnie użyć API C/C++, który ma powiązania Pythona.
na przykład Wireshark ma Python API.
Pcapy to moduł do przechwytywania pakietów za pomocą libpcap.
LibPCAP to biblioteka przechwytywania pakietów napisana dla protokołu TCPDUMP, a także używana w WireShark.
Inną opcją jest wypróbowanie modułu pythkt dpkt. Oto ładny write up. Oto example za pomocą narzędzia dpkt i pcap do sniffowania pakietów HTTP.
EDYTOWANIE: Oops, źle odczytałem. Dzięki root!
Jak wspomniałeś, Scapy to kolejny moduł pythonowy, który również używa protokołu LibPCAP. Ten przykład documentation ma przykład sniffing.
Jeśli masz problemy z uruchomieniem Pythona 2.7, sprawdź to post.
pypcap, https://code.google.com/p/pypcap/ uproszczone obiektowego Pythona moduł rozszerzający dla libpcap - aktualna wersja tcpdump.org, wysyłka wersja dziedzictwo niektóre z systemów operacyjnych BSD, a port WinPcap dla Windows.This jest wersja dla Windows .Jeśli używasz # nix, po prostu zainstaluj moduł pcap i dpkt.
OK, jeśli chcę użyć modułów dpkt & pcap do sniffowania, jak mogę sniffować z nimi pakiety HTTP? Z przyjemnością znajdę przykład ... Widziałem przykład, jak sniffować z tymi modułami pakiety ICMP, ale nie pakiety HTTP. – Aviv
https://github.com/KimiNewt/pyshark
Python otoki dla tshark
Wykorzystanie:
>>> 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
odniesieniu do głosów zamykających, myślę, że to jest dobre pytanie. Prosi o technikę rozwiązania konkretnego problemu, na czym polega problem? –
Czy spojrzałeś na to? (szybko zanim to pytanie zostanie zamknięte ...) http://wiki.wireshark.org/Python – zenpoy
możliwy duplikat [HTTP Request and Response Inspection with Python] (http://stackoverflow.com/questions/15663379/http- request-and-response-inspection-with-python) –