Я хочу нюхать все HTTP-пакеты в моем компьютере с помощью питона (version2.6 .. это возможно? Я могу это сделать с scapy или без других внешних модулей?Как обманывать HTTP-пакеты в python?
ответ
Scrapy только для извлечения данных из веб-страниц или аналогичные структурированные документы.
чтобы на самом деле читать пакеты, поступающие от NIC ваш вариант лучше производительность, вероятно, будет использовать C/C++ API, который имеет питона привязок.
Например WireShark имеет Python API.
Pcapy - это модуль для захвата пакетов с использованием libpcap.
LibPCAP - это библиотека захвата пакетов, написанная для TCPDUMP, а также используемая в WireShark.
Другой вариант - попробовать модуль pppp dpkt. Вот хороший write up. Вот example, используя dpkt и pcap, чтобы обманывать HTTP-пакеты.
EDIT: oops, I misread scapy. Спасибо, корень!
Как вы упомянули, Scapy - это еще один модуль python, который также использует LibPCAP. У этого documentation есть пример обнюхивания.
Если у вас возникли проблемы с запуском на Python 2.7, ознакомьтесь с этим post.
pypcap, https://code.google.com/p/pypcap/ упрощенный объектно-ориентированный Python модуль расширения для Libpcap - текущая версия tcpdump.org, наследие версия доставка с некоторыми из BSD операционных систем, а также порт для WinPcap Windows.This версия для Windows . И если вы используете # nix, просто установите pcap и dpkt модуль.
Хорошо, если я хочу использовать модули dpkt & pcap для обнюхивания, как я могу нюхать с ними HTTP-пакеты? Я буду рад получить пример .. Я видел пример, как обнюхать с этими модулями пакеты icmp, но не пакеты HTTP. – Aviv
https://github.com/KimiNewt/pyshark
Python обертка для tshark
Использование:
>>> 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
Касательно закрытия голосов, я думаю, что это хороший вопрос. Он просит технику решить конкретную проблему, в чем проблема? –
Вы посмотрели на это? (быстро, прежде чем этот вопрос будет закрыт ...) http://wiki.wireshark.org/Python – zenpoy
Возможный дубликат [HTTP-запрос и проверка ответа с помощью Python] (http://stackoverflow.com/questions/15663379/http- request-and-response-inspection-with-python) –