版块
论坛
喜欢
话题
应用
搜索
登录
注册
cyk119的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=109629
如何使驱动程序收到一个由它自己构造的包?
我的驱动是用passthru改的。当我访问(如ping)局域网中一台不存在的主机时,驱动会截到ARP请求包,因为这个主机不存在,所以没有主机会响应这个ARP请求包。我想在驱动截到ARP请求包之后,让驱动自己响应ARP请求包,让系统认为这个主机是存在的,我应该怎么做?
回复
(
19
)
2005-07-29 17:58
来自版块 -
NDIS网络接口开发
◆
◆
表情
告诉我的粉丝
提 交
daweia
:
下面是引用cyk119于2005-08-03 09:09发表的: 我基本上明白了你的意思,但还有一点我不太明白,你本来发送是ARP请求包,怎么不用自己构造ARP应答包就能在PtSendComplete中用NdisSend发送ARP应答包了呢?另外你应答的MAC地址是谁的呀? ...
(2005-08-11 12:50)
回复
cyk119
:
下面是引用zwjnj2005于2005-08-10 15:15发表的: cyk119: 你的问题解决了吗,请赐教 还没有,最近比较忙,没有时间做NDIS。
(2005-08-10 15:19)
回复
zwjnj2005
:
cyk119: 你的问题解决了吗,请赐教
(2005-08-10 15:15)
回复
cyk119
:
下面是引用asmsys于2005-08-02 09:33发表的: 1、既然不存在,发不发都不重要了。当然不发省点事。 2、MPSend比较合适。 3、是的。 RTW:一定要构造正确的包返回给系统。注意NdisMIndicateReceivePacket返回PENDING时的处理。
(2005-08-05 15:20)
回复
cyk119
:
下面是引用daweia于2005-08-02 15:44发表的: 我调用NdisSend后,等于从本机发到网络上,然后本机自己又收到这个包,随后的IndicateReceivePacket就是在PtReceive里执行的啊,我的意思是不用自己组包IndicateReceiveP...
(2005-08-03 09:09)
回复
daweia
:
下面是引用asmsys于2005-08-02 15:13发表的: 我还是不明白着不IndicateReceivePacket,如何让主机收到ARP应答包。 我调用NdisSend后,等于从本机发到网络上,然后本机自己又收到这个包,随后的IndicateReceivePacke...
(2005-08-02 15:44)
回复
asmsys
:
下面是引用daweia于2005-08-02 14:48发表的: 我用NdisSend而没有自己组一个包然后IndicateReceivePacket,其实是一样的。 我还是不明白着不IndicateReceivePacket,如何让主机收到ARP应答包。
(2005-08-02 15:13)
回复
daweia
:
下面是引用asmsys于2005-08-02 14:20发表的: 不发送是指不调用NDISSEND,其他的操作一样进行,我说的返回成功,当然是通过NdisMSendComplete返回的了,不是简单的RETURN。 第二点,我认为“用NdisSend发送arp应答包”纯属多...
(2005-08-02 14:48)
回复
asmsys
:
下面是引用daweia于2005-08-02 13:53发表的: 返回success,但是你要不要NdisMSendComplete呢,不然就不行。 PtSendComplete是指arp请求包而言,它发出了并且NdisMSendComplete了,再用NdisSend发送a...
(2005-08-02 14:20)
回复
daweia
:
下面是引用cyk119于2005-08-02 13:36发表的: 谢谢daweia大哥!不过你说的第2点我不是很明白。 a如果不修改arp类型为什么会引起死锁呢? b我就更明白了,为什么要做判断还要调用NdisSend? 不修改类型的话,NdisSend的arp应答包又会调用P...
(2005-08-02 13:56)
回复
1
2
下一页 »
cyk119
加关注
写私信
0
关注
0
粉丝
28
帖子
返回顶部