Vernet превращает смартфон и ноутбук в карманный сканер локальной сети
Каждый раз, когда в домашней или офисной сети падает очередной сервис, начинается рутина с консольными утилитами. В ход идут arp -a, nmap, бесконечные ping в терминале и попытки вспомнить, какой IP-адрес роутер выдал новой плате Raspberry Pi. На десктопе с этим еще можно жить, но когда под рукой только телефон, выяснить обстановку в подсети становится заметно сложнее.
На днях я наткнулся на репозиторий Vernet от организации Open Society. Это кроссплатформенный сканер сети с открытым исходным кодом, написанный на Flutter. Проект решает простую задачу: собрать базовые сетевые утилиты в один аккуратный интерфейс, который одинаково работает на Android, Linux, macOS и Windows.

Что умеет приложение
Вместо перегруженного комбайна разработчики сделали набор инструментов первой необходимости.
Интерфейс разбит на несколько экранов:
| Главная | Список устройств | Открытые порты |
|---|---|---|
|
|
|
|
| Ping | DNS | Тест скорости |
|---|---|---|
|
|
|
|
Вот основные сценарии, которые закрывает Vernet:
- Поиск устройств в подсети. Приложение сканирует диапазон локальных адресов и выводит список найденных хостов с их MAC-адресами и именами производителей оборудования.
- Сканирование портов. Можно указать конкретный IP-адрес и проверить открытые TCP-порты, чтобы быстро понять, поднялся ли веб-сервер, SSH или база данных.
- Сводка по текущему подключению. Программа показывает параметры Wi-Fi, включая BSSID, а также определяет внешнего провайдера (ISP).
- Диагностика связи. Внутри есть ping хостов, запросы к DNS-серверам и замер скорости через speedtest.net.
Как устроен проект
Репозиторий написан на Dart с использованием фреймворка Flutter. За счет этого кодовая база едина для мобильных и десктопных сборок.
На десктопе приложению иногда требуются системные зависимости. Например, в Linux для корректного сбора ARP-таблиц нужен пакет net-tools, иначе утилита не сможет сопоставить IP с MAC-адресами.
Сборки под Android распространяются через Google Play и каталог F-Droid. Автор проекта даже написал отдельное руководство о том, как публиковать Flutter-приложения в F-Droid, ссылку на которое оставил в репозитории.
Установка и запуск
Под Android приложение проще всего поставить из F-Droid или Google Play. Если нужен десктопный клиент, бинарники лежат на вкладке Releases в репозитории.
Для запуска на Linux понадобятся следующие шаги:
# Устанавливаем net-tools для команды arp
sudo apt install net-tools
# Скачиваем архив из релизов, распаковываем и запускаем
unzip vernet-linux.zip
cd bundle
./vernet
На macOS сборка пока не нотаризована Apple, поэтому при первом запуске придется открывать бинарник через контекстное меню Finder с зажатой клавишей Control.
Кому пригодится проект
Vernet вряд ли заменит Wireshark или глубокие скрипты на nmap при серьезном аудите безопасности. Но это отличная замена проприетарным мобильным сканерам вроде Fing, которые в последнее время перегружены рекламой, трекерами и платными подписками.
Если вам нужен легкий карманный инструмент под Android или чистая утилита для быстрой проверки портов и IP на ноутбуке, проект определенно стоит сохранить в закладки. Исходники открыты под лицензией Apache 2.0, так что Dart-разработчики могут подсмотреть реализацию низкоуровневых сетевых вызовов во Flutter.
