>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Dart

Vernet trasforma uno smartphone e un laptop in uno scanner di rete tascabile

Ogni volta che un altro servizio va giù in una rete domestica o d'ufficio, inizia la routine con le utility della console. Apri arp -a, nmap, infiniti ping nel terminale, e cerchi di ricordare quale indirizzo IP il router ha assegnato alla nuova scheda Raspberry Pi. Sul desktop puoi ancora cavartela, ma quando hai solo il telefono a portata di mano, districarsi con la situazione della subnet diventa notevolmente più difficile.

Recentemente mi sono imbattuto nel repository Vernet dell'organizzazione Open Society. È uno scanner di rete multipiattaforma con codice sorgente aperto, scritto in Flutter. Il progetto risolve un compito semplice: raccogliere le utility di rete di base in un'unica interfaccia pulita che funziona allo stesso modo su Android, Linux, macOS e Windows.

Screenshot dell'interfaccia di Vernet

Cosa può fare l'app

invece di uno strumento gonfio tutto-in-uno, gli sviluppatori hanno creato un insieme di utility essenziali.

L'interfaccia è suddivisa in diverse schermate:

| Home | Elenco dispositivi | Porte aperte | |---|---|---| | | | |

| Ping | DNS | Test velocità | |---|---|---| | | | |

Questi sono gli scenari principali coperti da Vernet:

  • Individuazione di dispositivi nella subnet. L'app esegue la scansione dell'intervallo di indirizzi locale e mostra un elenco degli host scoperti con i relativi indirizzi MAC e i nomi dei produttori delle apparecchiature.
  • Scansione delle porte. Puoi specificare un indirizzo IP specifico e verificare le porte TCP aperte per determinare rapidamente se un server web, SSH o un database è attivo.
  • Riepilogo della connessione corrente. Il programma mostra i parametri Wi-Fi, incluso il BSSID, e identifica il provider ISP esterno.
  • Diagnostica della connessione. Include il ping dell'host, le query ai server DNS e la misurazione della velocità tramite speedtest.net.

Come è strutturato il progetto

Il repository è scritto in Dart utilizzando il framework Flutter. Questo rende la codebase unificata tra le build mobile e desktop.

Sul desktop, a volte l'app richiede dipendenze di sistema. Ad esempio, su Linux, è necessario il pacchetto net-tools per una corretta raccolta della tabella ARP, altrimenti l'utility non sarà in grado di mappare gli IP agli indirizzi MAC.

Le build Android sono distribuite tramite Google Play e il catalogo F-Droid. L'autore del progetto ha persino scritto una guida separata sulla pubblicazione di app Flutter su F-Droid, con un link lasciato nel repository.

Installazione ed esecuzione

Su Android, il modo più semplice per installare l'app è da F-Droid o Google Play. Se hai bisogno di un client desktop, i binari sono disponibili nella scheda Releases del repository.

Per eseguire su Linux sono necessari i seguenti passaggi:

# Устанавливаем net-tools для команды arp
sudo apt install net-tools

# Скачиваем архив из релизов, распаковываем и запускаем
unzip vernet-linux.zip
cd bundle
./vernet

Su macOS, la build non è ancora stata notarizzata da Apple, quindi al primo avvio dovrai aprire il binario tramite il menu contestuale di Finder tenendo premuto il tasto Control.

A chi sarà utile questo progetto

Vernet difficilmente sostituirà Wireshark o script nmap approfonditi per audit di sicurezza seri. Ma è un'ottima alternativa ai scanner mobili proprietari come Fing, che ultimamente sono stati sommersi di pubblicità, tracker e abbonamenti a pagamento.

Se hai bisogno di uno strumento leggero e tascabile per Android o di un'utility pulita per controlli rapidi di porte e IP su un laptop, il progetto merita sicuramente di essere salvato nei preferiti. Il codice sorgente è aperto con licenza Apache 2.0, quindi gli sviluppatori Dart possono esaminare l'implementazione delle chiamate di rete a basso livello in Flutter.

Progetti correlati