阅读:2621回复:19
如何使驱动程序收到一个由它自己构造的包?
我的驱动是用passthru改的。当我访问(如ping)局域网中一台不存在的主机时,驱动会截到ARP请求包,因为这个主机不存在,所以没有主机会响应这个ARP请求包。我想在驱动截到ARP请求包之后,让驱动自己响应ARP请求包,让系统认为这个主机是存在的,我应该怎么做?
|
|
沙发#
发布于:2005-07-30 08:27
希望版主和各们高手能够不吝赐教!谢谢!
|
|
板凳#
发布于:2005-08-01 12:05
1、我在MPSend函数中可以截到发出的ARP请求包,我是否应该让这个包发出去?
2、我应该在哪个函数里面写接收ARP应答包的代码?就在MPSend函数中可以吗? 3、要想让系统接收到ARP应答包是不是直接调用NdisMIndicateReceivePacket函数就可以呢? 我是个新手,希望各位达人能够多多指教! |
|
地板#
发布于:2005-08-02 13:29
下面是引用asmsys于2005-08-02 09:33发表的: 谢谢asmsys大哥! |
|
地下室#
发布于:2005-08-02 13:36
下面是引用daweia于2005-08-02 13:16发表的: 谢谢daweia大哥!不过你说的第2点我不是很明白。 a如果不修改arp类型为什么会引起死锁呢? b我就更明白了,为什么要做判断还要调用NdisSend? |
|
5楼#
发布于:2005-08-03 09:09
下面是引用daweia于2005-08-02 15:44发表的: 我基本上明白了你的意思,但还有一点我不太明白,你本来发送是ARP请求包,怎么不用自己构造ARP应答包就能在PtSendComplete中用NdisSend发送ARP应答包了呢?另外你应答的MAC地址是谁的呀? |
|
6楼#
发布于:2005-08-05 15:20
下面是引用asmsys于2005-08-02 09:33发表的: 在MPSend函数中只有MiniportAdapterContext句柄,而接收的时候需要ProtocolBindContext句柄,这两个句柄是一个东西吗?如果不是一个东西我应该如何在MPSend函数中获取ProtocolBindContext句柄呢?还请asmsys大哥多多指点。 |
|
7楼#
发布于:2005-08-10 15:19
下面是引用zwjnj2005于2005-08-10 15:15发表的: 还没有,最近比较忙,没有时间做NDIS。 |
|