C# の ICMP、SocketException - アクセス許可により禁止されています

StackOverflow https://stackoverflow.com/questions/745602

  •  09-09-2019
  •  | 
  •  

質問

私はそれを手に入れようとしています ICMPコードはここにあります 働くこと。ただし、この行では次のようになります。

Socket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
                                       System.Net.Sockets.SocketType.Raw,
                                       System.Net.Sockets.ProtocolType.Icmp);

SocketException が発生します:「アクセス許可で禁止されている方法でソケットにアクセスしようとしました」(ネイティブ エラー コード:10013)

管理者モードで実行するのは (悪い) 解決策の 1 つですが、プログラムをユーザー レベルで動作させたいので、何を提案しますか?他の ICMP アプローチも歓迎します。

「ClickOnce」のセキュリティ設定を試してみましたが、役に立ちませんでした。

役に立ちましたか?

解決

Windows 2000 以降、ICMP および raw ソケットは管理者ユーザーに制限されています。何をしようとしているのかは述べられていませんが、目的を達成するために NetworkInformation 名前空間を試すことができます。 ネットワーク情報

それには、 ピン ICMP エコー要求を送信するクラス。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top