wifi 基本的连接操作

wifi存在4种认证和加密的方式

1,open

2,WEP

3,WPA

4,WPA2

工具

iw,可以用于open和WEP的认证和加密方式,

wpa_supplicant 上面四种加密认证方式都支持

dhcp:使得WIFI网卡动态获取IP

wireless.kernel.org

iw依赖于libnl库

iw list 获得所有设备的属性,例如band信息(2.4GHZ/5GHZ) 和802.11n的信息

iw dev wlan0 scan   扫描附近的wifi

iw dev wlan0 link  

iw wlan0 connect name 连接名字为name的开放wifi

ifconfig wlan0 ip  设置设备wlan0 ip地址

连接WEP加密认证的wifi:

iw wlan0 connect name keys d:0:0011223344   //d:default 默认密码   0: 第0个密码

iw wlan0 disconnect 断开wifi连接

目前一般的wifi都是用wpa/wpa2认证加密,所以一般使用wpa tool    (supplicant:请求者)

官网:wireless.kernel.org   

相关库:libpcap libdnet OpenSSL(libopenssl) GnuTLS inter TLSv1 implementation等  (make 〉tf.log 2>&1 将输出信息存入tf.log,将错误信息存入第一个参数即tf.log)。 即将所有log存在tf.log中

wpa_supplicant -B(后台作为服务进程) -c(配置文件) -i(指定需要用的网卡)

key_mgmt 认证加密方式

wpa_cli -i wlan0 status  查看wlan0的连接状态

key_mgmt=NONE //代表当前认证加密方式为Open/WEP

如果是WEP的话。有两种密码格式,一种5个字符的密码格式,一种为12个字符的密码格式

wep_key0 wep_key1分别指定这两种密码格式的密码

通过wep_tx_keyidx确定当前使用的是那种格式的密码

key_mgmt=WPA-PSK //WPA-EAP 指使用认证服务器,PSK指使用密码

proto=WPA

pairwise=TKIP

group=TKIP

psk="********"

key_mgmt=WPA-PSK 

proto=WPA2/RSN

pairwise=CCMP

group=CCMP

psk="********"

相关参数详解可以 查看帮助文档

 实际上,由于wpa配置文件默认参数已经配置

所以用户填充的时候,只需要填充ssid 和psk就可以了

ctrl_interface 指定一个目录,用于wpa_supplicant 和wpa_cli的socket通信。使得wpa_cli能够控制wpa_supplicant

wpa_cli的交互模式

wpa_cli

域名服务器DNS :resolv.conf 

nameserver 192.168.1.1

网关

route add default gw 192.168.1.1

DHCP 动态设置IP和路由

wpa_cli -a /sbin/wpa_action.sh -B   wpa_cli 自动将sh运行在后台

自动挂载,使用mdev.conf

mdev.conf的格式:

<device regex> <uid>:<gid> <octal permissions> [<@ | $ | *> <command>]

device regex:正则表达式,表示哪一个设备

uid:owner

gid:组id

ocal permissions:以八进制表示的属性

@:创建设备节点之后执行的命令

$:删除设备节点之后执行的命令

*:创建设备节点之后和删除设备节点之前 执行命令

command:要执行的命令

例如:

leds 0:0 777 * /bin/add_remove_led.sh

wlan0 0:0 777 * /sbin/audo_wifi.sh

wifi 的ap 功能:

hostapd工具使用 搭建无限热点:参考文章:https://blog.csdn.net/daydring/article/details/16337047

hostapd需要libnl库

配置文件:

hostapd.conf

内容:

interface=wlan0

driver=nl80211

ssid=

channel=

macaddr_acl=0/1/2/3

auth_algs=

wpa=

psk=

wpapassphrase=password

wpa_pairwise=TKIP//wpa1

rsn=pairwise=CCMP//wpa2

hostapd -B *.conf

需要再启动dhcpd 为连接自动分配IP

添加dhcpd的配置文件内容

subnet 192.168.1.0 netmask 255.255.255.0 {

    rang 192.168.1.10 192.168.1.100;

    option domain-name-servers 192.168.1.1;

    option routers 192.168.1.1;

}

启动dhcpd

ifconfig 192.168.1.1

dhcpd -cf *.conf

查看由多少个设备连接了这个ap

hostapd_cli 

猜你喜欢

转载自blog.csdn.net/qq_33600019/article/details/84640819