活动接入点和 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}'