Tabla de contenido:

Sistem De Cartografiere a Rețelelor WiFi: 14 pasos
Sistem De Cartografiere a Rețelelor WiFi: 14 pasos

Video: Sistem De Cartografiere a Rețelelor WiFi: 14 pasos

Video: Sistem De Cartografiere a Rețelelor WiFi: 14 pasos
Video: Sistem TP-Link Mesh Deco X68 - Tehnologie Wi-Fi 6 și AI-Driven Mesh 2024, Noviembre
Anonim
Sistem De Cartografiere a Rețelelor WiFi
Sistem De Cartografiere a Rețelelor WiFi

Cartografierea retelelor WiFi este procedeul prin care se doreste gasirea retelelor WiFi, iar apoi localizarea acestora cu ajutorul GPS-ului. En urma cartografierii se pot obtine informatii despre retelele WiFi existente cum ar fi: numarul acestora, coordonatele aproximative, numele lor sau tipul de securitate.

Functionare pe scurt: cand se gaseste o retea WiFi, se stocheaza locatia si detaliile retelei, iar rezultatele vor fi afisate pe o harta.

Paso 1: Raspberry Pi 3 B +

Frambuesa Pi 3 B +
Frambuesa Pi 3 B +

Primul pas a fost achizitionarea unui Raspberry Pi 3 B +.

Specificatii (sursa):

  • SoC: Broadcom BCM2837B0 de cuatro núcleos A53 (ARMv8) de 64 bits a 1,4 GHz
  • GPU: Broadcom Videocore-IV
  • RAM: 1GB LPDDR2 SDRAM
  • Redes: Gigabit Ethernet (a través del canal USB), Wi-Fi 802.11b / g / n / ac de 2,4 GHz y 5 GHz
  • Bluetooth: Bluetooth 4.2, Bluetooth de baja energía (BLE)
  • Almacenamiento: Micro-SD
  • GPIO: encabezado GPIO de 40 pines, poblado
  • Puertos: HDMI, conector de audio y video analógico de 3,5 mm, 4x USB 2.0, Ethernet, Interfaz serie de cámara (CSI), Interfaz serie de pantalla (DSI)
  • Dimensiones: 82 mm x 56 mm x 19,5 mm, 50 g

Paso 2: Alfa Network AWUS036NHA

Alfa Network AWUS036NHA
Alfa Network AWUS036NHA

Urmatorul pas a fost achizitionarea unui adaptador WiFi. Chiar daca aceasta versiune de Pi vine cu WiFi, am dorit ceva cu antena externa pentru o localizare mai precisa. Dupa o documentare pe internet am ajuns la concluzia ca cea mai buna solutie este un adapter de la Alfa Network. Soy un Alfa Network AWUS036NHA.

Acesta son urmatoarele caracteristici (sursa):

  • Compatible con los estándares inalámbricos IEEE 802.11n, 802.11b / g / n
  • Banda de frecuencia de 2,4 GHz, MIMO (entrada múltiple, salida múltiple)
  • Cumple con las especificaciones de Universal Serial Bus Rev. 2.0
  • Velocidad de transferencia de datos TX de alta velocidad de hasta 150 Mbps
  • Soporta WPS por S / W
  • Admite cifrado de datos inalámbrico con WEP, WPA, WPA2, TKIP, AES de 64/128 bits
  • Cobertura de amplio rango
  • Cumple con FCC Parte 15.247 para EE. UU., ETS 300328 para Europa
  • Compatible con controladores para Windows 2000, XP 32/64, Windows7, Vista 32/64, Linux (2.4.x / 2.6.x), Mac (10.4.x / 10.5.x) Power PC y PC

Specificatii (sursa):

  • Inalámbrico: IEEE 802.11b / g / n
  • Estándar USB 2.0
  • Antena desmontable de 5dBi RP-SMA
  • Conjunto de chips Ralink 3070

Paso 3: GPS Neo-6M

GPS Neo-6M
GPS Neo-6M

De asemenea, am achizitionat un GPS pentru a furniza date despre locatie. Soy un GPS Neo-6M.

Caracteristici (sursa):

  • Un módulo GPS completo con una antena activa integrada y una EEPROM incorporada para guardar los datos de los parámetros de configuración
  • La antena activa de cerámica incorporada de 25 x 25 x 4 mm proporciona una sólida capacidad de búsqueda por satélite
  • Equipado con luces indicadoras de energía y señal y batería de respaldo de datos. 4) Fuente de alimentación: 3-5 V; Tasa de baudios predeterminada: 9600bps
  • Interfaz: RS232 TTL

Paso 4: Alte Elemente

Alte Elemente
Alte Elemente
Alte Elemente
Alte Elemente
Alte Elemente
Alte Elemente

Pe langa cele menciona mai sus am mai avut nevoie de:

  • Cablu LAN - pentru conectarea placuteri Raspberry Pi 3 B + la laptop;
  • Adaptador de red USB - pentru conectarea cablului la laptop (in cazul meu, pentru ca nu dispun de port LAN);
  • Baterie externa pentru a alimenta placuta;
  • Mama-mama del fuego;
  • LCD de 16 x 2;
  • CardSD 16GB;
  • Potenciometrú;

Paso 5: Conectar

Conectivitate
Conectivitate
Conectivitate
Conectivitate

Raspberry Pi 3 B + - Portátil

Se conecteaza cu ajutorul cablului LAN si una red USB adaptorului.

Raspberry Pi 3 B + - Alfa Network AWUS036NHA

Cablul USB al adaptorului WiFi se introduce un puerto USB al placutei.

Raspberry Pi 3 B + - GPS Neo-6M

VCC (3,3 V) - VCC

RXD - TXD

TXD - RXD

GND - GND

Se folosesc fire mama-mama.

LCD - Raspberry Pi 3 B +

1. Pin 1 (Tierra) - carril de tierra.

2. Pin 2 (VCC / 5v) - carril positivo.

3. Pin 3 (V0) - cable central del potenciómetro.

4. Pin 4 (RS) - GPIO25 (Pin 22)

5. Pin 5 (RW) - carril de tierra.

6. Pin 6 (EN) - GPIO24 (Pin 18)

7. Pin 11 (D4) - GPIO23 (Pin 16)

8. Pin 12 (D5) - GPIO17 (Pin 11)

9. Pin 13 (D6) - GPIO18 (Pin 12)

10. Pin 14 (D7) - GPIO22 (Pin 15)

11. Pin 15 (LED +) - carril positivo.

12. Pin 16 (LED -) - carril de tierra.

Paso 6: configuración

Configuración
Configuración
Configuración
Configuración
Configuración
Configuración

Avand toate elementele hardware, am trecut la configurare. Primul pas a fost instalarea sistemului de operare pe Raspberry Pi. En cazul meu sistemul era deja instalat pe cardul microSD, singura modificare a fost activarea SSH-ului.

Urmatorul pas a fost configurarea laptopului pentru a trimite retea catre Raspberry Pi.

En Panel de control / Red e Internet / Conexiones de red, modifico el WiFi propietario-ului la care eram conectat, bifand Permita que otros usuarios de la red se conecten a través de la conexión a Internet de esta computadora si seleccionan y Ethernet2.

Dupa aceasta setare, en acelasi folder am verificat proprietatile Ethernet2 - Protocolo de Internet versión 4 (TCP / IPv4) pentru a vedea ce IP foloseste Ethernet2. Astfel, am observat ca Raspberry Pi-ul va avea mereu un ip intre 192.168.137.1-254. Cu ajutorul programului Advance IP Scanner, cautand in acest domeniu, am reusit sa ma conectez la placuta prin Putty.

* Raspberry Pi-ul nu está configurado como IP estático, acesta se schimba la fiecare conecare a firului.

* La fel de usor, prin Putty m-am conectat apoi utilizand numele placutei afisat la prima rulare al Advance IP Scanner.

Paso 7: GPSD

GPSD
GPSD

Dupa conectare, am actualizat sistemul, deoarece acesta putea fi in urma cu actualizarile. Soy folosit:

sudo apt-get update

Cu sistemul actualizat, am instalat programele de care mai aveam nevoie. Soy rulat:

sudo apt-get install -y screen gpsd libncurses5-dev libpcap-dev tcpdump libnl-dev gpsd-clients python-gps

Aceasta comanda instaleaza GPSD, pe care l-am modificat configurat apoi. Ruland

sudo nano / etc / default / gpsd

estoy modificat setarile astfel:

START_DAEMON = "verdadero"

GPSD_OPTIONS = "- n"

DISPOSITIVOS = "/ dev / ttyS0" <- singura modificare pe care am facut-o

USBAUTO = "verdadero"

GPSD_SOCKET = "/ var / run / gpsd.sock"

* Se poate modifica / dev / ttyS0 cu calea catre locul de unde ia gps-ul datele

Paso 8: Kismet

Kismet
Kismet
Kismet
Kismet

Urmatorul pas a fos de a descarca Kismet.

wget

Kismet este un detector de WiFi, Bluetooth, etc.

Acestia sunt urmatorii pasi pe care i-am facut:

tar -xvf kismet-2016-07-R1.tar.xzcd kismet-2016-07-R1 /

./configurar

hacer dep

hacer

sudo hacer instalar

Pentru a nu fi intrebat de fiecare data ce WiFi sa fie folosit, am decis sa editez fisierul de configurare al Kimset.

ifconfig

De obicei daca se exista un WiFi extern, acesta este pe wlan1

sudo nano /usr/local/etc/kismet.conf

Soy adaugat:

ncsource = wlan1

De asemenea, am observat ca in output-ul vor fi fisiere care nu sunt utile pentru acest proiect asaca am moficiat logtypes in felul urmator:

logtypes = gpsxml, netxml

Paso 9: LCD

LCD
LCD

Pentru afisarea pe LCD am folosit libraria AdaFruit.

clon de git

cd./Adafruit_Python_CharLCDsudo python setup.py install

Pentru afisarea coordonatelor pe LCD am folosit acest script en python.

* Din motive de portabilitate am ales elimrea LCD-ului.

Paso 10: GPS Testare

GPS Testare
GPS Testare
GPS Testare
GPS Testare

Urmatorul pas a fost testarea GPS-ului.

He creado una copia de un cmdline.txt.

sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt

Am editat cmdline.txt si am eliminat interfata seriala, stergand console = ttyAMA0, 115200.

sudo nano /boot/cmdline.txt

sudo reiniciar

Reinicio de Dupa, am verificat baud rate-ul de la ttyS0:

sudo stty -F / dev / ttyS0 -a

Am setat baud rate-ul manual la 9600

sudo stty -F / dev / ttyS0 9600

Soy testat printr-un simplu cat:

sudo cat / dev / ttyS0

Se primeau date incontinuu, deci gps-ul receptiona si baud rate-ul era corect setat.

Estoy en el inicio de la GPSD:

sudo gpsd / dev / ttyS0 -F /var/run/gpsd.sock

Datele primite se pot afisa usor prin

cgps -s

sau

gpsmon

* Alte comenzi folositoare au fost:

reinicio del gpsd del servicio sudo

sudo service gpsd start

servicio sudo parada gpsd

sudo killall gpsd

Paso 11: Proba Dispozitiv

Proba Dispozitiv
Proba Dispozitiv

Primul lucru pe care l-am facut a fost sa creez un director de teste:

mkdir ~ / testcd ~ / prueba

Am deschis GPSD (in caz ca este inchis) si Kismet:

sudo stty -F / dev / ttyS0 9600

sudo cat / dev / ttyS0

sudo gpsd / dev / ttyS0 -F /var/run/gpsd.sock

pantalla -S kismet

sudo kismet

Dupa ce s-a deschis am apasat YES si START.

In aceste momente Kismet ruleaza si achizitioneaza date. In centru se pot oberva informatiile GPS, iar in dreapta se observa numarul de retele gasite. Am creeat un nou screen pentru Kimset, pentru a-i putea da timp sa achizitioneze date (CTRL + A / D).

Pentru a reconecta screen-ul:

pantalla -r kismet

Kismet inca ruleaza. In acest mod, putem porni Kismet si apoi deconectam placuta de la laptop. Cat timp Raspberry Pi-ul va fi alimentat, Kismet va rula. Astfel, se vor cartografia toate retelele receptionate in cazul deplasarii de la un punct la altul.

Paso 12: Rezultate

Dupa inchiderea Kismet, toate datele au fost scrise in directorul curent (prueba numérica). Se pote verifica existenta celor 2 fisiere XML pe care Kismet le-a creat prin comanda:

ls

Se afiseaza:

Kismet-20190409-17-43-54-1.gpsxml

Kismet-20190409-17-43-54-1.netxml

Cautand pe internet, am gasit un script care pregateste datele, salvadu-le intr-un fisier hartaWiFi.kml care poate fi importat in Google Maps (de exelu).

wget https://gist.githubusercontent.com/ScottHelme/5c6869e17c3e9c8b2034dc8fc13e180b/raw/31c2d34f66748b6bd26415fd7d120c06b3d92eaf/netxml2kml.py -O netxml2kml.py

Soy rulat scriptul:

python netxml2kml.py --kml -o hartaWiFi * xml

Acum, fisierul hartaWiFi.kml este creat si gata a fi incarcat pe Google Maps sau alt mediu in care se pot plota fisiere kml.

Paso 13: Exportar Rezultate 1

Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1
Exportar Rezultate 1

Primul lucru pe care l-am facut a fost sa copiez of pe Raspberry Pi fisierul hartiWiFi.kml, folosind WinSCP, local, pe laptop.

Soy creat o noua harta en Google Maps (enlace) si soy importat fisierul hartiWiFi.kml.

Rezultatul se poate vedea in poze. En urma cartografierii si incarcarii fisierului en Google Maps, vor aparea informatii despre localizare, nume, tipul retelei, dar nu numai.

Paso 14: Exportar Rezultate 2

Exportar Rezultate 2
Exportar Rezultate 2

O alta metoda de a afisa datele a fost sa creez pe laptop un fisier.html unde am importat harta cu acest cod.

Am incarcat fisierul.kml pe drive iar apoi am generat un link, utilizand Direct Link Generator. Link-ul generat l-am incarcat en cod la url:

var kmlLayer = new google.maps. KmlLayer ({

url: '--------------', suppressInfoWindows: true, mapa: mapa});

Rezultatele se pot vedea en poza.

Recomendado: