>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Dart

VernetでスマートフォンとノートPCをポケットネットワークスキャナーに

家庭やオフィスのネットワークでサービス障害が発生するたびに、コンソールユーティリティを使ったルーティンが始まります。ターミナルでping、traceroute、nslookupを実行し、ルーターが新しいRaspberry Piボードに割り当てたIPアドレスを思い出そうとします。デスクトップではまだこれで済みますが、phoneしか持っていない場合、サブネットの状況把握が 格段に難しくなります。

最近、Open Society organizationのVernetリポジトリを見つけました。Flutterで書かれたクロスプラットフォームのネットワークスキャナーで、オープンソースコードです。このプロジェクトはシンプルな課題を解決しています:基本的なネットワークユーティリティを、Android、Linux、macOS、Windowsで同様に動作する1つのクリーンなインターフェースにまとめることです。

Screenshots of Vernet interface

このアプリでできること

肥大化したオールインワンツール 대신、開発者たちは必須のユーティリティセットを作成しました。

インターフェースはいくつかの画面に分かれています:

| Home | Device List | Open Ports | |---|---|---| | | | |

| Ping | DNS | Speed Test | |---|---|---| | | | |

Vernetがカバーする主なシナリオは次のとおりです:

  • サブネット上のデバイス検索。アプリがローカルアドレス範囲をスキャンし、MACアドレスと機器メーカー名を含む検出されたホストのリストを表示します。
  • ポートスキャン。特定のIPアドレスを指定して開いているTCPポートを確認し、Webサーバー、SSH、データベースが起動しているかをすぐに判断できます。
  • 現在の接続概要。プログラムがBSSIDを含むWi-Fiパラメータを表示し、外部ISPを識別します。
  • 接続診断。ホストping、DNSサーバー クエリ、speedtest.netによる速度測定が含まれています。

プロジェクトの構造

リポジトリはFlutterフレームワークを使用してDartで書かれています。これにより、モバイルとデスクトップの両方のビルドでコードベースが統一されています。

デスクトップでは、アプリでシステム依存関係がたまに必要になります。例えば、Linuxでは適切なARPテーブル収集にnet-toolsパッケージが必要で、そうでなければユーティリティがIPをMACアドレスにマッピングできません。

AndroidビルドはGoogle PlayとF-Droidカタログで配布されています。プロジェクト作者はF-DroidへのFlutterアプリの公開に関する別ガイドを書いており、リポジトリにリンクが残されています。

インストールと実行

Androidでは、アプリをインストールする最も簡単な方法はF-DroidまたはGoogle Playからです。デスクトップクライアントが必要な場合は、バイナリはリポジトリのReleasesタブで利用できます。

Linuxで実行するには次の手順が必要です:

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

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

macOSでは、ビルドがまだAppleによる notarizationを受けていないため、最初の起動時にControlキーを押しながらFinderコンテキストメニューからバイナリを開く必要があります。

誰がこのプロジェクト役立つ

Vernetは真剣なセキュリティ監査にWiresharkや詳細なnmapスクリプトを置き換える可能性は低いでしょう。しかし、最近広告、トラッカー、有料サブスクリプション而过負荷になっているFingのようなproprietaryモバイルスキャナーの優れた代替手段です。

Android用の軽量ポケットツールや、ノートPCでの素早いポートとIPチェック用のクリーンなユーティリティが必要な場合は、プロジェクト必ずブックマークする価値があります。ソースコードはApache 2.0ライセンスの下でオープンされているため、Dart開発者はFlutterでの低レベルネットワークコールの実装を確認できます。

関連プロジェクト