bash - Bash airbase-ng AP 警报
问题描述
我想制作一个 bash 脚本,当具有特定 MAC 地址的设备连接到我的“MyNetwork”AP 时输出一条消息。
airbase-ng -a 00:00:00:00:00:00 --essid "MyNetwork" -c 6 wlan0mon | grep 'BB:BB:BB:BB:BB:BB'
此命令正确输出仅包含特定 MAC 地址的 airbase-ng 行:BB:BB:BB:BB:BB:BB
将此命令添加到 bash 脚本时,即使我使用正确的 MAC 地址连接,也不会输出“Hello iPhone”消息
解决方案
#!/bin/bash
while true; do
if airbase-ng -a 00:00:00:00:00:00 --essid "MyNetwork" -c 6 wlan0mon -q | grep 'BB:BB:BB:BB:BB:BB';
then
echo "Hello iPhone!"
fi
#insert exit condition here
if false; then
break
fi
#5 second sleep
sleep 5
done
我究竟做错了什么?
解决方案
您可能也不想不停地运行它。所以加个睡眠。把它们放在一起。
#!/bin/bash
while true; do
if [[ $(airbase-ng -a 00:00:00:00:00:00 --essid "MyNetwork" -c 6 wlan0mon | grep 'BB:BB:BB:BB:BB:BB') ]];
then
echo "Hello iPhone!"
fi
#insert exit condition here
if false; then
break
fi
#5 second sleep
sleep 5
done
您可能还应该添加某种退出条件。不管那是什么,就break
在那。
推荐阅读
- php - 用选择的变化选项价格替换可变 GravityFroms 价格范围
- mysql - 将从json值中提取的字符串转换为返回NULL的日期
- c# - WPF填充DataGrid
- python - 关于在python中使用正则表达式的字符串问题
- java - 如何从现有的 c 项目(协和)为 JNI 创建 .dylib
- python - Django Rest Framework 序列化错误:类型类型的对象不是 JSON 可序列化的
- java - Spring Boot @ExceptionHandler 在开发服务器上工作但不在本地
- android - 使用 Amazon S3 TransferUtility 文件作为 Fresco 的图像源
- oracle - Oracle实体框架代码第一个日期时间生成为日期而不是时间戳
- security - 如何使用密码对 .p12 进行字典攻击(教育目的)