Linux的WiFi知识积累

2019-07-12 17:47发布

一、基本知识

1.1 Linux无线网络架构

要了解linux的无线网络,首先要 了解linux的网络架构。 1、从应用到底层的调用关系:系统调用接口 -socket          协议无关接口           网络协议-TCP 和 UDP          设备无关接口        设备驱动程序         网络接口的注册 2、对于Linux的无线架构,可以分成两部分来学习,第一部分为数据包的收发过程,这部分与1节所说的一样。第二部分为无线网络的控制部分,包括无线网络的扫描、连接、断开及无线网络的各种设置及查询。            参考网址: https://blog.csdn.net/zjli321/article/details/52472366(无线网络的数据发送接收流程) https://blog.csdn.net/myarrow/article/details/9274443(基于USB接口的网络数据无线网络)

1.2 开源库

他们的源码地址是:http://w1.fi/ wpa_supplicant中包含了hostapd功能。对于Linux来说,无论是有线网络还是无线网络,只是底层封装的入口不一样。最终要完成的都是客户端会找到你设备在监听的端口号。至于怎么进入的? 移植方法:https://blog.csdn.net/zhaoxd200808501/article/details/74392453 在移植hostapd和wpa_supplicant时需要先移植openssl和libnl,libnl提供netlink通信机制。  

二、热点

嵌入式Linux开发板,加载厂家提供的KO驱动,然后配置hostapd和dhcp服务来打造一个热点。

1.1 hostapd

hostapd能够将wifi切换为master模式,能够模仿路由器的功能,打造一个软ap。 hostapd.conf中会需要名字,需要密码,需要加密方式。 ssid:设定你热点的名称  interface:网卡接口  wpa 设置你认证相关的 1.3 dhcp--动态分配ip给接入点 因为如果没有DHCP的话,连接你热点的设备和你的设备不在同一个网段,那么就需要手动配置连接的设备IP,这会很麻烦。显然需要用DHCP来动态分配IP给接入点。

1.2 参考网址

https://www.cnblogs.com/heat-man/p/4657157.html https://blog.csdn.net/qianrushi_jinxifeng/article/details/24575829 https://blog.csdn.net/hinyunsin/article/details/6029663?utm_source=blogxgwz3 https://blog.csdn.net/njzhujinhua/article/details/5473970

三、WIFI

3.1 wpa_supplicant

WPA是WiFi Protected Access的缩写,中文含义为“WiFi网络安全存取”。WPA是一种基于标准的可互操作的WLAN安全性增强解决方案,可大大增强现有以及未来无线局域网络的数据保护和访问控制水平。主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。
wpa_supplicant是一个开源项目,已经被移植到Linux,Windows以及很多嵌入式系统上。它是WPA的应用层认证客户端,负责完成认证相关的登录、加密等工作。
wpa_supplicant是一个 独立运行的 守护进程,其核心是一个消息循环,在消息循环中处理WPA状态机、控制命令、驱动事件、配置信息等。

四、参考知识

4.1 分析工具

1、AirPcap系列产品是由美国CACE公司设计一种专门用于无线网络分析的工具,主要应用于windows平台。它以硬件形式发布(分USB,Cardbus1,Minicard几种),和开放源码的WireShark(以前叫Ethereal,是和Sniffer齐名的嗅探器,但现在sniffer已转为商用。WireShark具备优异的底层协议分析能力,超过了Sniffer)配合,提供广泛的802.11WLAN解决方案。 2、WiFi分析仪分析WiFi信号强弱 3、packet capture 捕获应用层协议

4.2 参考网址

https://blog.csdn.net/emdfans/article/details/78262953 https://blog.csdn.net/sunjing_/article/details/51973919 https://blog.csdn.net/lee244868149/column/info/wlan/1 书本:深入理解Android:Wi-Fi,NFC和GPS》