g_abcdefg
驱动牛犊
驱动牛犊
  • 注册日期2005-09-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望25点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
阅读:1880回复:6

无线网卡截802.11数据包的问题.大牛们帮帮指点一下.十万火急

楼主#
更多 发布于:2007-10-12 18:14
我搜索过以前的帖子,
看到Chequer Jiang在http://bbs.driverdevelop.com/htm_data/10/0709/105622.html回答:

那要看你在什么平台上。对于NDIS 5.0 和NDIS 5.1 来说,wireless driver交给NDIS的是已经转换好的数据包。就是说,在通常情况下,你能拿到的是一个802.3的数据包。当然,你可以修改wireless driver,来达到你的目的。

然后我又去DDK里面看了,
问题1: Chenquer Jiang说的Wireless Driver是不是指Wireless LAN Miniport Drivers?
问题2: 如何修改这个Wireless Driver,使得它转交给NDIS的包是没有转换的
问题3: 如果问题2不可能,那么怎么在实现截取802.11数据包的需求

请大牛们指点.
qsc66886688
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2008-06-06
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望43点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-12 23:02
顶一下,我也想做这方面的工作,不知道怎么入手呢。
lxcomcn
驱动老牛
驱动老牛
  • 注册日期2002-07-31
  • 最后登录2010-12-10
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望43点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-10-15 10:28
我也想研究一下这方面的,g_abcdefg 现在有思路吗?
[img]http://www.nbuser.com/vb/avatar.php?userid=10792&dateline=1046232652 [/img] 我要作诗!!!
g_abcdefg
驱动牛犊
驱动牛犊
  • 注册日期2005-09-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望25点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-16 11:04
Miniport Driver with a WDM Lower Interface 不知道能不能搞定,在尝试中.
因为DDK上面说, Miniport Driver with a WDM Lower Interface是位于NDIS层下面的.
而802.11 Wireless LAN Miniport Drivers也是NDIS的Miniport Driver,.
Chequer Jiang
驱动牛犊
驱动牛犊
  • 注册日期2007-09-13
  • 最后登录2007-12-17
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-10-19 09:39
我现在来描述一下关于wireless LAN card在NDIS下整体架构的细节,希望对你们有所帮助。
Chequer Jiang
驱动牛犊
驱动牛犊
  • 注册日期2007-09-13
  • 最后登录2007-12-17
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-19 10:09
在NDIS 6之前,NDIS并不包含任何处理802.11相关数据包的功能。Wireless miniport driver(一下简称driver)的很大一部分工作就是实现802.3到802.11相互的转换。

在NDIS 5.1中,wireless card相关的功能只是一个patch而已。NDIS通过OID_GEN_PHYSICAL_MEDIUM来判断底层的卡是802.11还是其他的网卡。虽然NDIS可以知道某块卡是802.11 wireless capable,但是,数据处理的架构并没有改变。在通常情况下,我们会在inf文件中指定我们的卡是ethernet类型的。所以,NDIS在往Wireless card上发数据的时候,driver得到的是标准的802.3的格式;往NDIS提交接受到的数据包也必须是802.3的格式。

如果你想拿到原始的802.11的包(实际上,这和你的wireless card紧密相关,我下面还要解释),你必须在driver中自己准备接口,然后通过其他手段拿到这样的数据,例如NDIS protocol driver或者NDIS intermediate driver。当然,这需要你做很多工作。

如果你真的对"原始的"802.11格式的包感兴趣,你需要看很多spec,包括了:
1. ASIN/IEEE Std 802.11, 1999 Edition
2. IEEE Std 802.11g 2003
3. IEEE Std 802.11i 2004
4. Wireless Protected Access Spec
这些只是所谓的fundamental definition,还不包括很多在其他spec中定义的扩充,如:
1. IEEE Std 802.11d
2. IEEE Std 802.11h 2003
3. IEEE 802.11e
4. CCX(各个版本)
这些扩充或者定义了RF/spectrum standard,或者定义了power limitation,或者定义了QoS function,或者定义的security,更有甚者扩充了所有这些功能,如CCX(Cisco Compatible eXtension)。
Chequer Jiang
驱动牛犊
驱动牛犊
  • 注册日期2007-09-13
  • 最后登录2007-12-17
  • 粉丝1
  • 关注0
  • 积分290分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-10-19 10:13
如果大家对这个问题感兴趣的话,在driver developer上发帖子的同时,不要忘了发个mail给我。我乐意参加这样的讨论。ybjiang@gmail.com
游客

返回顶部