C# 发送ICMPv6回显请求

C# 发送ICMPv6回显请求,c#,ping,ipv6,mtu,roundtrip,C#,Ping,Ipv6,Mtu,Roundtrip,如何在C#中发送ICMPv6回显请求消息?此外,我需要指定使用IPv6的路径上的实际带宽、RTT、MTU(IPv6数据包中没有DF标志)和数据包丢失。您是否尝试过System.Net.NetworkInformation.Ping类?Send()方法返回一个包含状态和往返时间的PingReply对象。不确定是否可以从中提取其他信息(以前不需要) 在后台,Ping使用Windows IP帮助程序函数(),如Icmp6SendEcho2。通过直接使用这些函数,您可能可以获得比Ping包装器类公开的更

如何在C#中发送ICMPv6回显请求消息?此外,我需要指定使用IPv6的路径上的实际带宽、RTT、MTU(IPv6数据包中没有DF标志)和数据包丢失。

您是否尝试过System.Net.NetworkInformation.Ping类?Send()方法返回一个包含状态和往返时间的PingReply对象。不确定是否可以从中提取其他信息(以前不需要)

在后台,Ping使用Windows IP帮助程序函数(),如Icmp6SendEcho2。通过直接使用这些函数,您可能可以获得比Ping包装器类公开的更多信息,例如:

[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);
(其中“replyBuffer”是ICMPV6_ECHO_REPLY结构-)

不确定是否有办法获得MTU或真正的总带宽,但希望这至少是一个开始