Je voulais renifler les images de balises du réseau sans fil. J'ai installé scapy
et réglé le wlan0
en mode de surveillance. puis en terminal,
-
conf.iface="wlan0"
p=sniff(count=1)
Mais cela m'a donné une erreur en tant que:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/scapy/sendrecv.py", line 561, in sniff
s = L2socket(type=ETH_P_ALL, *arg, **karg)
File "/usr/local/lib/python2.7/dist-packages/scapy/Arch/linux.py", line 459, in __init__
self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type))
File "/usr/lib/python2.7/socket.py", line 191, in __init__
_sock = _realsocket(family, type, proto)
error: [Errno 1] Operation not permitted
Sil te plait aide moi. J'essaie d'utiliser Scapy pour détecter une trame de balise sur le réseau. Dites-moi aussi ce que je devrais mettre comme filtre pour ne capturer que les images de balises.
#!/usr/bin/env python
from scapy.all import *
ap_list = []
def myPacketHandler(pkt) :
if pkt.haslayer(Dot11) :
#type 0 = Management subtype 4 = Beacon
if pkt.type == 0 and pkt.subtype == 8 :
if pkt.addr2 not in ap_list :
ap_list.append(pkt.addr2)
print "AP MAX: %s with SSID: %s" % (pkt.addr2, pkt.info)
sniff(iface="mon0", prn = myPacketHandler, store=0)
Edit (sortie après 500 balises - peuvent être les mêmes balises):
#!/usr/bin/env python
from scapy.all import *
import sys
ap_list = []
d = {'counter' : 0}
def myPacketHandler(pkt) :
if pkt.haslayer(Dot11) :
#type 0 = Management subtype 4 = Beacon
if pkt.type == 0 and pkt.subtype == 8 :
d['counter'] += 1
if d['counter']>500:
sys.exit()
if pkt.addr2 not in ap_list :
ap_list.append(pkt.addr2)
print "AP MAX: %s with SSID: %s" % (pkt.addr2, pkt.info)
sniff(iface="mon0", prn = myPacketHandler, store=0)
Je viens de me rendre compte que je n'utilisais pas scapy en tant qu'administrateur (Sudo). J'ai relancé la thérapie avec Sudo et cela a fonctionné. Afficher la réponse pour aider toute personne ayant un problème similaire.
Mais je ne suis toujours pas en mesure de savoir quoi utiliser comme filtre.