mDNS-discovery — mDNS/Bonjourデバイス探索ツール

Tool

概要

mDNS-discoveryは、ローカルネットワーク上でmDNS/Bonjourを利用してアドバタイズされるデバイスやサービスを発見・カタログ化するBashスクリプトです。HomeKit、AirPlay、Chromecast、プリンター、NASなど幅広い機器を対象に、ホスト名・IPアドレス・サービスのポート情報を収集し、必要に応じてAvahiの設定ファイルを生成できます。macOS環境でも動作するよう設計されており、ネットワークの可視化や機器管理、Avahi経由でのサービス公開の自動化に有用です。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 2
  • メインの言語: Shell

主な特徴

  • mDNS/Bonjourでアドバタイズされている全サービスを検出して一覧化
  • HomeKit、AirPlay、プリンター、NASなど主要なデバイスカテゴリをスキャン
  • Avahi用の設定(サービス定義)を生成してLinux環境での公開を支援
  • macOSにも対応する軽量なBashベースのツール

技術的なポイント

mDNS-discoveryはBashで実装されたシンプルなネットワークスキャナーで、ローカルのmDNS(Multicast DNS)/Bonjourサービスを検出することに特化しています。mDNSはローカルネットワーク内で名前解決とサービス発見を行うプロトコルで、多くのIoT機器やメディア機器、プリンターがこれを用いて自身を広告します。本スクリプトはこれらの広告を拾い上げ、ホスト名、IP、ポート、サービス種別といった重要メタデータを収集します。

実装上はBashでの外部コマンド呼び出しを活用する設計が想定され、Linux環境ではAvahi(avahi-browse等)、macOSではdns-sdなど既存のmDNSユーティリティと組み合わせることで検出精度と互換性を確保しています。収集した情報を基にAvahiのサービス定義ファイルを生成することで、検出したサービスを別ネットワークや別ホスト上で再現したり、管理用のドキュメントを一括生成したりする用途に適合します。

スクリプトのメリットは、環境に特化したGUIツールや重い依存関係なしに、コマンドラインから素早くネットワーク全体をスキャンできる点です。運用者は結果を加工してインベントリ化、監査、トラブルシューティング、あるいは自動化パイプライン(CI/CDや構成管理ツール)へ組み込むことができます。一方で、Bashベースのため並列性や大規模ネットワークでのスケーリング、詳細なプロトコル解析が必要な場面では専用ツールやライブラリの併用が望ましいでしょう。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • mdns_scan.sh: file

まとめ

軽量で実用的、mDNS環境の可視化に有用なシェルスクリプト。

リポジトリ情報: