WIFI

来源:互联网 发布:淘宝主播薇娅个人资料 编辑:程序博客网 时间:2024/05/08 03:53

WIFI知识摘要

2016-1-20 wpa_supplicant
加密方式:TKIP & AES 对应 TKIP & CCMP
这里主要涉及WEP、WPA、WPA2和RC4、TKIP、AES。
安全方式:NONE WEP WPA-PSK WPA2-PSK  
[WEP][ESS] []       []
安全选项:
例如[WPA-PSK-CCMP][ESS]
加密模式主要有:
WEP,
WPA-PSK(TKIP),
WPA2-PSK(AES)和
WPA-PSK(TKIP)+ WPA2-PSK(AES)。-最安全
WPA=IEEE802.11idraft3=IEEE802.1X/EAP+WEP(选择性项目)/TKIP
WPA2=IEEE802.11i=IEEE802.1X/EAP+WEP(选择性项目)/TKIP/CCMP
在802.11中的帧有三种类型:

管理帧(Management Frame,例如Beacon帧、Association帧)、

控制帧(Control Frame,例如RTS帧、CTS帧、ACK帧)、

数据帧(Data Frame,承载数据的载体,其中的DS字段用来标识方向很重要)。帧头部中的类型字段中会标识出该帧属于哪个字段。

group=CCMP TKIP表示自动匹配加密算法
CCMP采用的是AES算法,从安全性角度看比较好。
但目前现网中老一些的终端(如采用windows XP SP1系统)不支持WPA2的ccmp,所以TKIP的适用性更广泛一些。


答:802.11i是无线安全协议,是总的原则,相当于“宪法”,其内容包括WPA和WPA2两个部分内容,WPA相当于“治安处罚管理条例”,而WPA2相当于“刑罚”,所以WPA2是更高级的一种安全方式。PSK和802.1X是两种无线安全实现的方式,PSK是一种个人级别的,相对简单,而802.1X是一种企业级别的,较为复杂,但更安全。TKIP和CCMP是两种数据加密算法,在WPA和WPA2中都可以使用。而AES是CCMP算法中的核心算法,且目前来看,是最可靠的加密算法。


经过编译后的wpa_supplicant源程序可以看到

命令集  iwconfig  iwgetid   iwlist    iwpriv    iwspy   --help
引用
# iwconfig interface key 0123-4567-89
# iwconfig interface key [3] 0123-4567-89
# iwconfig interface key s:password [2]
# iwconfig interface key [2]
# iwconfig interface key open
# iwconfig interface key off
# iwconfig interface key restricted [3] 0123456789
# iwconfig interface key 01-23 key 45-67 [4] key [4]

两个主要的可执行工具:wpa_supplicant和wpa_cli。
wpa_supplicant是核心程序,它和wpa_cli的关系就
是服务和客户端的关系:后台运行wpa_supplicant,
使用wpa_cli来搜索、设置、和连接网络。
WPA2只是RSN的别名,而AES也是CCMP的一部分
network=开始是无线接入点的具体配置,一般的无线接入点可以用wpa_passphrase来自动生成
wpa_passphrase TPLINK 12345678  //获取network={}
wpa_passphrase TPLINK 12345678 |sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf 
wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。
wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。
D-Link_DIR-612
wpa_cli -iwlan0 -p/data/system/wpa_supplicant
eg.1、连接无加密的AP
eg.2、连接WEP加密AP
eg.3、连接WPA-PSK/WPA2-PSK加密的AP
>add_network   (assume return 2)
>set_network 2 ssid "666"
>set_network 2 psk "your pre-shared key"
>enable_network 2
get_network <network id> <key>
wpa_supplicant.conf
network

//
1. 此无线网络不设置安全机制
# iwlist scanning            # 搜索无线网络,我们假设搜索到了 oceanboo-wireless
# iwconfig interface essid oceanboo-wireless
# dhcpcd interface
够简单了吧,这样,你的机器就连接上 oceanboo-wireless 这个无线网络了,dhcp 获得了 ip 地址。不过不给无线路由器设置密码是很愚蠢的做法,假如你不是开咖啡厅、快餐店,还是设置一个密码吧。

2. 此无线网络设置了安全机制,使用 WEP 加密认证。
# iwlist scanning           # 还是一样的搜索,记住这个命令。
# iwconfig  interface essid oceanboo-wireless key XXXX-XXXX-XXXX-XXXX or XXXXXXXX.   # XXX多了点,不过如果你设置过无线路由,你一定知道这是啥玩意,我就不多说了。
# dhcpcd interface

//
WEP 全名为 Wired Equivalent Privacy 有线等效加密
WPA 全名为 Wi-Fi Protected Access 完备之前替代 WEP 的过渡方案
WPA2 实作了完整的标准,但不能用在某些古老的网卡上。

 wpa_supplicant -i interface -c /etc/wpa_supplicant/wpa_supplicant.conf  -D wext -B 

上面的命令 
各个选项及其含义:
  -b = optional bridge interface name
       增加网桥名称
  -B = run daemon in the background
       后台执行
  -c = Configuration file
       附加配置文件,即根据配置文件执行操作
  -C = ctrl_interface parameter (only used if -c is not)
       控制网口参数
  -i = interface name
       网口名称
  -d = increase debugging verbosity (-dd even more)
       增加调试信息输出
  -D = driver name (can be multiple drivers: nl80211,wext)
       驱动名称
  -g = global ctrl_interface
       全局网口配置
  -K = include keys (passwords, etc.) in debug output
       在debug输出中包含keys
  -t = include timestamp in debug messages
       将各个debug信息前输出时间标签
  -h = show this help text
       显示帮助信息
  -L = show license (GPL and BSD)
       显示license
  -o = override driver parameter for new interfaces
       覆盖driver参数
  -O = override ctrl_interface parameter for new interfaces
       覆盖ctrl_interface参数
  -p = driver parameters
       携带驱动参数
  -P = PID file
       进程文件
  -q = decrease debugging verbosity (-qq even less)
        在debug中不输出指定参数
  -v = show version
       显示版本信息
  -W = wait for a control interface monitor before starting
       启动前等待控制接口
  -N = start describing new interface
       启动对新接口的描述

 -t -d /data/misc/wifi/log.txt

# dhcpcd interface    
# emerge -av wpa_supplicant
emerge --ask wpa_supplicant
 wpa_supplicant 、 wpa_cli 、 wpa_passphrase 、 wpa_gui
 
驱动(一般常使用的就是wext):
  wext = Linux wireless extensions (generic)
  hostap = Host AP driver (Intersil Prism2/2.5/3)
  atmel = ATMEL AT76C5XXx (USB, PCMCIA)
  wired = Wired Ethernet driver 


 iwlist scanning           # 还是一样的搜索,记住这个命令。  
 
#/system/bin/wpa_supplicant -d -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
 /system/bin/wpa_supplicant :wpa_supplicant可执行程序path
/data/misc/wifi/wpa_supplicant.conf :wpa_supplicant的配置文件path

#wpa_cli -iwlan0 -p/data/system/wpa_supplicant
wpa_passphrase TPLINK 12345678 
# Example MACsec configuration
#network={
# key_mgmt=IEEE8021X
# eap=TTLS
# phase2="auth=PAP"
# anonymous_identity="anonymous@example.com"
# identity="user@example.com"
# password="secretr"
# ca_cert="/etc/cert/ca.pem"
# eapol_flags=0
# macsec_policy=1
#}


/etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=0
fast_reauth=1
#WEP网络
network={
        ssid="SYSTEX-GROUP"
        psk="密码"
        pairwise=TKIP
        group=TKIP
        priority=5
}
#WPA网络
network={
        ssid="SYSTEX"
        key_mgmt=WPA-EAP IEEE8021X
        group=CCMP
        pairwise=CCMP
        identity="用户名"
        password="密码"
        priority=5
}

0 0
原创粉丝点击