🐝

他力本願による名前解決(mDNS)

2022/10/06に公開

はじめに

Windowsパソコンでホスト名.localをIPアドレスに変換できない場合があるのはバグのようです。
WiFiが機内モードやローミングから復帰したり、ノートPCでディスプレイを閉じたりしたりして、スリープモードに移行し、同じSSIDのWiFiから切断された後に再接続する場合に問題が発生するようです。Windows11でも同様の問題があるようです。

MDNS not sending queries to the network(英語サイト)
https://docs.microsoft.com/en-us/answers/questions/101168/mdns-not-sending-queries-to-the-network.html

例えば、mDNSが不調の場合、pingを行うと次のように表示されます。

    C:¥> ping raspberrypi.local
    ping 要求ではホスト raspberrypi.local が見つかりませんでした。ホスト名を確認してもう一度実行してください。

スマホアプリによる解決方法

WindowsのmDNSに任せず、スマホアプリで名前解決する方法がありますので、試してみて下さい。
(アプリのインストールは自己責任でお願いします)

スマホは名前解決の対象となるホストと同じWiFiもしくは有線LANに接続する必要があります。

Appleユーザ(iPhone, iPad)

Network Analyzerというアプリをインストールします。
ホスト名を入力してpingするとIPアドレスが表示されるので、そこに表示されたIPアドレスにWindowsPCからping、sshしてみる。(IPアドレスが192.168.1.10であった場合の例)

    $ ping 192.168.1.10
    $ ssh pi@192.168.1.10

App Store
https://apps.apple.com/jp/app/network-analyzer/id562315041

Androidユーザ

Androidユーザは、Network Analyzerもありますが、
.Local Finder (mDNSによるIPアドレス検索)というアプリもあります。

名前解決したいホストの名前を入力欄に入れます。
.localは入力する必要はありません。

アプリで取得したIPアドレスに対してWindowsPCからのping、ssh行う方法はAppleユーザと同じです。

Google Play
https://play.google.com/store/apps/details?id=com.dokoden.dotlocalfinder&gl=US

実行例

Network Analyzerと.Local Finderの実行例を示します。
この例では wsjt-pi というホストの名前解決を行なっています。

iPadでNetwork Analyzerを使用

  1. Pingを選択する。
  2. 「ホスト名.local」を入力する。
  3. Startをクリックする。Startの文字がStopに変わる。
  4. Ping応答が確認できたらStopをクリックする。
    altNetwork Analyzerの例

Androidで.Local Finderを使用

  1. 「Input local name」欄にホスト名のみを入力。.localは不要。
  2. 虫眼鏡のボタンをタップ。

altLocal Finderの例

Discussion