目前正在尝试实现一个简单的 ping 程序来自学 C# 和 .NET 中的网络编程。
我设法初始化了一个原始套接字并正确构建了一个 ICMP 回显请求数据包。运行我的程序时,Wireshark 确认我正在向所需目的地发送 Echo 请求,但是远程机器永远不会发回 echo 回复。我尝试向多台机器发送相同的结果(并且这些机器中的每台都可以使用 Windows ping 实用程序进行 ping)。我的代码是这样的:
IcmpPacket echoReq = new IcmpPacket;
/*Some code to initialize packet*/
rawSocket.Send(echoReq, destinationIP); //syntax may be wrong, dont have the code infront of me sorry
rawSocket.ReceiveFrom(buffer, remoteEndpoint);
如果有人能提出远程机器不发送任何回复的任何原因,我将不胜感激。