- PR -

DNSキャッシュをクリアする方法

1
投稿者投稿内容
がらす
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 99
投稿日時: 2008-12-13 08:38
C#のコードからDNSキャッシュをクリアしたいのですが、どうすれば良いのでしょうか?
ipconfig /flushdns
と同じ機能を使いたいのです。

それから、System.Net.Dns クラスは、ネットワーク上にあるDNSサーバーにアクセスするクラスだと言うことで合ってますか? System.Net.DnsPermission クラスを見ると、自分がサーバーになっている時しか使えないようにも見えて、不安になってきました。

どうぞよろしくお願いします。
がらす
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 99
投稿日時: 2008-12-16 04:12
すみません、自己解決しました。
http://brannickdevice.blogspot.com/2006/04/winxp-flushing-dns-programatically.html

しかし、キャッシュクリアでは自分の目的を果たせませんでした。

やりたいことは、
DNSサーバのあるネットワークにあるときは、自分のDNSホストネームを表示
DNSサーバが無い時には、自分のIPアドレスを表示
なのですが、上手くいっていません。

試したことは
IPHostEntry entry = Dns.GetHostEntry(ipAddress);
IPHostEntry entry2 = Dns.GetHostEntry(entry.Hostname);
で、entry と entry2 の内容(ホストネームとIPAddress)が一致していればDNSで引ける名前だと思ったのですが、DNSサーバが無い、隔離されたサブネットでも、entryもentry2も一致してしまいます。恐らく自分で知っている情報は外に訊かずに返しているのだと思いますが…。

何か良いアイディアは無いでしょうか?
よろしくお願いします。

1

スキルアップ/キャリアアップ(JOB@IT)