Estoy tratando de conseguir RSSI o fuerza de la señal de WiFi paquetes.
Quiero también RSSI de wi-fi de solicitudes de sonda’ (cuando alguien está buscando un WiFi hotspots).

He conseguido ver de kismet los registros sino que era sólo para asegurarse de que es posible – no quiero usar kismet todo el tiempo.

De tiempo completo escaneo’ estoy usando scapy. ¿Alguien sabe donde puedo encontrar el RSSI o la fuerza de la señal (en dBm) de los paquetes olfateó con scapy? No sé cómo es el paquete completo incorporado y hay un montón de ‘hex’ valores que no sé cómo analizar/interpretar.

Estoy oliendo en ambas interfaces – wlan0 (detectar cuando alguien se conecta a mi hotspot), y mon.wlan0 (detectar cuando alguien está en la búsqueda de puntos de acceso).
Hardware (tarjeta WiFi) yo uso se basa en el chipset Prism (ISL3886). Sin embargo la prueba con Kismet se ejecutó en Atheros (AR2413) e Intel iwl4965.

Edit1:

Parece que necesitan acceder de alguna manera la información almacenada en PrismHeader:
http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py
el 92 ?

Nadie sabe cómo introducir esta información?
de paquetes.show() y paquete.show2() no muestran nada de esta Clase/Capa

Edit2:

Después de más de cavar parece que la interfaz simplemente no está configurado correctamente y por eso no reunir todos los encabezados.
Si puedo ejecutar kismet y, a continuación, oler los paquetes de la interfaz con scapy hay más info en el paquete:

###[ 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'
  ...

Ahora sólo tengo que configurar la interfaz correctamente sin usar kismet.

Ahora decidió en scapy 2.4.1+ o la versión de github

OriginalEl autor kaczor1984 | 2012-05-30

6 Comentarios

  1. 3

    Aquí es una valiosa scapy extensión que mejora scapy.layers.dot11.Packet‘s análisis de la actualidad no son decodificados campos.

    https://github.com/ivanlei/airodump-iv/blob/master/airoiv/scapy_ex.py

    Sólo tiene que utilizar:

    import scapy_ex
    

    Y:

    packet.show()
    

    Que va a tener este aspecto:

    ###[ 802.11 RadioTap ]###
      version   = 0
      pad       = 0
      RadioTap_len= 18
      present   = Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
      Flags     = 0
      Rate      = 2
      Channel   = 1
      Channel_flags= 160
      dBm_AntSignal= -87
      Antenna   = 1
      RX_Flags  = 0
    
    Lo mejor para clonar el repositorio git y ejecutar el import scapy_ex de la airoiv directorio existen otros archivos dependientes requerido por sólo scapy_ex.py (por ejemplo, printer.py). A continuación, funciona muy bien.
    No se requiere, ya que se fusionó en el principal repo
    Haciendo esta completamente mal estado de la Dot11Beacon la estructura de la trama. Algunas pruebas, como pkt.haslayer ya no son útiles.

    OriginalEl autor binary koala

  2. 3

    Para resumir:

    • la fuerza de la señal no era visible porque algo estaba mal en la manera de que «modo monitor» (no todos los encabezados fueron aprobadas/analiza mediante sniffers). Este monitor interfaz fue creado por hostapd.

    • ahora estoy de poner en modo monitor en la interfaz con airmon-ng – tcpdump, scapy mostrar estos encabezados adicionales.

    Editado: el uso de scapy 2.4.1+ (o github dev versión). La mayoría de las versiones recientes ahora correctamente decodificar el » notdecoded » parte

    Las actualizaciones? fueron capaces de obtener los valores de RSSi?
    Sí, era. Es ‘oculto’ en el notdecoded parte del paquete. Estoy de extraerlo con: sig_str = -(256-ord(packet.notdecoded[-4:-3]))
    He intentado: sig_str = -(256-ord(packet.notdecoded[-4:-3])) y me da valores como -69, -79, -81, etc. ¿Cómo interpretar estos valores?
    Al igual que usted los vea. RSSI entre -100 y 0, donde 0 significa que el dispositivo estaba exactamente en el lugar de ‘detector’ y -100 significa muy lejos. Por supuesto, no me suele valores superiores a ~-30.

    OriginalEl autor kaczor1984

  3. 2

    Por alguna razón, el paquete ha modificado la estructura. Ahora dBm_AntSignal es el primer elemento en notdecoded.

    No estoy 100% seguro de esta solución, pero he utilizado sig_str = -(256 - ord(packet.notdecoded[-2:-1])) para alcanzar el primer elemento y tengo valores que parece ser dBm_AntSignal.

    Estoy usando OpenWRT en un TP-Link MR3020 con extroot y Edward Keeble Pasivo Wifi de Monitoreo del proyecto, con algunas modificaciones.

    Yo uso scapy_ex.py y yo tenía esta información:

    802.11 RadioTap
    
      version   = 0
    
      pad       = 0
    
      RadioTap_len= 36
    
      present   = dBm_AntSignal+Lock_Quality+b22+b24+b25+b26+b27+b29
    
      dBm_AntSignal= 32
    
      Lock_Quality= 8
    
    No. Cada equipo muestra diferente información dependiendo del conductor, la interfaz es el uso de…

    OriginalEl autor Marcelo Beraldi

  4. 1

    Si todavía alguien tiene el mismo problema, creo que he encontrado la solución:

    Creo que este es el corte correcto para el valor RSSI:

    sig_str = -(256-ord(packet.notdecoded[-3:-2]))
    

    y este es el nivel de ruido:

    noise_str = -(256-ord(packet.notdecoded[-2:-1]))
    
    Esto puede trabajar en su máquina, pero no es un universal de la corrección. Notdecoded está lleno de todas las etiquetas que se añaden por su conductor, lo que significa que usted debe comprobar que las banderas están presentes. ([-4:-3] no será el mismo en cada equipo). En la más reciente versión de scapy (2.4.1+ o github dev versión, ahora es decodificado adecuadamente)

    OriginalEl autor Alex L.

  5. 0

    El hecho de que dice «RadioTap», sugiere que el dispositivo de suministro de Radiotap encabezados, no Prisma encabezados, aunque tiene un chipset Prism. El p54 conductor que parece ser una «SoftMAC driver», en cuyo caso es probable que el suministro de Radiotap los encabezados, que están utilizando la p54 conductor o el antiguo prism54 conductor?

    OriginalEl autor

  6. 0

    Tengo un problema similar, he configurado el modo monitor con airmon-ng y puedo ver el dBm nivel de tcpdump, pero siempre trato de la sig_str = -(256-ord(packet.notdecoded[-4:-3])) puedo obtener -256 debido a que el valor devuelto de la notdecoded en 0. Estructura de paquetes se parece a esto.

     version   = 0
     pad       = 0
     len       = 36
     present   = TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
     notdecoded= ' \x08\x00\x00\x00\x00\x00\x00\x1f\x02\xed\x07\x05 
     .......
    

    OriginalEl autor Narzhan

Dejar respuesta

Please enter your comment!
Please enter your name here