2012-08-17 24 views
9

Scapy kullanıyorum ve hedef mac adresine göre filtrelemek istiyorum. Ancak, hedef MAC adresinin filtrede belirtilen adres olmadığı durumlarda paketlerin görüntülendiğini görüyorum.Scapy BPF filtresi çalışmıyor

from scapy.all import * 

sniff(iface="eth1", filter="ether dst host 91:e0:f0:01:00:00", 
     count=3, prn=lambda x: x.show()) 

Ben Scapy 2.2.0

burada konuda herhangi bir fikir çalıştırıyorum: Burada

bir kod snippit nedir?

+0

kodunuzu biçimlendirme düşünün sabit, (github versiyonunu) 2.3.3dev yükseltme, Benim durumumda –

+0

Kodu biçimlendirmek sorunu çözmedi. – user1607606

+0

Sistemimde kodu, aynı scapy sürümü çalıştı. Filtre işe yaradı. Filtreden ne tür MAC adresleri geliyor? – RyPeck

cevap

1

Bu scapy hatam !!! BPF filtresini uygulamadan önce scapy paket almaya başladığı anlaşılıyor (sniff işlevinin filter argümanı). İşi düzgün bir şekilde almak biraz zaman alıyor! iki yöntemi bu kurtulmak için:

  1. kullanın lfilter komut dosyası içinde filtreleme işlevini tanımlamak için. Meşgul bağlantıda verimli değil, çünkü çekirdeğinize filtre uygulamak, çekirdek yerine. Hızlandırmak için pypy kullanmayı düşünün.
  2. Bazı ilk paketler için komut dosyasının içindeki MAC adresini kontrol edin ve daha sonra kontrol etmeyin; Örneğin, scapy kararsız fazını geçmek için koklama başlangıcında paketin doğruluğunu kontrol edin ve ardından istenmeyen paketleri filtrelemek için scapy belgesine güvenin.
+0

Elbette, onu yükseltmek işi düzeltiyor gibi görünüyor. – Cukic0d

1

takma tcpdump benim için sorun çözüldü - şimdi koklama üzerinde filtre o

İlgili konular