监听WiFi网络
一次性进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:460500587
微信公众号:计算机与网络安全
ID:Computer-network
网络监听是指监视网络状态、数据流程,以及网络上信息传输。通常需要将网络设备设定成监听模式,就可以截获网络上所传输的信息。这是渗透测试使用的最好的方法。WiFi网络有其特殊性,本文介绍如何监听WiFi网络。
一、网络监听原理
由于无线网络中的信号是以广播模式发送,所以用户就可以在传输过程中截获到这些信息。但是,如果要截获到所有信号,则需要将无线网卡设置为监听模式。只有在这种模式下,无线网卡才能接收到所有流过网卡的信息。
1、网卡的工作模式
无线网卡是采用无线信号进行数据传输的终端。无线网卡通常包括4种模式,分别是广播模式、多播模式、直接模式和混杂模式。如果用户想要监听网络中的所有信号,则需要将网卡设置为监听模式。监听模式就是指混杂模式。
(1)广播模式(Broad Cast Model):它的物理地址(Mac)是0Xffffff的帧为广播帧,工作在广播模式的网卡接收广播帧。
(2)多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其他主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。
(3)直接模式(Direct Model):工作在直接模式下的网卡只接收目的地址是自己Mac地址的帧。
(4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,通信包捕获程序就是在这种模式下运行的。
网卡的默认工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接收同一网络内所有站点所发送的数据包。这样,就可以到达对于网络信息监视捕获的目的。
2、工作原理
由于在WiFi网络中,无线网卡是以广播模式发射信号的。当无线网卡将信息广播出去后,所有的设备都可以接收到该信息。但是,在发送的包中包括有应该接收数据包的正确地址,并且只有与数据包中目标地址一致的那台主机才接收该信息包。所以,如果要想接收整个网络中所有的包时,需要将无线网卡设置为混杂模式。
WiFi网络由无线网卡、无线接入点(AP)、计算机和有关设备组成,其拓扑结构如图1所示。
图1 WiFi网络拓扑结构
图1是一个WiFi网络拓扑结构。在该网络中,正常情况下每个客户端在接收数据包时,只能接收发给自己网卡的数据。如果要开启监听模式,将会收到所有主机发出去的信号。大部分的无线网卡都支持在Linux下设置为混杂模式,但是如果无线网卡的功率小的话,发射和接收信号都比较弱。如果用户捕获远距离的数据包,接收到的信号又强,则建议使用一个功率较大的无线网卡。如拓实G618和拓实N95,都是不错的大功率无线网卡。
二、配置管理无线网卡
无线网卡是终端无线网络的设备,是不通过有线连接,采用无线信号进行数据传输的终端。在计算机操作系统中,都会有一个网络管理器来管理网络设备。
1、Linux支持的无线网卡
在日常生活中,使用的无线网卡形形色色。但是,每个网卡支持的芯片和驱动不同。对于一些无线网卡,可能在Linux操作系统中不支持。Linux下支持的无线网卡,如表1所示。
表1 Linux支持的无线网卡
在以上表格中,列出了支持网卡的驱动、制造商、是否作为AP、是否支持监听,以及支持的协议模式。在表格中,?表示不确定,yes表示支持,no表示不支持。
2、虚拟机使用无线网卡
如果要管理无线网卡,则首先需要将该网卡插入到系统中。当用户在物理机中使用无线网卡时,可能直接会被识别出来。如果是在虚拟机中使用的话,可能无法直接连接到虚拟机的操作系统中。这时候用户需要断开该网卡与物理机的连接,然后选择连接到虚拟机。在虚拟机中只支持USB接口的无线网卡,下面以Ralink RT2870/3070芯片的无线网卡为例,介绍在虚拟机中使用无线网卡的方法。
在虚拟机中使用无线网卡,具体操作步骤如下所述。
(1)将USB无线网卡连接到虚拟机中,如图2所示。
图2 连接无线网卡
(2)在该界面依次选择“虚拟机”|“可移动设备”|Ralink 802.11 n WLAN|“连接(断开与主机的连接)(C)”命令后,将显示如图3所示的界面。
(3)该界面是一个提示对话框,这里单击“确定”按钮,该无线网卡将自动连接到虚拟机操作系统中。然后,用户就可以通过该无线网卡连接搜索到的无线网络。
3、设置无线网卡
下面介绍使用Kali Linux中的网络管理器来管理无线网卡。具体操作步骤如下所述。
(1)在图形界面依次选择“应用程序”|“系统工具”|“首选项”|“系统设置”命令,将打开如图4所示的界面。
图4 系统设置
(2)在该界面单击“网络”图标,设置无线网络。单击“网络”图标后,将显示如图5所示的界面。
图5 网络设置界面
(3)从该界面左侧框中,可以看到有线、无线和网络代理3个选项。这里选择“无线”选项,将显示如图6所示的界面。
图6 设置无线
(4)从该界面可以看到,当前的无线处于断开状态。在该界面单击网络名称后面的
图7 设置安全性和密码
(5)在该界面输入Test无线网卡的加密方式和密码。这里默认密码是以加密形式显示的,如果想显示密码的话,将“显示密码”前面的复选框勾上。然后单击“保存”按钮,将开始连接Test无线网络。连接成功后,显示界面如图8所示。
图8 连接成功
(6)从该界面可以看到,已成功连接到Test无线网络,并且显示了获取到的IP地址、默认路由、DNS等信息。用户也可以使用iwconfig命令查看无线网络的详细信息。其中,iwconfig命令的语法格式如下所示。
iwconfig [interface]
在该语法中,interface表示网络接口名称。用户也可以不指定单个网络接口,查看所有接口的详细信息。如下所示。
root@localhost:~# iwconfig
wlan2 IEEE 802.11bgn ESSID:"Test"
Mode:Managed Frequency:2.412 GHz Access Point: 14:E6:E4:AC:FB:20
Bit Rate=28.9 Mb/s Tx-Power=30 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=70/70 Signal level=-39 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:7 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
从输出的信息中可以看到,显示了本机中所有网络接口。其中,wlan2是无线网卡的详细配置。由于iwconfig命令主要是用来查看无线接口的配置信息,所以在输出的信息中没有显示有线网络接口eth0的详细信息。如果用户想查看的话,可以使用ifconfig命令。该命令的语法格式如下所示。
ifconfig [interface]
在以上语法中,interface选项表示指定的网络接口。使用ifconfig命令时,可以指定interface参数,也可以不指定。如果指定的话,只显示指定接口的配置信息;如果不指定的话,显示所有接口的配置信息。如下所示。
root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:62:ea:43
inet addr:192.168.6.105 Bcast:255.255.255.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe62:ea43/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47075 errors:0 dropped:0 overruns:0 frame:0
TX packets:37933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49785671 (47.4 MiB) TX bytes:5499271 (5.2 MiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10439 errors:0 dropped:0 overruns:0 frame:0
TX packets:10439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1063248 (1.0 MiB) TX bytes:1063248 (1.0 MiB)
wlan2 Link encap:Ethernet HWaddr 00:c1:40:95:11:15
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
从以上输出信息中可以看到,显示了本机中4个接口的配置信息。其中,eth0接口是指本地的第一个有线网卡信息;lo接口表示本地回环地址接口信息。
三、设置监听模式
如果要捕获所有包,必须要将无线网卡设置为监听模式。
1、Aircrack-ng工具介绍
Aircrack-ng是一个与802.11标准的无线网络分析有关的安全软件,主要功能包括网络侦测、数据包嗅探、WEP和WPA/WPA2-PSK破解。Aircrack-ng工具可以工作在任何支持监听模式的无线网卡上,并嗅探802.11a、802.11b、802.11g的数据。
Aircrack-ng是一个套件,在该套件中包括很多个小工具,如表2所示。
表2 Aircrack-ng套件
2、Aircrack-ng支持的网卡
前面介绍了Aircrack-ng套件的功能,以及包含的一些小工具。根据以上的介绍可知,Aircrack-ng套件中的airmon-ng工具可以将无线网卡设置为监听模式。由于Aircrack-ng套件对一些网卡的芯片不支持,为了使用户更好地使用该工具,下面介绍一下该工具支持的一些网卡芯片。Aircrack-ng工具支持的网卡芯片如表3所示。
表3 Aircrack-ng工具支持的网卡芯片
3、启动监听模式
前面对网络监听及网卡的支持进行了详细介绍。如果用户将前面的一些准备工作做好后,就可以启动监听模式。下面介绍使用airmon-ng工具启动无线网卡的监听模式。
在使用airmon-ng工具之前,首先介绍下该工具的语法格式。如下所示。
airmon-ng <start|stop> <interface> [channel]
以上语法中各选项含义如下所示。
● start:表示将无线网卡启动为监听模式。
● stop:表示禁用无线网卡的监听模式。
● interface:指定无线网卡接口名称。
● channel:在启动无线网卡为监听模式时,指定一个信道。
使用airmong-ng工具时,如果没有指定任何参数的话,则显示当前系统无线网络接口状态。
使用airmon-ng工具将无线网卡设置为监听模式。具体操作步骤如下所述。
(1)将无线网卡插入到主机中。使用ifconfig命令查看活动的网络接口,如下所示。
root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:62:ea:43
inet addr:192.168.6.110 Bcast:255.255.255.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe62:ea43/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47 errors:0 dropped:0 overruns:0 frame:0
TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6602 (6.4 KiB) TX bytes:3948 (3.8 KiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:820 (820.0 B) TX bytes:820 (820.0 B)
wlan2 Link encap:Ethernet HWaddr 00:c1:40:95:11:15
inet6 addr: fe80::2c1:40ff:fe95:1115/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:36 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3737 (3.6 KiB) TX bytes:2763 (2.6 KiB)
从以上输出的信息中可以看到,无线网卡已被激活,其网络接口名称为wlan2。如果在输出的信息中,没有看到接口名称为wlan类似活动接口的话,说明该网卡没有被激活。此时,用户可以使用ifconfig -a命令查看所有的接口。当执行该命令后,查看到有wlan接口名称,则表示该网卡被成功识别。用户需要使用以下命令,将网卡激活。如下所示。
root@localhost:~# ifconfig wlan2 up
执行以上命令后,没有任何输出信息。为了证明该无线网卡是否被成功激活,用户可以再次使用ifconfig命令查看。
(2)通过以上步骤,确定该网卡成功被激活。此时就可以将该网卡设置为混杂模式,执行命令如下所示。
root@localhost:~# airmon-ng start wlan2
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
-e
PID Name
2573 dhclient
2743 NetworkManager
2985 wpa_supplicant
3795 dhclient
3930 dhclient
Process with PID 3930 (dhclient) is running on interface wlan2
Interface Chipset Driver
wlan2 Ralink RT2870/3070 rt2800usb - [phy0]
(monitor mode enabled on mon0)
从输出的信息中可以看到,无线网络接口wlan2的监听模式在mon0接口上已经启用。在输出的信息中还可以看到,当前系统中无线网卡的芯片和驱动分别是Ralink RT2870/3070和rt2800usb。
(3)为了确认当前网卡是否被成功设置为混杂模式,同样可以使用ifconfig命令查看。如下所示。
root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:62:ea:43
inet addr:192.168.6.110 Bcast:255.255.255.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe62:ea43/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:49 errors:0 dropped:0 overruns:0 frame:0
TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7004 (6.8 KiB) TX bytes:3948 (3.8 KiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:820 (820.0 B) TX bytes:820 (820.0 B)
mon0 Link encap:UNSPEC HWaddr 00-C1-40-95-11-15-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:622 errors:0 dropped:637 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:88619 (86.5 KiB) TX bytes:0 (0.0 B)
wlan2 Link encap:Ethernet HWaddr 00:c1:40:95:11:15
inet addr:192.168.6.103 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::2c1:40ff:fe95:1115/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:42 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4955 (4.8 KiB) TX bytes:4233 (4.1 KiB)
从输出的信息中可以看到,有一个网络接口名称为mon0。这表示当前系统中的无线网卡已经为监听模式。如果用户只想查看无线网卡详细配置的话,可以使用iwconfig查看。如下所示。
root@Kali:~# iwconfig
mon0 IEEE 802.11bgn Mode:Monitor Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
wlan2 IEEE 802.11bgn ESSID:"Test"
Mode:Managed Frequency:2.412 GHz Access Point: 14:E6:E4:AC:FB:20
Bit Rate=150 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=70/70 Signal level=-25 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:11 Missed beacon:0
eth0 no wireless extensions.
lo no wireless extensions.
从以上输出信息中可以看到,有一个网络接口名称为mon0,并且Mode值为Monitor(监听模式)。
四、扫描网络范围
当用户将无线网卡设置为监听模式后,就可以捕获到该网卡接收范围的所有数据包。通过这些数据包,就可以分析出附近WiFi的网络范围。在Kali Linux中,提供了两个工具用于扫描网络范围。
1、使用airodump-ng扫描
airodump-ng是Aircrack-ng套件中的一个小工具,该工具主要用来捕获802.11数据报文。通过查看捕获的报文,可以扫描附近AP的SSID(包括隐藏的)、BSSID、信道、客户端的MAC及数量等。
在使用airodump-ng工具实施扫描之前,首先要将扫描的无线网卡开启监听模式。当网卡的监听模式开启后,就可以实施网络扫描。其中,airodump-ng工具的语法格式如下所示。
airodump-ng [选项] <interface name>
airodump-ng命令中可使用的选项有很多,用户可以使用--help来查看。下面介绍几个常用的选项,其含义如下所示。
● -c:指定目标AP的工作信道。
● -i,--ivs:该选项是用来设置过滤的。指定该选项后,仅保存可用于破解的IVS数据报文,而不是保存所有无线数据报文,这样可以有效地减少保存的数据包大小。
● -w:指定一个自己希望保存的文件名,用来保存有效的IVS数据报文。
● <interface name>:指定接口名称。
使用airodump-ng工具扫描网络。执行命令如下所示。
root@Kali:~# airodump-ng mon0
执行以上命令后,将输出如下信息:
CH 11 ][ Elapsed: 3 mins ][ 2014-11-10 16:45
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
EC:17:2F:46:70:BA -26 47 16 0 6 54e. WPA2 CCMP PSK yzty
8C:21:0A:44:09:F8 -35 16 0 0 1 54e. WPA2 CCMP PSK bob
14:E6:E4:AC:FB:20 -42 68 3 0 1 54e. WPA2 CCMP PSK Test
1C:FA:68:5A:3D:C0 -57 21 0 0 6 54e. WPA2 CCMP PSK QQ
C8:64:C7:2F:A1:34 -60 12 0 0 1 54 . OPN CMCC
EA:64:C7:2F:A1:34 -60 10 0 0 1 54 . WPA2 CCMP MGT
CMCC-AUTO
1C:FA:68:D7:11:8A -59 23 0 0 6 54e. WPA2 CCMP
PSK TP-LINK_D7118A
DA:64:C7:2F:A1:34 -63 8 0 0 1 54 . OPN CMCC-EDU
4A:46:08:C3:99:D9 -68 4 0 0 11 54 . OPN CMCC-EDU
5A:46:08:C3:99:D9 -69 6 0 0 11 54 . WPA2 CCMP
MGT CMCC-AUTO
38:46:08:C3:99:D9 -70 3 0 0 11 54 . OPN CMCC
6C:E8:73:6B:DC:42 -1 0 0 0 1 -1 <length: 0>
BSSID STATION PWR Rate Lost Frames Probe
(not associated) B0:79:94:BC:01:F0 -34 0 - 1 30 8 wkbhui2000
8C:21:0A:44:09:F8 14:F6:5A:CE:EE:2A -24 0e- 0e 0 79
EC:17:2F:46:70:BA A0:EC:80:B2:D0:49 -58 0e- 1 0 8
EC:17:2F:46:70:BA 14:F6:5A:CE:EE:2A -22 0e- 1 0 146 bob,Test,CMCC
EC:17:2F:46:70:BA D4:97:0B:44:32:C2 -58 0e- 6 0 3
14:E6:E4:AC:FB:20 00:C1:40:95:11:15 0 0e- 1 0 34
6C:E8:73:6B:DC:42 EC:17:2F:46:70:BA -58 0 - 1 0 8 yzty
1C:FA:68:D7:11:8A 88:32:9B:B5:38:3B -66 0 - 1 0 1
1C:FA:68:D7:11:8A 88:32:9B:C6:E4:25 -68 0 - 1 0 6
输出的信息表示扫描到附近所有可用的无线AP及连接的客户端信息。执行airodump-ng命令后,需要用户手动按Ctrl+C键停止扫描。从以上输出信息中可以看到有很多参数,下面将对每个参数进行详细介绍。
● BSSID:表示无线AP的Mac地址。
● PWR:网卡报告的信号水平,它主要取决于驱动。当信号值越高时,说明离AP或计算机越近。如果一个BSSID的PWR是-1,说明网卡的驱动不支持报告信号水平。如果部分客户端的PWR为-1,那么说明该客户端不在当前网卡能监听到的范围内,但是能捕获到AP发往客户端的数据。如果所有的客户端PWR值都为-1,那么说明网卡驱动不支持信号水平报告。
● Beacons:无线AP发出的通告编号,每个接入点(AP)在最低速率(1M)时差不多每秒会发送10个左右的beacon,所以它们在很远的地方就被发现。
● #Data:被捕获到的数据分组的数量(如果是WEP,则代表唯一IV的数量),包括广播分组。
● #/s:过去10秒钟内每秒捕获数据分组的数量。
● CH:信道号(从Beacons中获取)。
● MB:无线AP所支持的最大速率。如果MB=11,它是802.11b;如果MB=22,它是802.11b+;如果更高就是802.11g。后面的点(高于54之后)表明支持短前导码。e表示网络中有QoS(802.11 e)启用。
● ENC:使用的加密算法体系。OPN表示无加密。WEP?表示WEP或者WPA/WPA2,WEP(没有问号)表明静态或动态WEP。如果出现TKIP或CCMP,那么就是WPA/WPA2。
● CIPHER:检测到的加密算法,CCMP、WRAAP、TKIP、WEP、WEP104中的一个。一般来说(不一定),TKIP与WPA结合使用,CCMP与WPA2结合使用。如果密钥索引值大于0,显示为WEP40。标准情况下,索引0-3是40bit,104bit应该是0。
● AUTH:使用的认证协议。常用的有MGT(WPA/WPA2使用独立的认证服务器,平时我们常说的802.1x、radius、eap等),SKA(WEP的共享密钥),PSK(WPA/WPA2的预共享密钥)或者OPN(WEP开放式)。
● ESSID:也就是所谓的SSID号。如果启用隐藏的SSID的话,它可以为空,或者显示为<length: 0>。这种情况下,airodump-ng试图从proberesponses和associationrequests中获取SSID。
● STATION:客户端的Mac地址,包括连上的和想要搜索无线来连接的客户端。如果客户端没有连接上,就在BSSID下显示not associated。
● Rate:表示传输率。
● Lost:在过去10秒钟内丢失的数据分组,基于序列号检测。它意味着从客户端来的数据丢包,每个非管理帧中都有一个序列号字段,把刚接收到的那个帧中的序列号和前一个帧中的序列号相减就可以知道丢了几个包。
● Frames:客户端发送的数据分组数量。
● Probe:被客户端查探的ESSID。如果客户端正试图连接一个AP,但是没有连接上,则将会显示在这里。
下面对以上扫描结果做一个简单分析,如表4所示。
表4 扫描结果分析
2、使用Kismet扫描
Kismet是一个图形界面的无线网络扫描工具。该工具通过测量周围的无线信号,可以扫描到附近所有可用的AP及所使用的信道等。Kismet工具不仅可以对网络进行扫描,还可以捕获网络中的数据包到一个文件中。这样,可以方便用户对数据包进行分析使用。
使用Kismet工具扫描网络范围。具体操作步骤如下所述。
(1)启动Kismet工具。执行命令如下所示。
root@kali:~# kismet
执行以上命令后,将显示如图9所示的界面。
图9 终端颜色
(2)该界面用来设置是否是用终端默认的颜色。因为Kismet默认颜色是灰色,可能一些终端不能显示。这里不使用默认的颜色,所以单击No按钮,将显示如图10所示的界面。
图10 使用root用户运行Kismet
(3)该界面提示正在使用root用户运行Kismet工具,并且该界面显示的字体颜色不是灰色,而是白色的。此时,单击OK按钮,将显示如图11所示的界面。
图11 自动启动Kismet服务
(4)该界面提示是否要自动启动Kismet服务。这里单击Yes按钮,将显示如图12所示的界面。
图12 启动Kismet服务
(5)该界面显示设置Kismet服务的一些信息。这里使用默认设置,并单击Start按钮,将显示如图13所示的界面。
图13 添加包资源
(6)该界面显示没有被定义的包资源,是否要现在添加。这里选择Yes按钮,将显示如图14所示的界面。
图14 添加资源窗口
(7)在该界面指定无线网卡接口和描述信息。在Intf中,输入无线网卡接口。如果无线网卡已处于监听模式,可以输入wlan0或mon0。其他配置信息可以不设置。然后单击Add按钮,将显示如图15所示的界面。
图15 关闭控制台窗口
(8)在该界面单击Close Console Window按钮,将显示如图16所示的界面。
图16 扫描的无线信息
(9)从该界面可以看到Kismet工具扫描到的所有无线AP信息。在该界面的左侧显示了捕获包的时间、扫描到的网络数、包数等。用户可以发现,在该界面只看到搜索到的无线AP、信道和包大小信息,但是没有看到这些AP的Mac地址及连接的客户端等信息。如果想查看到其他信息,还需要进行设置。如查看连接的客户端,在该界面的菜单栏中,依次选择Sort|First Seen命令,如图17所示。
图17 查看客户端信息
(10)在该界面选择First Seen命令后,将看到如图18所示的界面。
图18 客户端的详细信息
(11)从该界面通过选择一个无线AP,将会看到关于该AP的详细信息,如AP的Mac地址和加密方式等。如果希望查看到更详细的信息,选择要查看的AP,然后按回车键,将查看到其详细信息。这里选择查看ESSID值为yzty的详细信息,如图19所示。
图19 yzty的详细信息
(12)从该界面可以看到无线AP的名称、Mac地址、制造商、信道和运行速率等信息。当需要退出到Kismet主界面时,在该界面的菜单栏中依次选择Network|Close window命令,如图20所示。
图20 关闭当前窗口
(13)在该界面选择Close windows命令后,将返回到如图18所示的界面。当运行扫描到足够的信息时,停止扫描。此时,在图18界面依次选择Kismet|Quit命令退出Kismet程序,如图21所示的界面。
图21 退出Kismet
(14)选择Quit命令后,将显示如图22所示的界面。
图22 停止Kismet服务
(15)在该界面单击Kill按钮,将停止Kismet服务并退出终端模式。此时,终端将会显示一些日志信息。如下所示。
*** KISMET CLIENT IS SHUTTING DOWN ***
[SERVER] INFO: Stopped source 'wlan0'
[SERVER] ERROR: TCP server client read() ended for 127.0.0.1
[SERVER]
[SERVER] *** KISMET IS SHUTTING DOWN ***
[SERVER] INFO: Closed pcapdump log file 'Kismet-20141113-15-32-40-1.pcapdump',
[SERVER] 155883 logged.
[SERVER] INFO: Closed netxml log file 'Kismet-20141113-15-32-40-1.netxml', 26
[SERVER] logged.
[SERVER] INFO: Closed nettxt log file 'Kismet-20141113-15-32-40-1.nettxt', 26
[SERVER] logged.
[SERVER] INFO: Closed gpsxml log file 'Kismet-20141113-15-32-40-1.gpsxml', 0 logged.
[SERVER] INFO: Closed alert log file 'Kismet-20141113-15-32-40-1.alert', 5 logged.
[SERVER] INFO: Shutting down plugins...
[SERVER] Shutting down log files...
[SERVER] WARNING: Kismet changes the configuration of network devices.
[SERVER] In most cases you will need to restart networking for
[SERVER] your interface (varies per distribution/OS, but
[SERVER] usually: /etc/init.d/networking restart
[SERVER]
[SERVER] Kismet exiting.
Spawned Kismet server has exited
*** KISMET CLIENT SHUTTING DOWN. ***
Kismet client exiting.
从以上信息的KISMET IS SHUTTING DOWN部分中,可以看到关闭了几个日志文件。这些日志文件默认保存在/root/目录。在这些日志文件中,显示了生成日志的时间。当运行Kismet很多次或几天时,用户可以根据这些日志的时间快速地判断出哪个日志文件是最近生成的。
接下来查看一下上面捕获到的数据包。切换到/root/目录,并使用ls命令查看以上生成的日志文件。执行命令如下所示。
root@kali:~# ls Kismet-20141113-15-32-40-1.*
Kismet-20141113-15-32-40-1.alert Kismet-20141113-15-32-40-1.netxml
Kismet-20141113-15-32-40-1.gpsxml Kismet-20141113-15-32-40-1.pcapdump
Kismet-20141113-15-32-40-1.nettxt
从输出的信息中可以看到,有5个日志文件,并且使用了不同的后缀名。Kismet工具生成的所有信息,都保存在这些文件中。下面分别介绍这几个文件格式中包括的信息。
● alert:该文件中包括所有的警告信息。
● gpsxml:如果使用了GPS源,则相关的GPS数据保存在该文件。
● nettxt:包括所有收集的文本输出信息。
● netxml:包括所有XML格式的数据。
● pcapdump:包括整个会话捕获的数据包。
在Kismet工具中,用户可以在菜单栏中选择其他选项,查看一些其他信息。本例中,只简单地介绍了两个选项的详细信息。
微信公众号:计算机与网络安全
ID:Computer-network