2012-04-02 62 views
0

我想知道是否可以使用icmp.dll中的API生成ICMP回复数据包? 截至目前,我只能使用IcmpCreateFile,IcmpSendEcho和IcmpCloseHandle API发送标准请求数据包。谢谢。ICMP回复数据包

+0

即使你可以,该代码将如何工作?操作系统回复ping,您的软件无法“注册”为ping回复应用程序。 – 2012-04-02 17:02:58

+0

@Mahmoud Al-Qudsi它可以,如果你使用WinPCap等第三方驱动程序用于你的目的。我只是试图避开这条路线,看看是否有一些API可用。否则,我将不得不自行设计整个数据包,计算IP和ICMP头校验和等。 – astralmaster 2012-04-02 17:14:21

+0

您错过了我的观点。假设有一个库可以让您创建ICMP回复数据包。如何,不使用WinPCap等。人。你将能够发送这个以响应传入的ICMP数据包吗? – 2012-04-02 17:15:33

回答

1

您将需要使用原始套接字(内置于Windows XP +)或WinPcap来创建自定义数据包。

+0

你看,我需要发送特制的ICMP数据包来检查某个设备上的某些漏洞。我可以在Linux上轻松做到这一点,或者在Windows上使用WinPcap等第三方驱动程序。但我想知道如果Windows库提供这种能力。 – astralmaster 2012-05-03 21:31:56

+0

正如我所说,Windows的最新版本可以,但需要管理员权限。如果您对答案感到满意,请点击左侧的勾号。 – Deanna 2012-05-04 08:03:33

+0

最近版本的Windows没有这种功能。原始套接字有限制,即使提升特权也是如此。请参阅“对原始套接字的限制”,地址为http://msdn.microsoft.com/en-us/library/windows/desktop/ms740548(v=vs.85).aspx。 WinPcap是我在这个线程中提到的一个选项,我试图避免。所以在技术上,我没有看到我的问题的任何答案。 – astralmaster 2012-05-04 12:09:23