2012-01-13 5 views
1

C#でICMPv6エコー要求メッセージを送信するにはどうすればよいですか?さらに、実際の帯域幅、RTT、MTUをIPv6(IPv6パケットにDFフラグがない)とパケット損失を使用してパス上に指定する必要があります。ICMPv6エコー要求を送信する

答えて

2

あなたはSystem.Net.NetworkInformation.Pingクラスを試してみましたか? Send()メソッドは、ステータスとラウンドトリップ時間を含むPingReplyオブジェクトを返します。あなたが他の情報を引き出すことができるかどうかは分かりません。ボンネットの下に

、Pingのは、Icmp6SendEcho2などのWindows IPヘルパー関数(http://msdn.microsoft.com/en-us/library/windows/desktop/aa366071%28v=VS.85%29.aspx)を使用しています。

わからないがあるかどう -

[DllImport("iphlpapi.dll", SetLastError = true)] 
internal static uint Icmp6SendEcho2(SafeCloseIcmpHandle icmpHandle, SafeWaitHandle Event, IntPtr apcRoutine, IntPtr apcContext, byte[] sourceSocketAddress, byte[] destSocketAddress, [In] SafeLocalFree data, ushort dataSize, ref IPOptions options, SafeLocalFree replyBuffer, uint replySize, uint timeout); 

http://msdn.microsoft.com/en-us/library/windows/desktop/bb485842%28v=VS.85%29.aspx「replyBuffer」はICMPV6_ECHO_REPLY構造体です):あなたは、Pingのラッパークラスは、例えば、直接これらの機能を使用して公開するよりも多くの情報を得ることができるかもしれませんMTUや真の帯域幅を取得する方法はありますが、うまくいけば少なくともこれはスタートです!

関連する問題