该章节看aqniu 苑房弘老师视频笔记整理
一、无线技术的特点
所谓无线网络,就是利用无线电波作为信息传输的媒介构成的无线局域网(WLAN),与有线网络的用途十分类似,最大的不同在于传输媒介的不同,利用无线电技术取代网线,可以和有线网络互为备份。
频率是指所生成电磁波的振动速度,而振幅则是指电磁波的强度。这两个指标都受相关法规的限制——例如,在美国,联邦通信委员会负责规定谁可以使用电磁频谱中哪一些频段(也称为频带),同时规定它们的用途与使用环境。
- 无需布线相对自由
- 互联网的重要入口
- 边界模糊
- 配置不当,安全实施比较困难
- 企业网络私自接入AP破坏网络边界
二、802.11标准
802.11基于无线电波发射信息
介绍无线局域网,就得从他的协议标准开始介绍:
IEEE(institute of electrical and electronics engineers):国际电子电器工程协会。
由通信航天生物电气电子等方面的科学家组成,目的是指定标准,指导行业技术的发展。
IEEE 分为不同的技术委员会,当然不止于计算机网络,还有航天电子生物等科学领域标准。标准一旦制定,所有的设备生产商都要依据这个标准来生产它的设备。只有这样你intel网卡 才能连接bradcom..才能完成数据的传输。
其中802委员会负责lan、man(局域网、城域网)标准的指定:
802委员会其中的一部分范围图例:
- 以太网 802.3
- 令牌环网 802..5
- 无线局域网 802.11
- 网桥 802.1
- 宽带局域网 802.7
- 光纤 802.8
- 个人局域网络(蓝牙等) 802.15
802委员会第11组负责开发无线局域网标准
IEEE 802.11F Inter-Access Point Protocol
我们今天所学的802.11只涉及七层模型中的最下面两层:
无线:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 逻辑链路控制子层LLC
- 媒体访问控制子层MAC
- 物理层
需要注意的是,其实已经有30多个版本协议迭代但我们日常使用就这几个:
日常使用:
严格上来说wifi只是说的802.11b的
(1)802.11
从头看第一个802.11,发布1997年,速率1、2Mbps;红外线传输介质(未实现)
所以主流的是无线射频信号编码(调制)(radio frequencies)----无线电波:
- Direct-Sequence Spread-Spectrum(DSSS)---直序扩频
- Frequency Hopping Spread-Sectrum(FHSS)---跳频扩频
频宽资源有限;所以出现扩频技术,使得速率达到更高M。无线频宽的使用是有限制的,民用只能限制在2.4~2.485 GHZ
Resquest to send \Clear to send(RTS\CTS)
(2)802.11b
在802.11上改进增加了CCK(补充代码键),使无线的传输速率进一步提高-5.5 and 11Mbit/s
开始明确下来,我们要使用2.4GHz的带宽(2.4~2.485GHz),然后这个频宽呢又进一步细化分为11、13、14(最多)个信道,
然鹅每个信道要占用22MHz的带宽,所以:
85HZ / 14 < 22
必然会有重叠,信道有交集,信号可能会干扰,(实际没有交叉的信道只有3个)
如果两个AP同时使用又距离比较近(20M以内),信号就会有干扰丢包。所以在设计的时候相邻两个AP信道尽量不要有交集
不同国家对信道划分不同:
下表给出信道表,实际是中间值:
模拟理解图:左右偏移11
(3)802.11a
与802.11b几乎同时发布,(但因设备价格问题一直没有得到广泛使用)
特色: 使用5GHz带宽
- 2.4Ghz带宽干扰源多(微波、蓝牙、无绳电话)
- 5GHz频率有更多的带宽空间,可容纳更多不重叠的信道
- 出现新的信号调制方法(OFDM):正交频分复用技术 Orthogonal Frequency-Division Multiplexing
- 更高的速率54Mbps,每个信道20Mhz带宽
- 变频 5.15-5.35GHz室内 5.7-5.8GHz室外
(4)802.11g
是在802.11b基础上的扩充 应用802.11a的OFDM,可以看做兼容款
特色:
- 还是2.4GHz
- 与802.11a速率相同
- 可全局降速向后兼容802.11b,并切换为CCK信号调制方法
- 每个信道20/22MHz
(5)802.11n
特色:
- 2.4或5GHZ频率
- up to 600Mbps
- 多进多出通信技术(MIMO)Mutiple-Input Multiple-Output.....多个天线~
- 多天线,多无线电波,独立收发信号
- 可使用40MHz信道带宽使传输速率翻倍
- up to 600Mbps
- 全802.11n设备网络中,可以使用新报文格式,使速率达到最大
- 每个信道20/40MHz带宽
三、无线网络的运行模式
3.0 啥是SSID?
服务集标识符 Service Set Identifier,通俗点儿:“无线名”
- AP每秒鈡约10次通过Beacon帧广播SSID
- 客户端连接到无线网络后也会宣告SSI:"我已经连上了xx ssid...我已经..."
Beacon:一种类型的无线数据帧,不断的去广播的(用来广播SSID),向外发的数据包...
隐藏ssid本身就是设置AP不发射beacon帧,但不影响数据传输的正常使用,目的就是不让其他人知道有这个无线信号
3.1 Infrastructure
Access Point 访问点
AP维护SSID
- 至少包含一个AP和一个STATION,形成一个Basic Service Set(BSS)--基础服务集
- AP 连接到有线网络,称为Distribution System (DS) --分布式系统
- 连接到同一个DS的多个AP形成一个Extended Service Set (ESS)--扩展服务集
图示:联想到无线的BSSID
3.2 AD-HOC
STA维护SSID
- 也被称为IBSS (Independent Basic Service Set)--独立的基本服务集
- 有至少2个STAs直接通信组成;也称为peer to peer模式
- 其中一个STA负责担当一下AP的工作:
- 通过beacon广播SSID
- 对其他STA进行身份验证
WDS
例如无线中继器
无线的分布式网络,与有线的DS类似,只是通过无线连接的多个AP组成的网络
- Bridging-----只有AP间彼此通信
- Repeating-----允许所有AP和STA进行通信
3.- Monitor mode
monitor不是一种真正的无线模式,但是对无线渗透至关重要。
- 允许无线网卡没有任何筛选的抓包(802.11包头)
- “类似有线的混杂模式”
- 有的网卡和驱动不仅可以monitor,还可以injection
注:抓包不开这个模式,你抓不到802.11无线的包头!
# 默认是managed
四、无线设备
- 物理机运行Kali
- 虚拟机运行kali
- 外置USB无线网卡
- TL-WN722N
- RT3070、Realtek8187芯片、
- 可扩展天线
- 外置USB无线网卡
可以用 dmesg - T 命令看下设备插拔信息的变化;
# 选择无线网卡的时候关键是要看它的芯片:高发送功率,低灵敏度,例如Atheros\Realtek
支持信息查看:http://aircrack-ng.org/
使用 iwconfig 可看无线设备信息;
五、无线技术概念:
- 分贝dB 测量无线信号强度 (无论在无线还是声学领域单位)
- B: 向Alexander Graham Bell 致敬
- dB:表示2个信号之间的差异比率,用于描述设备的信号强度,是一个相对值。如:两点的功率差可以是10dB,但这10dB具体表示多少mW是不一定的。
- dBm:功率值与1mW进行比较的dB值结果。
有dBm的话可以转换为毫瓦,因为有相应的比值可以反向计算出来
假如你看到一个无线网卡的参数标注功率是100mW的话,就可以算出对应的多少dBm
- dBi:全向天线辐射强度 (全向天线的信号功率增益)
- 增益是指信号功率强度增加了多少dB
- 例如300mw的无线路由器添加个9dBi的天线后功率如何变化(假设2dBi的电缆和接口耗损)
- dBd:定向天线辐射强度(dBs是定向天线的增益值)
- 全向天线在所有方向收发信号,定向天线在指定反向收发
- 一般来说天线增益越大信号传输越远;功率相同的情况下,比全向天线传输距离更远(方向正确的情况下)
疑问:既然mW可以表示功率为啥还要引入dB这个单位?
因为接受信号时无线信号转变为高频电子脉冲,反之发射信号时高频电子脉冲转换为无线电波,该过程往往产生上万倍的变化,使用W、mW计数非常不方便,而dBm单位通过对功率的对数的计算,使得一个较小的数值就可以直观表达功率变化,因此无线和声学系统都采用dB这个单位。
全向天线波形图:甜甜圈
天线选择的误区
?增益越高越好?no!不要一味的增加天线...
- 高功耗
- 对周围环境的信号干扰
常见的定向天线有:
六、linux 无线协议栈及配置命令
两个层面一个kernel 一个用户层面
ifconfig:只能查到无线网卡相关的Ethernet ,也就是以太网相关的一些参数的配置和使用情况:发包收包、丢包等信息
iwconfig:eth0因为不是,所以显示no无线扩展,有支持的协议、连接的ESSID、mode、访问点
iwlist wlan1 frequency:查信道
root@kali:~# iwlist wlan0 frequency wlan0 14 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Channel 14 : 2.484 GHz root@kali:~#
iw list :
root@kali:~# iw list Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 max # scan plans: 1 max scan plan interval: -1 max scan plan iterations: 0 Retry short long limit: 2 Coverage class: 0 (up to 0m) Device supports RSN-IBSS. Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP-128 (00-0f-ac:4) * CCMP-256 (00-0f-ac:10) * GCMP-128 (00-0f-ac:8) * GCMP-256 (00-0f-ac:9) Available Antennas: TX 0 RX 0 Supported interface modes: * IBSS * managed * AP * AP/VLAN * monitor * mesh point Band 1: Capabilities: 0x17e HT20/HT40 SM Power Save disabled RX Greenfield RX HT20 SGI RX HT40 SGI RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 32767 bytes (exponent: 0x002) Minimum RX AMPDU time spacing: 2 usec (0x04) HT TX/RX MCS rate indexes supported: 0-7, 32 Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) (no IR) * 2472 MHz [13] (20.0 dBm) (no IR) * 2484 MHz [14] (20.0 dBm) (no IR) Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * set_tx_bitrate_mask * frame * frame_wait_cancel * set_wiphy_netns * set_channel * set_wds_peer * probe_client * set_noack_map * register_beacons * start_p2p_device * set_mcast_rate * connect * disconnect * set_qos_map * Unknown command (121) Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 software interface modes (can always be added): * AP/VLAN * monitor valid interface combinations: * #{ AP, mesh point } <= 8, total <= 8, #channels <= 1 HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS. Device supports SAE with AUTHENTICATE command Device supports low priority scan. Device supports scan flush. Device supports AP scan. Device supports per-vif TX power setting Driver supports full state transitions for AP/GO clients Driver supports a userspace MPM Device supports configuring vdev MAC-addr on create.
support ciphers支持的加密 avaliable abtenas:可用的天线
support interface modes:支持的模式.......
无线网卡基本命令
iw dev wlan1 scan
root@kali:~# iw dev wlan0 scan BSS 78:2c:29:8a:a5:be(on wlan0) TSF: 4843250819525 usec (56d, 01:20:50) freq: 2412 beacon interval: 100 TUs capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) signal: -63.00 dBm last seen: 4016 ms ago Information elements from Probe Response frame: SSID: yangyangyang Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Parameter set: channel 1 Country: CN Environment: Indoor/Outdoor Channels [1 - 13] @ 30 dBm ERP:Extended supported rates: 24.0 36.0 48.0 54.0 HT capabilities: Capabilities: 0x1ac HT20 SM Power Save disabled RX HT20 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 HT operation: * primary channel: 1 * secondary channel offset: no secondary * STA channel width: 20 MHz * RIFS: 1 * HT protection: no * non-GF present: 1 * OBSS non-GF present: 0 * dual beacon: 0 * dual CTS protection: 0 * STBC beacon: 0 * L-SIG TXOP Prot: 0 * PCO active: 0 * PCO phase: 0 Overlapping BSS scan params: * passive dwell: 20 TUs * active dwell: 10 TUs * channel width trigger scan interval: 300 s * scan passive total per channel: 200 TUs * scan active total per channel: 20 TUs * BSS width channel transition delay factor: 5 * OBSS Scan Activity Threshold: 0.25 % Extended capabilities: HT Information Exchange Supported, 6 WMM: * Parameter version 1 * u-APSD * BE: CW 15-1023, AIFSN 3 * BK: CW 15-1023, AIFSN 7 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec * VO: CW 3-7, AIFSN 2, TXOP 1504 usec WPA: * Version: 1 * Group cipher: CCMP * Pairwise ciphers: CCMP * Authentication suites: PSK RSN: * Version: 1 * Group cipher: CCMP * Pairwise ciphers: CCMP * Authentication suites: PSK * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) root@kali:~#
#我们发现信号其实是个负值:这是因为信号的接收强度!0~-50间的信号最好、-50~ -75 信号一般、-70以上弱
通常我们不需要这么多参数信息,只想知道SSID名,可以按实际情况筛选:
root@kali# iw dev wlan1 scan |grep SSID root@kali# iw dev waln0 scan |egrep "DS|SSID" root@kali# iw dev waln0 scan |egrep "ESSID|Channel"
root@kali:~# iw dev wlan0 scan |grep SSID SSID: yangyangyang SSID: Wan\xe2\x80\x99s iPhone root@kali:~#
添加删除侦探端口:
#首先关闭network-manage service networker-manager stop iw dev wlan0 interface add wlan0mon type monitor #设为监听模式
iw dev wlan0mon set channel 11 #调整指定信道
iwlist wlan0mon channel #查看工作在的信道 iw dev wlan0mon interface del #删除监听模式 #抓包 tcpdump -s 0 -i wlan0mon -p
# 出错时debug:看看 service network-manager stop
802.11包头
DU(data unit)即数据单元,信息传输的最小数据集合。
传递过程逐层封装(Encapsulation)
SDU(Service Data Unit)/ PDU(Protocol Data Unit)
MSDU-->MIC-->分帧-->添加 Iv(起始向量)-->加密-->添加MAC头部-->MPDU
MPDU/PSDU+物理头=PPDU-->rf发射
Beacon frames
- AP发送的广播帧,通告无线网络的存在(BSSID)
- 发包频率 大概1秒发10次:
- 102.4ms(可变);时间单位1024microsecond(60秒)
- SSID网络名
- 隐藏AP不发SSID广播
Probe Request Frames
用于STA扫描现有AP
- 发现连接过的AP
- 发现未连接过得AP
Authentication Frames
Authentication algorithm身份认证类型
- 0:开放系统身份验证
- 1:共享密钥身份验证
身份认证有多个帧交换过程组成
Authentication Seq
- 每次身份验证过程Seq唯一
- 1-65535
Challenge text
- 只有共享密钥方式才有此字段
Status Code:成功/失败