Bash 在wireshark或tshark中捕获SSID

Bash 在wireshark或tshark中捕获SSID,bash,wireshark,Bash,Wireshark,下面的代码是捕获SSID(接入点名称)并获取其RSSI(信号功率)平均值的代码的一部分。 我需要有人解释一下这条线到底是做什么的 tshark -i prism0 -Y wlan.fc.type_subtype==0x08 -T fields -e wlan.sa -e prism.did.rssi -e wlan_mgt.ssid -a duration:1 > air1.txt 主要代码是: #Main shell script for generating appropriate

下面的代码是捕获SSID(接入点名称)并获取其RSSI(信号功率)平均值的代码的一部分。 我需要有人解释一下这条线到底是做什么的

tshark -i prism0 -Y wlan.fc.type_subtype==0x08  -T fields -e wlan.sa -e prism.did.rssi -e wlan_mgt.ssid -a duration:1 > air1.txt
主要代码是:

#Main shell script for generating appropriate data for histograms
#$1 (first command line parameter): run length
#$2 (second command line parameter): Target SSID
#Usage: should be run as root, example:
# ./histscan.sh 10 Computer

let i=0;
while [ "$i" -lt "$1" ]; do

let i="$i+1";

tshark -i prism0 -Y wlan.fc.type_subtype==0x08  -T fields -e wlan.sa -e prism.did.rssi -e wlan_mgt.ssid -a duration:1 > air1.txt

echo "SSID       AVG-RSSI" > mean.old

RSSI=$(cat air1.txt | grep $2 | cut -f2 | ./rssiMean.sh | cut -d'.' -f1)
if [ -z "$RSSI" ]; then let RSSI=-100; fi
let RSSI="$RSSI+100";
echo $2 "       " $RSSI >> mean.old

cp mean.old mean.rssi

done

这里包含的tshark命令将设置并启动数据包捕获。以下是该行指定的参数

-i prism=>表示应该在名为prism0的接口上执行捕获

-Y wlan.fc.type_subtype==0x08=>指定显示筛选器。因此,此捕获将仅打印出作为接入点信标的802.11帧

-T fields=>输出将只包含您使用所有-e选项指定的数据字段

-e=>要打印的特定字段。在您的情况下,它将是WLAN源地址[基本上是发送信标的接入点的MAC]、RSSI和SSID字段

-持续时间:1=>捕获将运行1秒

air.txt=>tshark命令的输出将定向到此文件