阅读:1956回复:3
前些日子问的问题,关于NdisSend 一部分网卡发不出去包的问题。终于自己发现问题了。。
前几天发的贴,,很多人都说也遇到过类似情况,后来我发现,只是有一些软件和驱动跟NDIS有干扰,比如机器内有其他ndis过滤层,安装了基于ndis的防火墙,等等。
第1层ndis的包发到第2层ndis,由于某些设置问题,并没有发送出去,等等。。(以上是我的猜测。。) 叙述下现象以及最后的解决的条件,如下: 本机的现象是 : 无线卡能发包,有线卡发不出去。 包的内容: 发送的包IP Mac地址都是自己,是自己给自己发的包,来切断连接。 在部分卡上现象是:发送完毕,并且SendComplete释放正确,可是通过Iris等截包软件,不能得到包的内容,而且本机也没收到(现象是TCP并没有关闭)。 后来我从2003换到了XP问题解决, 发现不开Iris等截包软件,也能解决问题。。 后来重新装了。2003。。发现问题也解决了。。 认为是截报软件,造成的问题。 |
|
沙发#
发布于:2008-02-28 15:34
看了一些IPSEC的代码。确实没找到我自己代码的问题。。
不过差距在一个符号位的设置上。 NdisSetFlags(..) 有个选项叫 NDIS_FLAGS_DONT_LOOPBACK 有这个选项 一部分卡,如果IP MAC是自己,该包发不出ィ?兰剖莕dis下层 直接给仍了。。然后就象我欺骗上层一样,欺骗我。 告诉我该包发出去了。导致的问题。 应该设置成 NDIS_FLAGS_IS_LOOPBACK_PACKET 不过ndis 头文件里面描述的也不是很清楚啊,, 估计是环路,能否发给自己的意思吧 #define NDIS_FLAGS_IS_LOOPBACK_PACKET 0x00000100 // Read only #define NDIS_FLAGS_LOOPBACK_ONLY 0x00000200 // Write only UnDoc的东西就是 郁闷。。不懂啊 |
|
板凳#
发布于:2008-02-28 15:58
Re:前些日子问的问题,关于NdisSend 一部分网卡发不出去包的问题。终于自己发现问题
IPSEC的代码能共享下吗?我正在学习NDIS IM驱动,碰到一些问题无法解决,正苦于资料比较少呢!email:hyzimbtb@163.com |
|
地板#
发布于:2008-02-28 17:44
|
|