首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用bash构建脚本,以可访问的方式为周围的每个网络分别存储Channel、BSSID和ESSID

如何使用bash构建脚本,以可访问的方式为周围的每个网络分别存储Channel、BSSID和ESSID
EN

Stack Overflow用户
提问于 2015-09-07 19:47:33
回答 2查看 1.1K关注 0票数 -1

我目前正在使用kali Linux2.0开发一个bash脚本项目。我的脚本基本上是扫描网络,当它找到一个网络时,它应该以某种方式将它的ESSID、BSSID和Channel存储在一起。然后,它在每个网络的命令中使用BSSID、ESSID和Channel。我已经做了最好的研究,以找到如何为每个网络存储这些详细信息。我知道这可以通过创建数据库或表来完成,尽管我对它们的了解非常有限。所以我试着使用grep和awk -

代码语言:javascript
复制
`b=$(iwlist <interface> scan|grep Address|awk '{ print $5 }')
echo $b`

它按以下顺序输出bssids

代码语言:javascript
复制
`xx:xx:xx:xx:xx:xx xx:xx:xx:xx:xx:xx xx:xx:xx:xx:xx:xx xx:xx:xx:xx:xx:xx xx:xx:xx:xx:xx:xx`

不使用grep和awk进行过滤:

代码语言:javascript
复制
`wlan2 Scan completed : 
Cell 01 - Address: xx:xx:xx:xx:xx:xx 
Channel:xx 
Frequency:2.462 GHz (Channel xx) 
Quality=24/70 
Signal level=-86 dBm 
Encryption key:on 
ESSID:"xxxx" 
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s 
Mode:Master`

但这对我帮助不大。相反,我希望它是这样的:

代码语言:javascript
复制
`bssid1=xx:xx:xx:xx:xx:xx
chan1=X
 bssid2=xx:xx:xx:xx:xx:xx
chan2=x
.
.
.
.`

并且脚本中这些变量的数量将随着扫描的网络数量的增加而增加。我的问题是,如何构建一个脚本来将Channel、BSSID和ESSID分别存储为使用bash的每个网络的变量?

EN

回答 2

Stack Overflow用户

发布于 2015-09-07 22:54:12

一种可能的方法是使用bash数组和while循环。这里有一种方法:

代码语言:javascript
复制
declare -a bsids
declare -a channels
declare -a essids

ind=-1
while read line; do
    case $line in
        Cell*)
            ((ind++))
            bsids[$ind]=${line##* }
            ;;
        Channel*)
            channels[$ind]=${line##*:}
            ;;
        ESSID*)
            essids[$ind]=${line##*:}
            ;;
    esac
done < <(iwlist <iface> scan)

然后你将有3个数组,你可以像这样访问

代码语言:javascript
复制
printf "BSID 1: %s\n" "${bsids[0]}"
printf "CHANNEL 1: %s\n" "${channels[0]}"
printf "ESSID 1: %s\n" "${essids[0]}"
票数 0
EN

Stack Overflow用户

发布于 2019-06-24 08:37:51

对于DD-WRT,这对我很有效:

curbssid=wl -i eth1 status | grep 'BSSID' | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

用反引号括起来。如果使用5 5GHz接口,您可能需要将eth1更改为eth2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32437954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档