赞
踩
从接触WIFI到现在,才几个月左右时间,期间又不断穿插其它事务,不过总算学了点东西。本文记录一下学习WIFI的过程。
公司布局移动网络已很久了,从机顶盒子到无人机到h265、窄宽图传。今年安排我的工作计划只有“移动网络”这四个字,不过直到只剩下半年时间才能接触。
起初,得到的任务只是向项目输出, 必须是5GHz频段,速率要达到800Mbps。由于事急,也没什么时间系统地了解WIFI,直接在Linux系统搭建AP服务,个中涉及到无线驱动、无线网卡固件、hostapd、dhcp等,也只是在出现问题时才去搜索。一开始在完整的ubuntu系统上进行,出现问题不多,但放到自己移植后的系统,还是有个别问题卡了很久时间,所幸最后都解决了,但速率一直不理想。从开始的54Mbps,到后来156Mbps,虽然在进步,但领导还是期望达到800Mbps。咨询无线网卡提供商,别人是基于MIPS的openwrt系统,与我们使用的linux不同。这个问题只好慢慢再找了。
后来完成项目的输出,领导叫我好好梳理WIFI技术。因此才有了时间重新回顾之前所接触的,并慢慢展开。如802.11n关键技术,802.11ac关键技术,无线认证、无线加密算法,等等。但这些都是为了交差而应付了之,因为任何一个话题,都是一大块领域。
由于我作为“底层员工”,不可能靠几个PPT混饭吃,所以WIFI的重点方向是Linux的wireless驱动,以及上层服务如hostapd等。考虑难易程度,拿hostapd下手。由于接触了大量开源项目源码,对于开源项目代码的研究有自己的套路,很快就对hostapd有了初步认识。后来无意间看到国外友人的文章,修改了hostapd代码,将无线传输速率提高到300Mbps,达到普通路由器标称速度。
接着研究了linux下抓包程序hosrt,由于该任务不是安排给我的,所以都是在业余时间进行.很多年前自学过ncurses库,因此对于hosrt显示这方面的机制不陌生——人生就是这样,无法知道所学东西会在什么时候用上。经过一周多的时间,基本上掌握了该程序,并自行添加额外的一些功能。还向程序作者提了bug,这是我在github上首次和国外同道沟通。
后来利用iptables,将一台x86板子改造为无线热点,时不时用手机连接上网。这也是学以致用的一方面吧。其实这个主要是想以后有机会有时间进行WIFI破解做准备的。
李迟
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。