阅读:1880回复:6
无线网卡截802.11数据包的问题.大牛们帮帮指点一下.十万火急
我搜索过以前的帖子,
看到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数据包的需求 请大牛们指点. |
|
沙发#
发布于:2007-10-12 23:02
顶一下,我也想做这方面的工作,不知道怎么入手呢。
|
|
板凳#
发布于:2007-10-15 10:28
我也想研究一下这方面的,g_abcdefg 现在有思路吗?
|
|
|
地板#
发布于: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,. |
|
地下室#
发布于:2007-10-19 09:39
我现在来描述一下关于wireless LAN card在NDIS下整体架构的细节,希望对你们有所帮助。
|
|
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)。 |
|
6楼#
发布于:2007-10-19 10:13
如果大家对这个问题感兴趣的话,在driver developer上发帖子的同时,不要忘了发个mail给我。我乐意参加这样的讨论。ybjiang@gmail.com
|
|