LAN内端末、例えばルータ、スイッチ、無線親機、コンピュータ、NAS、プリンタ、無線LANに接続されているスマートフォンなどのホスト名の取得を考えています。
なんと呼んで良いのかわからないため、ホスト名と呼んでいるのですが、DNSサーバに登録するホスト名ではなく、RTX1200のDHCP払い出し済み機器一覧に出て来るホスト名を取得したいと考えています。
RTX1200ではDNSサーバ登録済みのものも含め、ホスト名ではDNS解決可能なホスト名ではなく、PCならばPCにつけたNetBIOS名、iPhoneはiPhoneにつけた名前、Androidはandroid-から始まる名前、無線親機は機器名が出てきています。
この名前を取得したいと思っています。
LAN内端末のIPアドレス、MACアドレスは取得済みであり、RTX1200で取得できている以上、そのどちらかの情報からホスト名が取得できるはずだと思っています。
最終的にはC#で実装したいのですが、他言語やコマンドなどを利用した方法でも構いません。
以下、試したこととその結果です。
WindowsPC上からコマンド実行
nbtstat -a IPアドレス
結果:
Windows PC:○
DNSサーバ登録済みホスト名:×
NAS(おそらくlinux):○
スマホ:×
無線親機:×
224.0.0.22(マルチキャストアドレス?):×
WindowsPC上からコマンド実行
nslookup IPアドレス
結果:
Windows PC:×
DNSサーバ登録済みホスト名:○
NAS(おそらくlinux):×
スマホ:×
無線親機:×
224.0.0.22(マルチキャストアドレス?):×
C#にて以下のコードを実行
csharp
1Dns.GetHostByAddress(IPアドレス).HostName
結果:
Windows PC:○
DNSサーバ登録済みホスト名:○
NAS(おそらくlinux):×
スマホ:×
無線親機:×
224.0.0.22(マルチキャストアドレス?):○
色々調べてみましたが、ホスト名というとDNSのことばかり引っかかってしまい、うまく探し出せませんでした。
お力をお貸し願いたく、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/10 00:57