udp ポートからパケットを送信すると、ネットワークが到達不能な ICMP ホストを返した場合に例外を受け取ります。例外は、(ICMP パケットの内容のような) 有益なことは何も教えてくれません。
問題ありません。ICMP をリッスンするだけで、必要な情報が得られますが、UDP ポートの例外は無視されます。したがって、生のソケットを開き、ICMP パケットをリッスンして、そこから移動します。
開発 (Win XP) では正常に動作しますが、サーバー 2008 での運用では、exe が実行されているセキュリティ コンテキストには、raw ソケットを開くことができる管理者権限が必要です。これはサービスには役に立たない。マイクロソフトが言っていることを理解できれば、私たちがやりたいことを実行できる唯一の方法は、管理者権限を持つアカウントでサービスを実行することです。管理者アカウントでネットワークに面したサービスを実行することに伴う潜在的なセキュリティ ホールは言うまでもなく、ピーナッツの大槌のように感じます。
ここで間違っていることを本当に願っていますが、上記と矛盾するものは何も見つからないようです。
コメント/ヒントや同情を得た人はいますか?