`
hulianwang2014
  • 浏览: 686628 次
文章分类
社区版块
存档分类
最新评论
  • bcworld: 排版成这样,一点看的欲望都没有了
    jfinal

ndiswrapper加载TL-WN322Gplus之殇

 
阅读更多
周末在家尝试使用ndiswrapper加载WN322G+的Windows驱动程序,并且修改NDIS以及ntoskernel来实现802.11数据帧的抓取,结果别提多么悲剧了。以下是问题集:
1.下载了WinXP/Vista的TL-WN322G+的驱动程序,使用ndiswrapper -i zd1211.inf加载了之后,ndiswrapper -l没有认出芯片;
2.使用ndiswrapper -a强行将lsusb显示的ID设置进去,显示出认出了芯片,然而modprobe ndiswrapper时报错;
3.加载Vista驱动,直接就能认出芯片,然而NDIS库缺少接口,modprobe报错;

...
后来发现在WN322G+的驱动中,根本就没有0cf3:1006这个ID的芯片驱动,于是将Windows上可用的inf,sys等文件复制到Linux,仍未果,最终google之,发现使用WN422G+的驱动就可以了,原来还是芯片的型号导致的问题。
解决了驱动加载的问题之后,下一步就是抓包了,在NDIS的很多接口中都设置了HOOK,发现根本就没有进入,毕竟驱动是Windows上的,闭源,也无法看到逻辑。Windows驱动只和NT内核以及NDIS在两个地方接口:1.中断,这个是避不开的;2.和Linux的接口,也就是NDIS调用上层驱动的地方(NDIS函数NdisMIndicateReceivePacket里面调用了netif_rx),中间的全部都是厂商自己实现掉的,这些功能就包括802.11帧和802.3帧的转换,于是根本没有办法靠挂钩NDIS函数来完成802.11帧的抓取,于是想了一个比较猛的方法,那就是挂钩中断,毕竟ndiswrapper是置于Linux内核内部的,它的入口就是中断,于是挂钩了中断的ISR,这样就意味着我必须自己去分析直接从中断里面出来的数据...方法有二,第一就是自己读取,交给Windows原有的驱动ISR,第二就是先调用Windows原有驱动的ISR,然后再自己分析。


分享到:
评论

相关推荐

    kmod-ndiswrapper-3.10.0-1062.el7.x86_64-1.61-3.el7.x86_64.rpm

    适合想要替换指定内核,内核却因过时而被删除的人儿们

    ndiswrapper 最新版本下载 ndiswrapper-1.57.tar.gz

    ndiswrapper是Linux用于安装无线网卡驱动的一款软件。 ndiswrapper调用Windows下的驱动为Linux系统所用。

    ndiswrapper-1.54.tar.gz

    ndiswrapper-1.54.tar.gz

    ndiswrapper-1.59.tar

    ndiswrapper可以把windows下的驱动程序文件直接可以放在linux下使用,将设备驱动起来- 这是为大家找来的最新的版本

    ndiswrapper-1.53

    linux system software ndiswrapper-1.53, used by loading netcard

    水星mw54U linux驱动.rar

    1.sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9 2./etc/modules:添加ndiswarapper 目的让其在系统启动时自动加载 3.解压驱动 4.进入驱动解压目录:sudo ndiswrapper -i netathur.inf 5....

    ndiswrapper-1.27

    用于移植无线网卡到linux上,但又没有linux下的驱动的

    ndiswrapper

    用他来加载xp下网卡驱动,功能还是不错的

    Ubuntu(Linux)下通过ndiswrapper安装无线网卡驱动

    ndiswrapper 作为Linux 内核的一个模块,

    ndiswrapper-1.57rc1.tar.gz

    一款将window下的无线网卡驱动运行在linux系统中的辅助软件,使用方便。使用方法参考 https://blog.csdn.net/ccboy2009/article/details/47986247

    ndiswrapper 无线网卡安装工具

    通过ndiswrapper工具,可以将无线网卡的windows下的驱动安装到linux下,如ubuntu上。

    linux下通过ndiswrapper安装usb无线网卡驱动

    linux下通过ndiswrapper安装usb无线网卡驱动,ndiswrapper软件和驱动都已经在里面了,按照文档的步骤驱动都会装成功的,我们公司都是这样装得。

    ndiswrapper-开源

    Linux 内核的 NDIS 驱动程序包装器

    在Linux系统核心模块加载Windows驱动

    有一个解决方案适用于很多的网卡,一个名为ndiswrapper的程序能够让LINUX核心模块加载Windows下的某些无线网卡驱动,这样可以让便携机在没有可用的Linux驱动情况下使用无线网卡。本文将为大家介绍如何在Linux系统...

    让LINUX核心模块加载Windows下驱动

    便携式计算机内置的无线功能很多不支持Linux,有一个解决方案适用于很多的网卡,一个名为ndiswrapper的程序能够让LINUX核心模块加载Windows下的某些无线网卡驱动,这样可以让便携机在没有可用的Linux驱动情况下使用...

    NdisInstaller-开源

    NdisInstaller打算成为NdisWrapper程序的GUI(图形用户界面)应用程序,以帮助初学者和高级用户在Linux下安装Windows WLAN驱动程序。 该项目不是ndiswrapper项目的一部分,而是GUI项目。

    将Windows动态链接库移植到Linux-C/C++开发

    将Windows Dynamic Link库移植到Linux简介此存储库包含一个库,该库允许本机Linux程序从Windows DLL加载和调用函数。 作为演示,我已将Windows移植...peloader目录包含一个自ndiswrapper派生的自定义PE / COFF加载器。

    BCM4322在CentOS 7驱动程序

    blacklist ndiswrapper 4、编辑/etc/sysconfig/modules/kmod-wl.modules写入以下内容 #!/bin/bash for M in lib80211 cfg80211 wl; do modprobe $M &>/dev/null done 这样,驱动就会开机启动啦!

Global site tag (gtag.js) - Google Analytics