外部DNSルックアップWebサービス(nslookup / dig)
-
27-09-2019 - |
質問
いくつかのサイトでは、ホスト名からIP変換、または文言で:
DNSドメイン名をクエリして、インターネット内のコンピューターのIPアドレス情報を検索して見つけます。ホストまたはドメイン名をIPアドレスに変換します。
ただし、この機能を提供する無料のWebサービスを見つけることができませんでした。私はこれにつまずいた 中国のウェブサービス しかし、それは私がやりたいことをしていないようです。
誰かが無料のものを知っていますか?
説明 まさに私がやりたいことの:私は無料で欲しい、 外部の Webサービス(私のコンピューターでは、インターネットのどこかとは異なるコンピューターで) nslookup 次のような署名を持つ方法:
IPAddress[] GetIpAddress(string hostName)
結果は私がここで得るものと同等です: http://www.kloth.net/services/nslookup.php
解決
あなたはあなたができることを正確に言うことはありません。ただし、1つか2つあります dig
次のようなタイプC#実装は次のとおりです。
私はこれを過去に使用しましたが、かなりうまく機能しています。
アップデート:
あなたはすでにこれを利用できます。 GoogleやOpendnsなどの無料のDNSサービスがnameserversとして使用できます。
.NETの組み込み機能を使用して、 System.Net
名前空間と Dns
クラス。使用できる静的な方法がいくつかあります。
IPHostEntry GetHostEntry(string hostNameOrAddress)
IPAddress[] GetHostAddresses(string hostNameOrAddress)
上記のメソッドは、コンピューター独自のネットワーク設定で指定されているDNSサーバーを照会します。
独自のリゾルバを指定する場合は、上記のDIGツールを使用してください。出力はコンソールに直接移動しますが、結果を返す値に解析するために変更できます。
プロジェクトへの参照を追加しました私はこれを行うことができました:
Dig dig = new Dig();
dig.DnsResolver = new Resolver("8.8.8.8");
dig.DigIt("stackoverflow.com");
返された結果は次のように見えます:
; <<>> Dig.Net 0.0.1 <<>> @8.8.8.8 A stackoverflow.com.net
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53737
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;stackoverflow.com.net. IN A
;; ANSWER SECTION:
stackoverflow.com.net. 1800 IN A 74.207.240.60
stackoverflow.com.net. 3600 IN A 203.169.164.119
stackoverflow.com.net. 3600 IN A 97.107.142.101
stackoverflow.com.net. 1800 IN A 69.164.199.155
stackoverflow.com.net. 43200 IN A 74.207.231.120
stackoverflow.com.net. 43200 IN A 109.74.195.184
;; Query time: 216 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Oct 04 17:11:48 2010
;; MSG SIZE rcvd: 135
これを行うためにサードパーティのサービスは必要ありません。