>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Dart

Vernet verandert een smartphone en laptop in een draagbare netwerkscanner

Telkens wanneer er een service uitvalt in een thuis- of kantoornetwerk, begint de routine met console-hulpmiddelen. Je grijpt naar arp -a, nmap, eindeloze ping in de terminal en probeert te onthouden welk IP-adres de router aan het nieuwe Raspberry Pi-bord heeft toegewezen. Op een desktop kun je hier nog mee leven, maar wanneer je alleen je telefoon bij de hand hebt, wordt het een stuk lastiger om de subnetwerksituatie te achterhalen.

Ik ben onlangs de Vernet-repository van de Open Society-organisatie tegengekomen. Het is een platformonafhankelijke netwerkscanner met open source-code, geschreven in Flutter. Het project lost een eenvoudige taak op: verzamel basis netwerkhulpmiddelen in één overzichtelijke interface die hetzelfde werkt op Android, Linux, macOS en Windows.

Schermafbeeldingen van Vernet-interface

Wat de app kan doen

In plaats van een overladen alles-in-één tool hebben de ontwikkelaars een set essentiële hulpmiddelen gemaakt.

De interface is verdeeld over verschillende schermen:

| Home | Apparaatlijst | Open Poorten | |---|---|---| | | | |

| Ping | DNS | Snelheidstest | |---|---|---| | | | |

Hier zijn de belangrijkste scenario's die Vernet dekt:

  • Apparaten op het subnet zoeken. De app scant het lokale adresbereik en toont een lijst met ontdekte hosts met hun MAC-adressen en fabrieksnamen van de apparatuur.
  • Poortscanning. Je kunt een specifiek IP-adres opgeven en open TCP-poorten controleren om snel te bepalen of een webserver, SSH of database actief is.
  • Huidige verbindingssamenvatting. Het programma toont Wi-Fi-parameters, inclusief BSSID, en identificeert de externe ISP.
  • Verbindingsdiagnostiek. Het omvat host-ping, DNS-serverquery's en snelheidsmeting via speedtest.net.

Hoe het project is gestructureerd

De repository is geschreven in Dart met behulp van het Flutter-framework. Dit maakt de codebase uniform voor mobiele en desktop-builds.

Op desktop vereist de app soms systeemafhankelijkheden. Op Linux is bijvoorbeeld het net-tools-pakket nodig voor een correcte ARP-tabelverzameling, anders kan het hulpmiddel geen IP's aan MAC-adressen koppelen.

Android-builds worden gedistribueerd via Google Play en de F-Droid-catalogus. De projectauteur heeft zelfs een aparte handleiding geschreven voor het publiceren van Flutter-apps naar F-Droid, met een link in de repository.

Installatie en uitvoering

Op Android is de eenvoudigste manier om de app te installeren via F-Droid of Google Play. Als je een desktopclient nodig hebt, zijn binaries beschikbaar op het Releases-tabblad in de repository.

De volgende stappen zijn nodig om op Linux te draaien:

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

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

Op macOS is de build nog niet door Apple geautoriseerd, dus bij de eerste launch moet je de binary openen via het Finder-contextmenu met de Control-toets ingedrukt.

Voor wie is dit project nuttig

Vernet zal waarschijnlijk Wireshark of diepe nmap-scripts niet vervangen voor serieuze beveiligingsaudits. Maar het is een geweldig alternatief voor proprietaire mobiele scanners zoals Fing, die de laatste tijd overladen zijn met advertenties, trackers en betaalde abonnementen.

Als je een lichtgewicht draagbaar hulpmiddel voor Android of een overzichtelijke tool voor snelle poort- en IP-controles op een laptop nodig hebt, is het project zeker het bookmarken waard. De broncode is open onder de Apache 2.0-licentie, dus Dart-ontwikkelaars kunnen de implementatie van low-level netwerk-aanroepen in Flutter bekijken.

Gerelateerde projecten