Scapy - récupération de RSSI de la WiFi paquets
Je vais essayer d'obtenir le RSSI ou le signal de WiFi paquets.
Je veux aussi le RSSI de "WiFi sonde demandes" (quand quelqu'un est à la recherche d'un hotspots WiFi).
J'ai réussi à le voir de kismet journaux, mais c'était seulement pour s'assurer qu'il est possible - je ne veux pas utiliser kismet tout le temps.
Plein temps de numérisation " je suis l'aide de scapy. Quelqu'un sait où je peux trouver le RSSI ou la force du signal (dBm) à partir de l'paquets renifla avec scapy? Je ne sais pas comment est l'ensemble du paquet intégré et il y a beaucoup de 'hex' valeurs qui, je ne sais pas comment analyser/interpréter.
Je suis renifler sur les deux interfaces - wlan0 (détecter quand quelqu'un se connecte à mon hotspot), et le lundi.wlan0 (détecter quand quelqu'un est à la recherche de points chauds).
Matériel (carte WiFi) que j'utilise est basée sur le chipset Prism (ISL3886). Toutefois tester avec Kismet a été couru sur Atheros (AR2413) et Intel iwl4965.
Edit1:
Semble que j'ai besoin d'accéder en quelque sorte les informations stockées dans PrismHeader:
http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py
ligne 92 ?
Quelqu'un sait comment entrer dans cette information?
paquet.show() et le paquet.show2() ne pas montrer quoi que ce soit à partir de cette Classe/Couche
Edit2:
Après plus de creuser, il semble que l'interface n'est pas réglée correctement, et c'est pourquoi il n'est pas nécessaire de recueillir tous les en-têtes.
Si je lance kismet et puis renifler les paquets à partir de l'interface avec scapy il n'y a plus d'infos dans le paquet:
###[ RadioTap dummy ]###
version= 0
pad= 0
len= 26
present= TSFT+Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
notdecoded= '8`/\x08\x00\x00\x00\x00\x10\x02\x94\t\xa0\x00\xdb\x01\x00\x00'
...
Maintenant, j'ai seulement besoin de définir l'interface correctement sans utiliser kismet.
OriginalL'auteur kaczor1984 | 2012-05-30
Vous devez vous connecter pour publier un commentaire.
Ici est un précieux scapy extension qui améliore
scapy.layers.dot11.Packet
's l'analyse des présentes non décodé champs.https://github.com/ivanlei/airodump-iv/blob/master/airoiv/scapy_ex.py
Suffit d'utiliser:
Et:
Ça va ressembler à ceci:
import scapy_ex
de la airoiv répertoire qu'il y a d'autres fichiers requis par le juste scapy_ex.py (par ex. printer.py). Ensuite, il fonctionne très bien.Ne nécessite plus que fusionnés dans le repo
Ce faisant complètement foiré la Dot11Beacon structure de trame. Certains tests comme
pkt.haslayer
ne sont plus utiles.OriginalL'auteur binary koala
Pour résumer:
la force du signal n'était pas visible parce que quelque chose n'allait pas dans la manière que "mode moniteur" a été définie (pas tous les en-têtes ont été passés/analysé par renifleurs). Ce moniteur de l'interface a été créé par hostapd.
maintenant, je suis en mode moniteur sur l'interface avec airmon-ng - tcpdump, scapy montrer ces des en-têtes supplémentaires.
Édité utilisez scapy 2.4.1+ (ou github dev version). Les versions les plus récentes maintenant décoder correctement le « notdecoded » partie
Oui je l'ai été. Il est "caché" dans le notdecoded partie du paquet. Je suis en l'extrayant avec:
sig_str = -(256-ord(packet.notdecoded[-4:-3]))
J'ai essayé:
sig_str = -(256-ord(packet.notdecoded[-4:-3]))
et j'obtiens des valeurs comme -69, -79, -81, etc. Comment interprétez-vous ces valeurs?Tout comme vous les voyez. RSSI entre -100 et 0, où 0 signifie que l'appareil était exactement à l'endroit de détecteur et -100 signifie très loin. Bien sûr, je ne suis pas habituellement des valeurs supérieures à ~-30.
OriginalL'auteur kaczor1984
Pour une raison quelconque, la structure de paquet a changé. Maintenant dBm_AntSignal est le premier élément dans notdecoded.
Je ne suis pas sûr à 100% de cette solution, mais j'ai utilisé
sig_str = -(256 - ord(packet.notdecoded[-2:-1]))
pour atteindre le premier élément et j'ai des valeurs qui semble êtredBm_AntSignal
.Je suis en utilisant
OpenWRT
dans unTP-Link MR3020
avec extroot et Edward Keeble Passive Wifi de Suivi de projet avec quelques modifications.- Je utiliser scapy_ex.py et j'ai eu cette information:
OriginalL'auteur Marcelo Beraldi
Si quelqu'un a encore le même problème, je pense avoir trouvé la solution:
Je crois que c'est la bonne coupe pour les RSSI valeur:
et celui-ci est pour le niveau de bruit:
OriginalL'auteur Alex L.
Le fait qu'il dit "RadioTap" suggère que l'appareil peut fournir Radiotap en-têtes, pas de Prisme en-têtes, même si elle a un chipset Prism. Le pilote p54 semble être un "SoftMAC pilote", auquel cas il sera probablement d'approvisionnement Radiotap en-têtes; êtes-vous à l'aide de la p54 pilote plus âgés ou prism54 pilote?
OriginalL'auteur
J'ai le même problème, j'ai configuré le mode moniteur avec airmon-ng et je peux voir la dBm de niveau dans tcpdump, mais chaque fois que j'essaie la
sig_str = -(256-ord(packet.notdecoded[-4:-3]))
- je obtenir -256 parce que la valeur retournée par notdecoded en 0. Structure de paquet ressemble à ceci.OriginalL'auteur Narzhan