>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Dart

Vernet zamienia smartfon i laptop w kieszonkowy skaner sieci

Za każdym razem, gdy w sieci domowej lub biurowej przestaje działać kolejna usługa, zaczyna się rutina z konsolowymi narzędziami. Sięgasz po arp -a, nmap, bezładnie wpisujesz ping w terminalu i próbujesz вспомнить, jaki adres IP router przypisał nowej płytce Raspberry Pi. Na komputerze stacjonarnym można jeszcze z tym żyć, ale gdy masz pod ręką tylko telefon, rozpoznanie sytuacji w podsieci staje się zauważalnie trudniejsze.

Niedawno natknąłem się na repozytorium Vernet organizacji Open Society. To wieloplatformowy skaner sieci z otwartym kodem źródłowym, napisany we Flutterze. Projekt rozwiązuje proste zadanie: gromadzi podstawowe narzędzia sieciowe w jednym przejrzystym interfejsie, który działa tak samo na Androidzie, Linuksie, macOS i Windows.

Zrzuty ekranu interfejsu Vernet

Co potrafi aplikacja

Zamiast rozbudowanego narzędzia typu wszystko-w-jednym, twórcy stworzyli zestaw niezbędnych funkcji.

Interfejs jest podzielony na kilka ekranów:

| Strona główna | Lista urządzeń | Otwarte porty |

|---|---|---| | | |

| Ping | DNS | Test prędkości |

|---|---|---| | | |

Oto główne scenariusze, które obsługuje Vernet:

  • Wyszukiwanie urządzeń w podsieci. Aplikacja skanuje lokalny zakres adresów i wyświetla listę wykrytych hostów wraz z ich adresami MAC i nazwami producentów sprzętu.
  • Skanowanie portów. Możesz podać konkretny adres IP i sprawdzić otwarte porty TCP, aby szybko ustalić, czy serwer WWW, SSH lub baza danych jest włączona.
  • Podsumowanie bieżącego połączenia. Program pokazuje parametry Wi-Fi, w tym BSSID, i identyfikuje zewnętrznego dostawcę ISP.
  • Diagnostyka połączenia. Obejmuje ping hosta, zapytania do serwerów DNS i pomiar prędkości przez speedtest.net.

Jak zbudowany jest projekt

Repozytorium jest napisane w Dart z użyciem frameworka Flutter. Dzięki temu baza kodu jest ujednolicona między kompilacjami mobilnymi i desktopowymi.

Na komputerze stacjonarnym aplikacja czasami wymaga zależności systemowych. Na przykład w Linuksie potrzebny jest pakiet net-tools do prawidłowego zbierania tablicy ARP, w przeciwnym razie narzędzie nie będzie w stanie mapować adresów IP na adresy MAC.

Kompilacje na Androida są dystrybuowane przez Google Play i katalog F-Droid. Autor projektu napisał nawet osobny przewodnik dotyczący publikowania aplikacji Flutter w F-Droid, z linkiem pozostawionym w repozytorium.

Instalacja i uruchamianie

Na Androidzie najłatwiejszym sposobem instalacji aplikacji jest pobranie z F-Droid lub Google Play. Jeśli potrzebujesz klienta desktopowego, pliki binarne są dostępne w zakładce Releases w repozytorium.

Aby uruchomić aplikację w Linuksie, należy wykonać następujące kroki:

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

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

W systemie macOS kompilacja nie została jeszcze podpisana notarialnie przez Apple, więc przy pierwszym uruchomieniu będziesz musiał otworzyć plik binarny za pomocą menu kontekstowego Findera, przytrzymując klawisz Control.

Kto znajdzie ten projekt przydatny

Vernet raczej nie zastąpi Wireshark ani głębokich skryptów nmap podczas poważnych audytów bezpieczeństwa. Ale to świetna alternatywa dla zastrzeżonych skanerów mobilnych, takich jak Fing, które ostatnio zostały przeładowane reklamami, trackerami i płatnymi subskrypcjami.

Jeśli potrzebujesz lekkiego narzędzia kieszonkowego na Androida lub przejrzystego narzędzia do szybkiego sprawdzania portów i adresów IP na laptopie, projekt zdecydowanie warto dodać do zakładek. Kod źródłowy jest otwarty na licencji Apache 2.0, więc programiści Dart mogą przyjrzeć się implementacji niskopoziomowych wywołań sieciowych we Flutterze.

Powiązane projekty