Table des matières:

Sistem De Cartografiere a Rețelelor WiFi : 14 étapes
Sistem De Cartografiere a Rețelelor WiFi : 14 étapes

Vidéo: Sistem De Cartografiere a Rețelelor WiFi : 14 étapes

Vidéo: Sistem De Cartografiere a Rețelelor WiFi : 14 étapes
Vidéo: Is Your WiFi Network driving You Crazy? Analyze and Improve Settings (EP30) 2024, Novembre
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. Dans urma cartografierii se pot obtine informatii despre retelele WiFi existant cum ar fi: numarul acestora, coordonatele aproximative, numele lor sau tipul de securitate.

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

Étape 1: Raspberry Pi 3 B+

Framboise Pi 3 B+
Framboise Pi 3 B+

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

Specificatii (surse):

  • SoC: Broadcom BCM2837B0 quadricœur A53 (ARMv8) 64 bits à 1,4 GHz
  • Processeur graphique: Broadcom Videocore-IV
  • RAM: 1 Go de mémoire SDRAM LPDDR2
  • Mise en réseau: Gigabit Ethernet (via canal USB), Wi-Fi 2,4 GHz et 5 GHz 802.11b/g/n/ac
  • Bluetooth: Bluetooth 4.2, Bluetooth basse consommation (BLE)
  • Stockage: Micro SD
  • GPIO: en-tête GPIO à 40 broches, peuplé
  • Ports: HDMI, prise audio-vidéo analogique 3,5 mm, 4x USB 2.0, Ethernet, interface série de caméra (CSI), interface série d'affichage (DSI)
  • Dimensions: 82 mm x 56 mm x 19,5 mm, 50 g

Étape 2: Réseau Alfa AWUS036NHA

Réseau Alfa AWUS036NHA
Réseau Alfa AWUS036NHA

Urmatorul pas a fost achizitionarea unui adaptateur 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 conclusion ca cea mai buna solutie este un adapter de la Alfa Network. Suis ales un Alfa Network AWUS036NHA.

Acesta sont urmatoarele caracteristici (sursa):

  • Compatible avec les normes sans fil IEEE 802.11n, 802.11b/g/n
  • Bande de fréquence 2,4 GHz, MIMO (Multiple Input Multiple Output)
  • Conforme aux spécifications Universal Serial Bus Rev. 2.0
  • Débit de données TX de transfert haute vitesse jusqu'à 150 Mbps
  • Prend en charge WPS par S/W
  • Prend en charge le cryptage des données sans fil avec WEP 64/128 bits, WPA, WPA2, TKIP, AES
  • Large gamme de couverture
  • Conforme à la FCC Part 15.247 pour les États-Unis, ETS 300 328 pour l'Europe
  • Prend en charge le pilote pour 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 et PC

Specificatii (sursa):

  • Sans fil: IEEE 802.11b/g/n
  • Norme USB 2.0
  • Antenne détachable 5dBi RP-SMA
  • Jeu de puces Ralink 3070

Étape 3: GPS Neo-6M

GPS Néo-6M
GPS Néo-6M

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

Caractéristiques (surse):

  • Un module GPS complet avec une antenne active intégrée et une EEPROM intégrée pour enregistrer les données des paramètres de configuration
  • L'antenne active en céramique 25 x 25 x 4 mm intégrée offre une forte capacité de recherche par satellite
  • Équipé de voyants d'alimentation et de signal et d'une batterie de sauvegarde de données.4) Alimentation: 3-5V; Débit en bauds par défaut: 9600bps
  • Interface: RS232 TTL

Étape 4: Alte Elemente

Alte Élémente
Alte Élémente
Alte Élémente
Alte Élémente
Alte Élémente
Alte Élémente

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

  • Cablu LAN - pentru conectarea placuteri Raspberry Pi 3 B+ la ordinateur portable;
  • Adaptateur réseau USB - pentru conectarea cablului la laptop (in cazul meu, pentru ca nu dispun de port LAN);
  • Baterie externa pentru a alimenta placuta;
  • Maman-maman du feu;
  • Écran LCD 16x2;

  • Carte SD 16 Go;
  • Potentiomètre;

Étape 5: Connecter

Connecter
Connecter
Connecter
Connecter

Raspberry Pi 3 B+ -- Ordinateur portable

Se conecteaza cu ajutorul cablului LAN si un réseau USB adaptorului.

Raspberry Pi 3 B+ -- Réseau Alfa AWUS036NHA

Cablul USB al adaptorului WiFi se présente le port intr-un USB al placutei.

Raspberry Pi 3 B+ - GPS Neo-6M

VCC (3,3 V) - VCC

RXD - TXD

TXD - RXD

TERRE - TERRE

Se folosesc feu mama-mama.

LCD - Raspberry Pi 3 B+

1. Broche 1 (Masse) - rail de masse.

2. Broche 2 (VCC/5v) - rail positif.

3. Broche 3 (V0) - fil du milieu du potentiomètre.

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

5. Broche 5 (RW) - rail au sol.

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

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

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

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

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

11. Broche 15 (LED +) - rail positif.

12. Broche 16 (LED -) - rail de masse.

Étape 6: configuration

Installer
Installer
Installer
Installer
Installer
Installer

Avand toate elementele hardware, am trecut la configurare. Primul pas a fost instalarea sistemului de operare pe Raspberry Pi. Dans 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.

Dans Panneau de configuration\Réseau et Internet\Connexions réseau, je modifie la propriété WiFi-ului la care eram conectat, bifand Autorisez les autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur si selectand Ethernet2.

Dupa acesta setare, dans le dossier acelasi am verificat proprietatile Ethernet2 - Internet Protocol Version 4 (TCP/IPv4) pentru a vedea ce IP foloseste Ethernet2. Astfel, suis 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 are setat un IP static, 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.

Étape 7: GPSD

GPSD
GPSD

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

sudo apt-get mise à jour

Cu sistemul actualizat, am instalat programele de care mai aveam nevoie. Suis gouverné:

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

suis modificat setarile astfel:

START_DAEMON="vrai"

GPSD_OPTIONS="-n"

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

USBAUTO="true"

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

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

Étape 8: Kismet

Kismet
Kismet
Kismet
Kismet

Urmatorul pas a fos de a descarca Kismet.

wget

Kismet est un détecteur de WiFi, Bluetooth, etc.

Acestia sunt urmatorii pasi pe care i-am facut:

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

./configurer

faire dep

Fabriquer

sudo faire installer

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

ifconfig

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

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

Suis adaugat:

ncsource=wlan1

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

types de journaux=gpsxml, netxml

Étape 9: écran LCD

ACL
ACL

Pentru afisarea pe LCD am folosit libraria AdaFruit.

git clone

cd./Adafruit_Python_CharLCDsudo python setup.py installer

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

*Din mobile de portabilitate am ales eliminarea LCD-ului.

Étape 10: Tester le GPS

Tester le GPS
Tester le GPS
Tester le GPS
Tester le GPS

Urmatorul pas a fost testarea GPS-ului.

Suis créé pour copier un cmdline.txt.

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

Suis editat cmdline.txt si je suis eliminat interfata seriala, stergand console=ttyAMA0, 115200.

sudo nano /boot/cmdline.txt

redémarrage sudo

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

sudo stty -F /dev/ttyS0 -a

Suis setat baud rate-ul manuel la 9600

sudo stty -F /dev/ttyS0 9600

Suis testat printr-un simplu cat:

chat sudo /dev/ttyS0

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

Suis dat debut 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:

redémarrage du service gpsd sudo

démarrage du service gpsd sudo

arrêt du service gpsd sudo

sudo killall gpsd

Étape 11: Proba Dispozitiv

Proba Dispozitiv
Proba Dispozitiv

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

mkdir ~/testcd ~/test

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

sudo stty -F /dev/ttyS0 9600

chat sudo /dev/ttyS0

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

écran -S kismet

sudo kismet

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

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

Pentru a reconecta screen-ul:

écran -r kismet

Kismet inca règleaza. Dans acest mod, putem porni Kismet si apoi deconectam placuta de la laptop. Chat timp Framboise Pi-ul va fi alimentat, Kismet va rula. Astfel, se vor cartografia toate retelele receptionate in cazul deplasarii de la un punct la altul.

Étape 12: Rezultate

Dupa inchiderea Kismet, toate datele au fost scrise in directorul curent (numit test). Se pote verifica existenta celor 2 fiisiere XML pe care Kismet le-a creat prin comanda:

ls

Se afieaza:

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 fiisier hartaWiFi.kml care poate fi importat in Google Maps (de exemplu).

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

Suis rulat scriptul:

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

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

Étape 13: Exporter Rezultate 1

Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1
Exporter le résultat 1

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

Suis creat o noua harta dans Google Maps (lien) si je suis importat fisierul hartiWiFi.kml.

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

Étape 14: Exporter Rezultate 2

Exporter le résultat 2
Exporter le résultat 2

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

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

var kmlLayer = nouveau google.maps. KmlLayer({

URL: '--------------', suppressInfoWindows: vrai, carte: carte });

Rezultatele se pot vedea in poza.

Conseillé: