如何在C#中發送ICMPv6 Echo請求消息?此外,我需要指定實際帶寬,RTT,使用IPv6的路徑上的MTU(IPv6數據包中沒有DF標誌)和數據包丟失。發送ICMPv6 Echo請求
1
A
回答
2
您是否嘗試過System.Net.NetworkInformation.Ping類? Send()方法返回一個包含狀態和往返時間的PingReply對象。不知道您是否可以從中獲取其他信息(從未需要)。
在底層,Ping使用Windows IP助手功能(http://msdn.microsoft.com/en-us/library/windows/desktop/aa366071%28v=VS.85%29.aspx),如Icmp6SendEcho2。您也許能獲得更多的信息比平包裝類直接使用這些功能,如暴露:
[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結構 - http://msdn.microsoft.com/en-us/library/windows/desktop/bb485842%28v=VS.85%29.aspx)
不知道,如果有一個方式得到MTU或真正的總帶寬,但希望這至少是一個開始!
相關問題
- 1. 發送ICMPv6與鄰居請求的C++代碼
- 2. Facebook發送請求不發送請求
- 3. 發送POST請求
- 4. 發送SOAP請求
- 5. Facebook發送請求
- 6. 發送POST請求
- 7. 發送請求wp7
- 8. 發送POST請求
- 9. 發送ajax請求
- 10. 發送HTTP請求
- 11. 發送JSON請求
- 12. 發送HTTP請求
- 13. 發送Ping請求
- 14. 發送Ajax請求
- 15. 發送POST請求
- 16. AJAX請求不發送請求
- 17. python請求無法發送https請求
- 18. Angular $ http.post請求發送雙重請求。
- 19. 發送HTTP請求(驗證請求)
- 20. 使用iOS發送請求 - 使用304 HTTPCode發送請求
- 21. jquery ajax請求發送之前發送
- 22. 發送郵件發送郵件請求
- 23. Java發送登錄請求
- 24. 機器人發送請求
- 25. 發送郵件請求python
- 26. Servlets向URL發送請求?
- 27. 發送POST請求點擊
- 28. Angular2發送創建請求
- 29. Java發送請求編碼
- 30. C#POST請求被髮送