私のDebianコンピュータでホットスポット(hostapd)を作成し、一部のデバイスはWi-Fiを使用して接続されています。ex: xyz iphone, apple tv, john pc
コマンドラインから接続されているデバイスの名前を取得するには?
メモ:現在、MACとIPアドレスを取得するために次のコマンドを使用していarp
ますが、デバイス名。
答え1
関連階層について簡単にお知らせします。 LANとWLANはMACアドレス(OSIレベル2)を使用して通信します。 ARPプロトコルは、どのMACアドレスがどのIPアドレス(OSIレベル3)に属するかを示します。マシンの名前はDNSによって処理されます。通常、ホームルーターは、どの名前がどのMACアドレスに属するかを入力できるDNSサーバーを実行するか、DHCPによって提供される名前を自動的に使用します。
だから:
を使用して接続ステーションのMACを取得します。ここで、ホットスポットのIFは
iw wlan0 station dump
次のとおりです。wlan0
これは、次のものを含まないarpキャッシュよりも安定しています。みんな接続されたマシンには、次のものが含まれます。その他他のLAN上のシステムなどもarp-scan
WLANを介してARP応答を取得しようとしますが、ホットスポットはすでにこれを正確に知っているため、信頼性が低下します。どのマシンが接続されました。各 MAC に対応する IP アドレスを探します。私が考えることができる唯一のコマンドラインツールですが、
arping
おそらくより良い方法があります。各IPに対して、ホームルーターでDNS逆照会を実行します(例:)
host <ip-addr>
。
はい、とても難しいです。うまくやりたいなら、近道を選ぶことはできません。これを行ういくつかのツールがあるかもしれませんが、私はそのようなツールを知らないので、スクリプトを書く必要があります。