Índice:

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

Vídeo: Sistem De Cartografiere a Rețelelor WiFi: 14 etapas

Vídeo: Sistem De Cartografiere a Rețelelor WiFi: 14 etapas
Vídeo: RoboUP T1000 robot de tuns gazon autonom, cu GPS, AI și precizie la nivel de centimetru. 2024, Julho
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. Em urma cartografierii se pot obter 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.

Etapa 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) 64 bits @ 1,4 GHz
  • GPU: Broadcom Videocore-IV
  • RAM: 1GB LPDDR2 SDRAM
  • Rede: Gigabit Ethernet (via canal USB), 2,4 GHz e 5 GHz 802.11b / g / n / ac Wi-Fi
  • Bluetooth: Bluetooth 4.2, Bluetooth de baixa energia (BLE)
  • Armazenamento: Micro-SD
  • GPIO: cabeçalho GPIO de 40 pinos, preenchido
  • Portas: HDMI, conector de áudio e vídeo analógico de 3,5 mm, 4x USB 2.0, Ethernet, Interface serial da câmera (CSI), Interface serial do monitor (DSI)
  • Dimensões: 82 mm x 56 mm x 19,5 mm, 50g

Etapa 2: Rede Alfa AWUS036NHA

Alfa Network AWUS036NHA
Alfa Network AWUS036NHA

Urmatorul pas a fost achizitionarea unui adapter WiFi. Chiar daca aceasta versiune de Pi vine com WiFi, am dorit ceva com antena externa para a localização mais precisa. Dupa o documentare pe internet am ajuns la concluzia ca cea mai buna solutie este un adapter de la Alfa Network. Sou uma Alfa Network AWUS036NHA.

Acesta são urmatoarele caracteristici (sursa):

  • Compatível com os padrões sem fio IEEE 802.11n, 802.11b / g / n
  • Banda de frequência de 2,4 GHz, MIMO (Multiple Input Multiple Output)
  • Está em conformidade com as especificações Universal Serial Bus Rev. 2.0
  • Taxa de transferência de dados TX de alta velocidade de até 150 Mbps
  • Suporta WPS por S / W
  • Suporta criptografia de dados sem fio com WEP, WPA, WPA2, TKIP, AES de 64/128 bits
  • Cobertura ampla
  • Compatível com FCC Parte 15.247 para os EUA, ETS 300 328 para a Europa
  • Suporta driver 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 e PC

Specificatii (sursa):

  • Sem fio: IEEE 802.11b / g / n
  • Padrão USB 2.0
  • Antena 5dBi RP-SMA removível
  • Chipset Ralink 3070

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

Características (sursa):

  • Um módulo GPS completo com uma antena ativa integrada e um EEPROM embutido para salvar os dados dos parâmetros de configuração
  • A antena ativa de cerâmica de 25 x 25 x 4 mm embutida oferece forte capacidade de busca por satélite
  • Equipado com energia e luzes indicadoras de sinal e bateria de backup de dados. 4) Fonte de alimentação: 3-5V; Taxa de transmissão padrão: 9600bps
  • Interface: RS232 TTL

Etapa 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 rede USB - pentru conectarea cablului la laptop (em cazul meu, pentru ca nu dispun de porta LAN);
  • Baterie externa pentru a alimenta placuta;
  • Fogo mamãe-mamãe;
  • 16 x 2 LCD;

  • CardSD 16GB;
  • Potentiometru;

Etapa 5: Conectivitar

Conectivitar
Conectivitar
Conectivitar
Conectivitar

Raspberry Pi 3 B + - Laptop

Se conecta com o ajutorul cablului LAN e uma rede USB adaptorului.

Raspberry Pi 3 B + - Rede Alfa AWUS036NHA

Cablul USB al adaptorului WiFi apresenta uma porta interna USB al placutei.

Raspberry Pi 3 B + - GPS Neo-6M

VCC (3,3 V) - VCC

RXD - TXD

TXD - RXD

GND - GND

Se folosesc fogo mamãe-mamãe.

LCD - Raspberry Pi 3 B +

1. Pino 1 (Terra) - trilho de aterramento.

2. Pino 2 (VCC / 5v) - trilho positivo.

3. Pino 3 (V0) - fio do meio do potenciômetro.

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

5. Pino 5 (RW) - trilho de aterramento.

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

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

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

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

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

11. Pino 15 (LED +) - trilho positivo.

12. Pino 16 (LED -) - trilho de aterramento.

Etapa 6: configuração

Configurar
Configurar
Configurar
Configurar
Configurar
Configurar

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

Urmatorul pas a fostea configurar laptopului pentru a trimite retea catre Raspberry Pi.

Em Painel de controle / Rede e Internet / Conexões de rede, sou modificat proprietário WiFi-ului la care eram conectat, bifand A llow outros usuários de rede para se conectar através da conexão de internet deste computador si selectand Ethernet2.

Dupa aceasta setare, in acelasi folder am verificat proprietatile Ethernet2 - Internet Protocol Version 4 (TCP / IPv4) para uma vedea ce IP foloseste Ethernet2. Astfel, estou observando 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 são configurados como IP estático, acesta se schimba la fiecare conecare um firului.

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

Etapa 7: GPSD

GPSD
GPSD

Dupa conectare, am atualizat sistemul, deoarece acesta putea fi in urma cu atualizarile. 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 = "verdadeiro"

GPSD_OPTIONS = "- n"

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

USBAUTO = "verdadeiro"

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

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

Etapa 8: Kismet

Kismet
Kismet
Kismet
Kismet

Urmatorul pas a fos de a descarca Kismet.

wget

Kismet é um 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

fazer dep

faço

sudo make install

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

ifconfig

De obicei daca se existe um WiFi externo, acesta este pe wlan1

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

Am 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

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

* Não há motivo para portabilitar e eliminarea LCD-ului.

Etapa 10: Testare GPS

Testare GPS
Testare GPS
Testare GPS
Testare GPS

Urmatorul pas a fost testarea GPS-ului.

Estou criando uma cópia de um cmdline.txt.

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

Estou editando cmdline.txt sim eliminando interface seriala, stergand console = ttyAMA0, 115200.

sudo nano /boot/cmdline.txt

sudo reboot

Reinicialização da 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

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 dat start 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:

sudo service gpsd restart

sudo serviço gpsd start

sudo service gpsd stop

sudo killall gpsd

Etapa 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

tela -S kismet

Sudo Kismet

Dupa ce s-a deschis am apasat SIM si INICIAR.

Em aceste momente Kismet ruleaza si achizitioneaza date. Em centru se pot oberva informatiile GPS, iar in dreapta se observa numarul de retele gasite. Estou criando uma nova tela para Kimset, para colocar a data em data achizitioneze (CTRL + A / D).

Pentru a reconecta screen-ul:

tela -r kismet

Kismet inca ruleaza. No mod acest, 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.

Etapa 12: Rezultar

Dupa inchiderea Kismet, toate datele au fost scrise in directorul curent (teste numit). 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 no Google Maps (de exemplo).

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

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.

Etapa 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 face a fost sa copiez de pe Raspberry Pi fisierul hartiWiFi.kml, folosind WinSCP, local, pe laptop.

Sou criado o noua harta no Google Maps (link), sou importante fisierul hartiWiFi.kml.

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

Etapa 14: Exportar Rezultado 2

Exportar Rezultate 2
Exportar Rezultate 2

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

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

var kmlLayer = new google.maps. KmlLayer ({

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

Rezultatele se pot vedea em poza.

Recomendado: