活动接入点和 SSID 列表
List of active accesspoints and SSIDs
我需要我的脚本来输出接入点列表(MAC 地址)和 SSID。
示例:40:F2:01:8E:4D:76-MyWifi,10:22:F1:8A:3C:78-FreeWifi
我设法从 iwscan 获得了接入点列表和 SSID 列表。但是,我无法将两个列表中的数据交织在一起。
#!/bin/bash
SSIDs=`sudo /sbin/iwlist wlan0 scan`
#names=`echo "$SSIDs" | grep -oP "ESSID:\K(\"[^\"]+\")" | sort`
names=`echo "$SSIDs" | grep -oP "ESSID:\K(\"[^\"]+\")" | tr -d \"`
devices=`echo "$SSIDs" | grep -w "Address:" | tr -d " " | cut -c16-`
echo "$names"
echo "$devices"
如何从这两个变量列表开始创建最终输出?或者有更好的方法吗?
sudo /sbin/iwlist wlan0扫描输出:
wlan0 Scan completed :
Cell 01 - Address: 38:43:7D:E6:0D:16
Channel:128
Frequency:5.64 GHz (Channel 128)
Quality=41/70 Signal level=-69 dBm
Encryption key:on
ESSID:"MyWiFi"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 30ms ago
IE: Unknown: 00134861707061657274732D56616C67616572656E
IE: Unknown: 01088C129824B048606C
IE: Unknown: 030180
IE: Unknown: 050400010000
IE: Unknown: 200103
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 2D1A7F0017FFFFFF0001000000000000000000000000001FFF071800
IE: Unknown: 3D1680070000000000000000000000000000000000000000
IE: Unknown: 7F080000000000000040
IE: Unknown: BF0C30798233EAFF0000EAFF0000
IE: Unknown: C005000000C0FF
IE: Unknown: C303011212
IE: Unknown: DD1E00904C337E0017FFFFFF0001000000000000000000000000001FFF071800
IE: Unknown: DD1A00904C3480070000000000000000000000000000000000000000
IE: Unknown: DD06005043030000
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: DD1D0050F204104A0001101044000102103C0001021049000600372A000120
Cell 02 - Address: 3A:43:3D:3F:BB:B1
Channel:11
Frequency:2.462 GHz (Channel 11)
Quality=37/70 Signal level=-73 dBm
Encryption key:on
ESSID:"PublicWiFi"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 30ms ago
IE: Unknown: 000D54656C656E6574576946726565
IE: Unknown: 010882848B961224486C
IE: Unknown: 03010B
IE: Unknown: 2A0104
IE: Unknown: 32040C183060
IE: Unknown: 0706455520010D14
IE: Unknown: 2D1AAC0117FFFF000000000000000000000000000000000000000000
IE: Unknown: 3D160B000400000000000000000000000000000000000000
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : 802.1x
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : 802.1x
IE: Unknown: 7F080100080000000000
IE: Unknown: 0B05080031127A
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0706455520010D10
IE: Unknown: 46052200000000
IE: Unknown: DD07000C4300000000
期望的输出:
38:43:7D:E6:0D:16-MyWiFi;3A:43:3D:3F:BB:B1-PublicWiFi
仅使用 (GNU) sed
:
sudo /sbin/iwlist wlan0 scan |
sed -n -E '/.*\s+Address:\s*(\S+).*/{s//;/;H}; /.*\s+ESSID:"(.*)".*/{s//-/;H}; ${g;s/\n//g;s/.//p}'
我需要我的脚本来输出接入点列表(MAC 地址)和 SSID。
示例:40:F2:01:8E:4D:76-MyWifi,10:22:F1:8A:3C:78-FreeWifi
我设法从 iwscan 获得了接入点列表和 SSID 列表。但是,我无法将两个列表中的数据交织在一起。
#!/bin/bash
SSIDs=`sudo /sbin/iwlist wlan0 scan`
#names=`echo "$SSIDs" | grep -oP "ESSID:\K(\"[^\"]+\")" | sort`
names=`echo "$SSIDs" | grep -oP "ESSID:\K(\"[^\"]+\")" | tr -d \"`
devices=`echo "$SSIDs" | grep -w "Address:" | tr -d " " | cut -c16-`
echo "$names"
echo "$devices"
如何从这两个变量列表开始创建最终输出?或者有更好的方法吗?
sudo /sbin/iwlist wlan0扫描输出:
wlan0 Scan completed :
Cell 01 - Address: 38:43:7D:E6:0D:16
Channel:128
Frequency:5.64 GHz (Channel 128)
Quality=41/70 Signal level=-69 dBm
Encryption key:on
ESSID:"MyWiFi"
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 30ms ago
IE: Unknown: 00134861707061657274732D56616C67616572656E
IE: Unknown: 01088C129824B048606C
IE: Unknown: 030180
IE: Unknown: 050400010000
IE: Unknown: 200103
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 2D1A7F0017FFFFFF0001000000000000000000000000001FFF071800
IE: Unknown: 3D1680070000000000000000000000000000000000000000
IE: Unknown: 7F080000000000000040
IE: Unknown: BF0C30798233EAFF0000EAFF0000
IE: Unknown: C005000000C0FF
IE: Unknown: C303011212
IE: Unknown: DD1E00904C337E0017FFFFFF0001000000000000000000000000001FFF071800
IE: Unknown: DD1A00904C3480070000000000000000000000000000000000000000
IE: Unknown: DD06005043030000
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: DD1D0050F204104A0001101044000102103C0001021049000600372A000120
Cell 02 - Address: 3A:43:3D:3F:BB:B1
Channel:11
Frequency:2.462 GHz (Channel 11)
Quality=37/70 Signal level=-73 dBm
Encryption key:on
ESSID:"PublicWiFi"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 30ms ago
IE: Unknown: 000D54656C656E6574576946726565
IE: Unknown: 010882848B961224486C
IE: Unknown: 03010B
IE: Unknown: 2A0104
IE: Unknown: 32040C183060
IE: Unknown: 0706455520010D14
IE: Unknown: 2D1AAC0117FFFF000000000000000000000000000000000000000000
IE: Unknown: 3D160B000400000000000000000000000000000000000000
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : 802.1x
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : 802.1x
IE: Unknown: 7F080100080000000000
IE: Unknown: 0B05080031127A
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0706455520010D10
IE: Unknown: 46052200000000
IE: Unknown: DD07000C4300000000
期望的输出:
38:43:7D:E6:0D:16-MyWiFi;3A:43:3D:3F:BB:B1-PublicWiFi
仅使用 (GNU) sed
:
sudo /sbin/iwlist wlan0 scan |
sed -n -E '/.*\s+Address:\s*(\S+).*/{s//;/;H}; /.*\s+ESSID:"(.*)".*/{s//-/;H}; ${g;s/\n//g;s/.//p}'