2

いくつかのサイトでは、ホスト名から IP への変換、またはその文言を提供しています。

DNS ドメイン ネームサーバーにクエリを実行して、インターネット内のコンピューターの IP アドレス情報を検索および検索します。ホストまたはドメイン名を IP アドレスに変換します。

ただし、この機能を提供する無料の Web サービスは見つかりませんでした。この中国語の Web サービスを偶然見つけましたが、期待どおりの動作をしていないようです。

無料のものを知っている人はいますか?

私ができるようにしたいことの正確な説明: 無料の外部Webサービス (インターネットのどこかで、私のものとは別のコンピューター上) が必要で、次のような署名を持つ単純なnslookupメソッドを提供します。

IPAddress[] GetIpAddress(string hostName)

結果は、ここで得られるものと同じです: http://www.kloth.net/services/nslookup.php

4

1 に答える 1

4

やりたいことを正確に言いません。ただし、次のような 1 つまたは 2 つのdigタイプの C# 実装があります。

DNS.NET リゾルバー (C#) - CodeProject

私は過去にこれを使用しましたが、かなりうまく機能します。

アップデート:

これはすでに利用可能です。Google や OpenDNS など、ネームサーバーとして使用できる無料の DNS サービスはたくさんあります。

.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

これを行うためにサードパーティのサービスは必要ありません。

于 2010-10-04T13:12:13.960 に答える