Cuprins:

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

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

Video: Sistem De Cartografiere a Rețelelor WiFi: 14 Steps
Video: CMD: Afișați parola Wi-Fi | Windows 10 / 11 | NETVN 2024, Iulie
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. In urma cartografierii se pot obtine informatii despre retelele WiFi existente cum ar fi: numarul acestora, coordonate aproximative, numele lor sau tipul de securitate.

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

Pasul 1: Raspberry Pi 3 B +

Raspberry Pi 3 B +
Raspberry Pi 3 B +

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

Specificatii (sursa):

  • SoC: Broadcom BCM2837B0 quad-core A53 (ARMv8) pe 64 de biți @ 1,4 GHz
  • GPU: Broadcom Videocore-IV
  • RAM: 1 GB LPDDR2 SDRAM
  • Rețea: Gigabit Ethernet (prin canal USB), 2,4 GHz și 5 GHz 802.11b / g / n / ac Wi-Fi
  • Bluetooth: Bluetooth 4.2, Bluetooth Low Energy (BLE)
  • Stocare: Micro-SD
  • GPIO: antet GPIO cu 40 de pini, populat
  • Porturi: HDMI, mufă analogică audio-video de 3,5 mm, 4x USB 2.0, Ethernet, interfață serială a camerei (CSI), interfață serială afișată (DSI)
  • Dimensiuni: 82mm x 56mm x 19.5mm, 50g

Pasul 2: Alfa Network AWUS036NHA

Alfa Network AWUS036NHA
Alfa Network AWUS036NHA

Urmatorul pas a fost achizitionarea unui adapter WiFi. Chiar dacă această versiune de Pi vine cu WiFi, am dorit ceva cu antena externa pentru o localizare mai precisă. Dupa o documentare pe internet am ajuns la concluzia ca cea mai bună soluție este un adaptor de la Alfa Network. Am ales un Alfa Network AWUS036NHA.

Acesta are urmatoarele caracteristici (sursa):

  • Compatibil cu standardele wireless IEEE 802.11n, 802.11b / g / n
  • Banda de frecvență de 2,4 GHz, MIMO (Multiple Input Multiple Output)
  • Respectă specificațiile Universal Serial Bus Rev. 2.0
  • Rată de date TX de transfer de mare viteză până la 150 Mbps
  • Suportă WPS de S / W
  • Suportă criptarea datelor fără fir cu WEP, WPA, WPA2, TKIP, AES pe 64/128 de biți
  • Acoperire cu gamă largă
  • Conform cu FCC Partea 15.247 pentru SUA, ETS 300 328 pentru Europa
  • Suportă driver pentru 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 & PC

Specificatii (sursa):

  • Fără fir: IEEE 802.11b / g / n
  • USB 2.0 standard
  • Antena detasabila 5dBi RP-SMA
  • Chipset Ralink 3070

Pasul 3: GPS Neo-6M

GPS Neo-6M
GPS Neo-6M

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

Caracteristici (sursa):

  • Un modul GPS complet cu o antenă activă integrată și o EEPROM încorporată pentru a salva datele parametrilor de configurare
  • Antena activă din ceramică de 25 x 25 x 4 mm încorporată oferă o capacitate puternică de căutare prin satelit
  • Echipat cu lumini indicatoare de alimentare și semnal și baterie de rezervă pentru date. 4) Alimentare: 3-5V; Rată de transmisie implicită: 9600bps
  • Interfață: RS232 TTL

Pasul 4: Alte Elemente

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

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

  • Cablu LAN - pentru conectarea placutelor Raspberry Pi 3 B + la laptop;
  • USB network adapter - pentru conectarea cablului la laptop (in cazul meu, pentru ca nu dispun de port LAN);
  • Baterie externa pentru a alimenta placuta;
  • Foc mama-mama;
  • 16 x 2 LCD;

  • CardSD de 16 GB;
  • Potentiometru;

Pasul 5: Conectivitate

Conectivitate
Conectivitate
Conectivitate
Conectivitate

Raspberry Pi 3 B + - Laptop

Se conectează cu ajutorul cablului LAN și a adaptorului USB network.

Raspberry Pi 3 B + - Alfa Network AWUS036NHA

Cablul USB al adaptorului WiFi se introduce intr-un port USB al placutei.

Raspberry Pi 3 B + - GPS Neo-6M

VCC (3,3V) - VCC

RXD - TXD

TXD - RXD

GND - GND

Se folosesc fire mama-mama.

LCD - Raspberry Pi 3 B +

1. Pinul 1 (masă) - șină de sol.

2. Pinul 2 (VCC / 5v) - șină pozitivă.

3. Pinul 3 (V0) - firul mijlociu al potențiometrului.

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

5. Pinul 5 (RW) - șină de sol.

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

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

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

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

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

11. Pinul 15 (LED +) - șină pozitivă.

12. Pinul 16 (LED -) - șină de sol.

Pasul 6: Configurare

Înființat
Înființat
Înființat
Înființat
Înființat
Înființat

Avand toate elementele hardware, am trecut la configurare. Primul pas a fost instalarea sistemului de operare pe Raspberry Pi. În cazul în care sistemul meu este deja instalat pe cardul microSD, singura modificare a fost activă SSH-ului.

Urmatorul pas a fost configurarea laptopului pentru a trimite retea către Raspberry Pi.

În Control Panel / Network and Internet / Network Connections am modificat proprietatile WiFi-ului la care sunt conectate, bifand A permite altor utilizatori de rețea să se conecteze prin conexiunea la internet a acestui computer și selectați Ethernet2.

Dupa aceasta setare, in acelasi folder am verificat proprietatile Ethernet2 - Internet Protocol Version 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 are setat un IP static, acesta se schimbă la fiecare cu îngrijire a firului.

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

Pasul 7: GPSD

GPSD
GPSD

Dupa conectare, am actualizat sistemul, deoarece acesta poate fi in urma cu actualizarea. Am folosit:

sudo apt-get update

Cu sistemul actualizat, am instalat programele de care mai aveam nevoie. Am 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

am modificat setarile astfel:

START_DAEMON = "adevărat"

GPSD_OPTIONS = "- n"

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

USBAUTO = "adevărat"

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

* Se poate modifica / dev / ttyS0 cu calea către locul de unde ia gps-ul datelor

Pasul 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 /

./configure

face dep

face

sudo make install

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 dacă există un WiFi extern, acesta este pe wlan1

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

Am adăugat:

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

Pasul 9: LCD

LCD
LCD

Pentru afisarea pe LCD am folosit libraria AdaFruit.

git clone

cd./Adafruit_Python_CharLCDsudo python setup.py install

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

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

Pasul 10: Testare GPS

Testare GPS
Testare GPS
Testare GPS
Testare GPS

Urmatorul pas a fost testarea GPS-ului.

Am creat o copie a 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 reboot

Dupa reboot, 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

Am testat printr-un simplu cat:

sudo cat / dev / ttyS0

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

Am pornit 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:

reporniți sudo service gpsd

sudo service gpsd start

sudo service gpsd stop

sudo killall gpsd

Pasul 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

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

ecran -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:

ecran -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 recepționate în cazul deplasării de la un punct la altul.

Pasul 12: Rezultați

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

eu sunt

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, salvat-le intr-un fisier hartaWiFi.kml care poate fi importat in Google Maps (de exemplu).

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

Am 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.

Pasul 13: Export Rezultate 1

Export Rezultate 1
Export Rezultate 1
Export Rezultate 1
Export Rezultate 1
Export Rezultate 1
Export Rezultate 1
Export Rezultate 1
Export Rezultate 1

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

Am creat o noua harta in Google Maps (link) si am importat fisierul hartiWiFi.kml.

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

Pasul 14: Export Rezultate 2

Export Rezultate 2
Export Rezultate 2

O alta metoda de a afisa date 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 in cod la url:

var kmlLayer = new google.maps. KmlLayer ({

url: „--------------”, suppressInfoWindows: adevărat, hartă: hartă});

Rezultatele se pot vedea in poza.

Recomandat: