Cuprins:
- Pasul 1: Raspberry Pi 3 B +
- Pasul 2: Alfa Network AWUS036NHA
- Pasul 3: GPS Neo-6M
- Pasul 4: Alte Elemente
- Pasul 5: Conectivitate
- Pasul 6: Configurare
- Pasul 7: GPSD
- Pasul 8: Kismet
- Pasul 9: LCD
- Pasul 10: Testare GPS
- Pasul 11: Proba Dispozitiv
- Pasul 12: Rezultați
- Pasul 13: Export Rezultate 1
- Pasul 14: Export Rezultate 2
Video: Sistem De Cartografiere a Rețelelor WiFi: 14 Steps
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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 +
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
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
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
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
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
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
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
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
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
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
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
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
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:
Sfaturi pentru cartografiere: 3 pași
Sfaturi de cartografiere: Indiferent de activitatea dvs., indiferent dacă este mersul pe jos, drumeții, ciclism sau chiar conducere, puteți înregistra traseele pe care le parcurgeți. Apoi, puteți partaja aceste rute cu prietenii și familia. În plus, puteți utiliza ruta înregistrată pentru a adăuga locații la orice fotografii pe care le puteți h
Sistem de sortare a culorilor: Sistem bazat pe Arduino cu două centuri: 8 pași
Sistem de sortare a culorilor: Sistem pe bază de Arduino cu două benzi: Transportul și / sau ambalarea produselor și articolelor din domeniul industrial se face folosind linii realizate cu benzi transportoare. Aceste centuri ajută la mutarea articolului dintr-un punct în altul cu o viteză specifică. Unele sarcini de procesare sau identificare pot fi
Scanner 3D de bază pentru cartografiere digitală 3D: 5 pași
Scanner 3D de bază pentru cartografiere digitală 3D: În acest proiect, voi descrie și explica bazele de bază ale scanării și reconstrucției 3D aplicate în principal scanării obiectelor semi-plane mici și a căror funcționare poate fi extinsă la sistemele de scanare și reconstrucție care pot b
Avertizare timpurie Raspberry PI Runway Light Utilizarea datelor de cartografiere a zborului: 14 pași (cu imagini)
Avertizare timpurie Raspberry PI Runway Light Utilizând date de cartografiere a zborului: Această lampă a apărut din mai multe motive, deoarece sunt mereu interesat de avioanele care zboară deasupra capului și în timpul verii, la sfârșit de săptămână, există adesea unele destul de interesante care zboară în jur. Deși ai tendința să-i auzi doar pe măsură ce trec
Sistem De Cartografiere a Retelelor LoRaWAN: 4 Steps
Sistem De Cartografiere a Retelelor LoRaWAN: In cadrul acestui program s-a dorit realizarea unui sistem de cartografiere a retelelor LoRaWAN.Ce este LoRa? LoRa este o tehnologie care pune la dipozitia dezvoltatorilor de solutii inteligente o transmisie de raza lunga si securizata a datelor, cu