Isi kandungan:

Sistem De Cartografiere a Reelelor WiFi: 14 Langkah
Sistem De Cartografiere a Reelelor WiFi: 14 Langkah

Video: Sistem De Cartografiere a Reelelor WiFi: 14 Langkah

Video: Sistem De Cartografiere a Reelelor WiFi: 14 Langkah
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, November
Anonim
Sistem De Cartografiere a Reelelor WiFi
Sistem De Cartografiere a Reelelor WiFi

Cartografierea retelelor WiFi este Procedeul prin care se doreste gasirea retelelor WiFi, iar apoi localizarea acestora cu ajutorul GPS-ului. Dalam urma cartografierii se pot obtine informatii despre retelele WiFi υπάρχον cum cum 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.

Langkah 1: Raspberry Pi 3 B +

Raspberry Pi 3 B +
Raspberry Pi 3 B +

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

Spesifik (sursa):

  • SoC: Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @ 1.4GHz
  • GPU: Broadcom Videocore-IV
  • RAM: 1GB LPDDR2 SDRAM
  • Rangkaian: Gigabit Ethernet (melalui saluran USB), 2.4GHz dan 5GHz 802.11b / g / n / ac Wi-Fi
  • Bluetooth: Bluetooth 4.2, Tenaga Rendah Bluetooth (BLE)
  • Storan: Micro-SD
  • GPIO: Header GPIO 40-pin, diisi
  • Port: HDMI, bicu audio-analog analog 3.5mm, 4x USB 2.0, Ethernet, Interface Serial Kamera (CSI), Interface Serial Paparan (DSI)
  • Dimensi: 82mm x 56mm x 19.5mm, 50g

Langkah 2: Alfa Network AWUS036NHA

Rangkaian Alfa AWUS036NHA
Rangkaian Alfa AWUS036NHA

Urmatorul pas fost achizitionarea unui penyesuai 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. Am ales un Alfa Network AWUS036NHA.

Acesta adalah urmatoarele caracteristici (sursa):

  • Sesuai dengan standard tanpa wayar IEEE 802.11n, 802.11b / g / n
  • Jalur frekuensi 2.4GHz, MIMO (Multiple Input Multiple Output)
  • Mematuhi spesifikasi Universal Serial Bus Rev. 2.0
  • Kadar data TX pemindahan berkelajuan tinggi hingga 150 Mbps
  • Menyokong WPS oleh S / W
  • Menyokong penyulitan data tanpa wayar dengan WEP 64/128-bit, WPA, WPA2, TKIP, AES
  • Liputan Julat Lebar
  • Mematuhi FCC Bahagian 15.247 untuk AS, ETS 300 328 untuk Eropah
  • Menyokong pemacu untuk 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

Spesifik (sursa):

  • Tanpa Wayar: IEEE 802.11b / g / n
  • Piawai USB 2.0
  • Antena RP-SMA 5dBi yang boleh dilepas
  • Ralink 3070 chipset

Langkah 3: GPS Neo-6M

GPS Neo-6M
GPS Neo-6M

Sebagai asemen, am achizitionat un GPS pentru a furniza date despre locatie. Ames GPS Neo-6M.

Karakteristik (sursa):

  • Modul GPS lengkap dengan antena aktif yang terintegrasi, dan EEPROM bawaan untuk menyimpan data parameter konfigurasi
  • Antena aktif seramik 25 x 25 x 4mm terbina dalam memberikan keupayaan carian satelit yang kuat
  • Dilengkapi dengan lampu penunjuk kuasa dan isyarat dan bateri sandaran data.4) Bekalan kuasa: 3-5V; Kadar baud lalai: 9600bps
  • Antara muka: RS232 TTL

Langkah 4: Alte Elemente

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

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

  • Komputer riba Cablu LAN - pentru conectarea placuteri Raspberry Pi 3 B + la;
  • Penyesuai rangkaian USB - komputer riba pentru conectarea cablului la (dalam cazul meu, pentru ca nu dispun de port LAN);
  • Baterie externa pentru a alimenta placuta;
  • Api mama-mama;
  • LCD 16 x 2;

  • Kad SD 16GB;
  • Potentiometru;

Langkah 5: Berkeyakinan

Berkeyakinan
Berkeyakinan
Berkeyakinan
Berkeyakinan

Raspberry Pi 3 B + - Komputer riba

Se conecteaza cu ajutorul cablului LAN si rangkaian USB adaptorului.

Raspberry Pi 3 B + - Alfa Network AWUS036NHA

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

Raspberry Pi 3 B + - GPS Neo-6M

VCC (3.3V) - VCC

RXD - TXD

TXD - RXD

GND - GND

Se folosesc api mama-mama.

LCD - Raspberry Pi 3 B +

1. Pin 1 (Ground) - landasan kereta api.

2. Pin 2 (VCC / 5v) - rel positif.

3. Pin 3 (V0) - wayar tengah potensiometer.

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

5. Pin 5 (RW) - landasan kereta api.

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 +) - rel positif.

12. Pin 16 (LED -) - landasan kereta api.

Langkah 6: Persediaan

Persediaan
Persediaan
Persediaan
Persediaan
Persediaan
Persediaan

Avand toate elementele hardware, am trecut la configurare. Terutama aplikasi instalarea sistemului de operare pe Raspberry Pi. Dalam 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.

Di Panel Kawalan / Rangkaian dan Internet / Sambungan Rangkaian adalah hak istimewa WiFi-ului la care eram conectat, sekiranya pengguna rangkaian lain dapat berhubung melalui sambungan internet komputer ini dan pilih Ethernet2.

Dupa aceasta setare, dalam folder acelasi adalah 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 adalah set IP un static, acesta se schimba la fiecare mewujudkan firului.

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

Langkah 7: GPSD

GPSD
GPSD

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

sudo apt-get kemas kini

Cu sistemul actualizat, saya instalat programele de care mai aveam nevoie. Adakah peraturan:

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

sudo nano / etc / default / gpsd

am modificat setarile astfel:

START_DAEMON = "benar"

GPSD_OPTIONS = "- n"

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

USBAUTO = "benar"

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

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

Langkah 8: Kismet

Kismet
Kismet
Kismet
Kismet

Urmatorul pas a fos de a descarca Kismet.

wget

Kismet este un detector de WiFi, Bluetooth, dll.

Acestia sunt urmatorii pasi pe care i-am facut:

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

./konfigurasi

buat dep

membuat

sudo buat pasang

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 وجود dan luaran WiFi, acesta este pe wlan1

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

Saya adaugat:

ncsource = wlan1

Secara asemen, amati dalam output-ul vor fi fisiere care nu sunt utile pentru acest proiect asaca am moficiat logtype in felul urmator:

jenis log = gpsxml, netxml

Langkah 9: LCD

LCD
LCD

Pentru afisarea pe LCD am folosit libraria AdaFruit.

git klon

cd./Adafruit_Python_CharLCDsudo python setup.py pasang

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

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

Langkah 10: Testare GPS

Testare GPS
Testare GPS
Testare GPS
Testare GPS

Urmatorul pas fost testarea GPS-ului.

Saya mencipta salinan 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

rebo sudo

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

Saya testat printr-un simplu cat:

sudo cat / dev / ttyS0

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

Adakah bermula dari GPSD:

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

Datele primite se pot afisa usor prin

cgps -s

sos

gpsmon

* Alte comenzi folositoare au fost:

perkhidmatan sudo mulakan semula gpsd

perkhidmatan sudo gpsd bermula

perkhidmatan sudo gpsd berhenti

sudo killall gpsd

Langkah 11: Proba Dispozitiv

Proba Dispozitiv
Proba Dispozitiv

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

mkdir ~ / testcd ~ / ujian

Am deschis GPSD (dalam 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

skrin -S kismet

sudo kismet

Dupa ce s-a deschis am apasat YA si MULAI.

Dalam aceste momente Kismet Peraturaneaza si achizitioneaza tarikh. Dalam GPS sentuhan oberva informatiile, di dalam dreapta se observa numarul de retele gasite. Am creeat un nou screen pentru Kimset, pentru a-i putea da timp sa achizitioneze tarikh (CTRL + A / D).

Pentru a reconecta screen-ul:

skrin -r kismet

Kismet inca peraturaneaza. Dalam mod acest, putem porni Kismet si apoi deconectam placuta de la laptop. Timp kucing Raspberry Pi-ul va fi alimentat, Kismet va rula. Astfel, se vor cartografia toate retelele receptionate di cazul deplasarii de la un punct la altul.

Langkah 12: Buat semula

Dupa inchiderea Kismet, toate datele au fost scrise dalam direktorent curent (numit test). Se pote verifica υπάρenta 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 di Peta Google (de exemplu).

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

Adakah nas peraturan:

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.

Langkah 13: Eksport Rezultate 1

Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1
Eksport Rezultate 1

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

Saya mencipta o noua harta di Peta Google (pautan) si am importat fisierul hartiWiFi.kml.

Rezultatul se poate vedea dalam keadaan tenang. Dalam urma cartografierii si incarcarii fisierului di Peta Google, vor aparea informatii despre localizare, nume, tipul retelei, dar nu numai.

Langkah 14: Eksport Rezultate 2

Eksport Rezultate 2
Eksport Rezultate 2

O alta metoda de a afisa datele a laptop 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 dalam cod la url:

var kmlLayer = google.maps. KmlLayer baru ({

url: '--------------', suppressInfoWindows: benar, peta: peta});

Rezultatele se pot vedea dalam poza.

Disyorkan: