Попытка прослушать http-пакеты, используя scapy - PullRequest
0 голосов
/ 04 июня 2019

Программа работает нормально, когда я не пытаюсь отфильтровать http-ссылки, но почти ничего не показывает, когда я использую код, я не вижу никаких проблем в коде, и я уже использовал pip install scapy_http.

import scapy.all as scapy
from scapy.layers import http

def sniff(interface): 
   scapy.sniff(iface=interface, store=False , prn= process_sniffed_packet)

def process_sniffed_packet(packet):
   if packet.haslayer(http.HTTPRequest):
       print(packet)

sniff('eth0')

Пустой экран, пока я не нажму ctrl+c.Через 20 секунд отображаются странные ссылки, но я не на этих страницах.

1 Ответ

0 голосов
/ 05 июня 2019

Я думаю, ваш код работает нормально:)

  1. Откройте Wireshark вместе с вашим кодом и отфильтруйте пакеты HTTP-запросов.Когда я это сделал - на Wireshark не было пакетов, которые были бы перехвачены кодом
  2. . Я использовал Chrome для открытия веб-страниц и действительно не видел много пакетов.В Wireshark я увидел, что пакеты отображаются в виде протокола TLS.Вероятно, это связано с тем, как работает Chrome или с использованием протокола HTTPS.
  3. Чтобы решить эту проблему - я открыл Internet Explorer - сразу появились HTTP-пакеты - как в Wireshark, так и в вашем коде.
  4. Используйте packet.show() вместо print packet - вам будет легче исследовать то, что вы видите
...