g_force
驱动牛犊
驱动牛犊
  • 注册日期2008-02-19
  • 最后登录2008-03-04
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1956回复:3

前些日子问的问题,关于NdisSend 一部分网卡发不出去包的问题。终于自己发现问题了。。

楼主#
更多 发布于:2008-02-28 15:33
前几天发的贴,,很多人都说也遇到过类似情况,后来我发现,只是有一些软件和驱动跟NDIS有干扰,比如机器内有其他ndis过滤层,安装了基于ndis的防火墙,等等。
第1层ndis的包发到第2层ndis,由于某些设置问题,并没有发送出去,等等。。(以上是我的猜测。。)

叙述下现象以及最后的解决的条件,如下:
本机的现象是 :  无线卡能发包,有线卡发不出去。
包的内容:       发送的包IP Mac地址都是自己,是自己给自己发的包,来切断连接。
在部分卡上现象是:发送完毕,并且SendComplete释放正确,可是通过Iris等截包软件,不能得到包的内容,而且本机也没收到(现象是TCP并没有关闭)。

后来我从2003换到了XP问题解决,
发现不开Iris等截包软件,也能解决问题。。
后来重新装了。2003。。发现问题也解决了。。

认为是截报软件,造成的问题。
g_force
驱动牛犊
驱动牛犊
  • 注册日期2008-02-19
  • 最后登录2008-03-04
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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的东西就是 郁闷。。不懂啊
hyzimbtb
驱动牛犊
驱动牛犊
  • 注册日期2004-08-27
  • 最后登录2010-11-10
  • 粉丝2
  • 关注0
  • 积分387分
  • 威望216点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-02-28 15:58
Re:前些日子问的问题,关于NdisSend 一部分网卡发不出去包的问题。终于自己发现问题
IPSEC的代码能共享下吗?我正在学习NDIS IM驱动,碰到一些问题无法解决,正苦于资料比较少呢!
email:hyzimbtb@163.com
g_force
驱动牛犊
驱动牛犊
  • 注册日期2008-02-19
  • 最后登录2008-03-04
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望11点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-02-28 17:44
IPSEC 代码
你自己论坛里面搜索

或者你去http://sourceforge.net/
上面搜索下就可以了

很多实现的代码。
游客

返回顶部