我的思路是直接用nohup守护进程输出结构到指定文件, 然后判断文件中"KEY FOUND"的字段。

启动aircrack-ng方式

nohup aircrack-ng -w /opt/zidian/crackPass/0-9.8位纯数密码.txt /opt/wifi/hejiasheng/-01.cap > hejiasheng.log &

脚本1:chengAircrack.sh

nohup ./chengAircrack.sh > message.log &

这个脚本需要使用nohup启动,指定输出到文件

判断aircrack-ng是否破解成功, 成功则发送邮件通知, 失败不用管, aircrack-ng会自动退出, 当发现aircrack-ng退出后, 下面的clean.sh脚本判断是否杀除运行的两个脚本

#!/bin/bash
function checkModelone(){
echo "获取文件是否破解成功"
grep "KEY" hejiasheng.log > /dev/null
if [ $? -eq 0 ]; then
echo ""
echo "破解成功"
echo "发送邮件到chenglee邮件"
python mail.py
echo ""
echo "判断aircarck-ng是否还在运行"
ps aux|grep aircrack-ng |grep -v grep
if [ $? -ne 0 ]
then
echo ""
echo ""
echo ""
else
echo "aircrack-ng还在运行"
chengkill aircrack-ng
echo ""
echo ""
fi
else
echo ""
echo "穷举失败"
echo "aircrack-ng"
fi
} function checkModeltwo(){
checkModelone
}
while [ true ]; do
/bin/sleep 15
if [ -d "hejiasheng.log" ];then
touch hejiasheng.log
else
if [ -s ./hejiasheng.log ]; then
chengtime=`date "+%Y-%m-%d %H:%M:%S"`
echo "*********************$chengtime*********************"
echo "文件不为空"
checkModelone
du -sh hejiasheng.log
else
echo "文件为空"
checkModeltwo
fi
fi
done

脚本2:clean.sh

判断是否破解成功, 成功就杀死chengAircrack和clean脚本

#!/bin/bash
function checkModelone(){
echo "判断message.log文件"
grep "SUCESS" message.log > /dev/null
if [ $? -eq 0 ]; then
echo "破解成功,杀死chengAircrack"
echo ""
chengkill chengAircrack.sh
echo ""
chengkill clean.sh
else
echo "工作还在继续"
echo "判断aircarck-ng是否还在运行"
ps aux|grep aircrack-ng |grep -v grep
if [ $? -ne 0 ]
then
echo "aircrack-ng已退出"
echo ""
chengkill chengAircrack.sh
echo ""
chengkill clean.sh
echo ""
echo "清理脚本进程完成"
else
echo "aircrack-ng还在运行"
echo ""
fi
fi
} function checkModeltwo(){
checkModelone
}
while [ true ]; do
/bin/sleep 15
if [ -d "message.log" ];then
touch message.log
else
if [ -s ./message.log ]; then
chengtime=`date "+%Y-%m-%d %H:%M:%S"`
echo "*********************$chengtime*********************"
echo "文件不为空"
checkModelone
du -sh message.log
else
echo "文件为空"
checkModeltwo
fi
fi
done

下面是:mail.py

就是这个玩意中的mail.py

根据进程名监控进程(邮件提醒)

我把两个脚本的启动放在一个bash中一起启动命名start.sh

start.sh

#!/bin/bash
nohup ./chengAircrack.sh > message.log &
nohup ./clean.sh &

aircrack-ng后台跑包, 成功后自动发送邮件通知的更多相关文章

  1. 【ASP.NET】VS编译成功后自动生成Nuget包

    在VisualStudio项目中,可以在每次编译成功后自动发布nuget包,具体配置过程如下:   1.下载nuget.exe,放置在Visual Studio项目的根目录下.   2.通过命令行生成 ...

  2. Dynamics 365检查工作流、SDK插件步骤是否选中运行成功后自动删除系统作业记录

    本人微信公众号:微软动态CRM专家罗勇 ,回复298或者20190120可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 系统 ...

  3. 后台启动weblogic成功后,在web浏览器上无法访问

    后台启动weblogic成功后,在web浏览器上无法访问,可尝试重启服务器.

  4. jenkins-构建job成功后自动打tag到git仓库

    需求:最近开发同事提出了个要求,每当Jenkins执行上线部署完成后,对当前代码进行自动打TAG到git仓库中,且只有当部署成功后才进行打TAG,防止构建失败也进行打过多的垃圾tag,然后便于下次进行 ...

  5. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  6. 后台跑包方法 断开ssh程序也能继续执行的方法screen命令

    aircrack-ng -w 字典路径 握手包路径 screen -S 001创建会话 screen -ls  列出窗口列表 screen -r 5位数字  进入会话指令 如果会话恢复不了,则是有可能 ...

  7. jmeter+ant+jenkins+mac 构建后自动发送邮件

    1.安装Email Extension Plugin插件 2.进入系统管理-系统设置,按如下进行设置: ------------------------------------------------ ...

  8. Mac下持续集成-与JMeter与Ant执行后自动发送邮件的整合(性能报告)==

    配置信息如下,其他的为默认的: 添加性能测试报告后,性能测试报告部分构件失败:

  9. Mac下持续集成-与JMeter与Ant执行后自动发送邮件的整合+定时任务

    mac定时任务的开启: Last login: Tue Aug 13 22:49:54 on ttys004 (base) localhost:~ ligaijiang$ sudo launchctl ...

随机推荐

  1. Python random模块random/uniform/randint/choice/getrandbits/shuffle/choice/sample随机函数

    1.random.random() 返回0<=n<1之间的随机实数n 2. random.uniform() 弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限. 3. ...

  2. [xdoj] 1310 DSKer的卡牌游戏

    http://acm.xidian.edu.cn/problem.php?id=1310 1. 这道题可以类比括号匹配,YY和yy是两组可以匹配的信号,当然要注意逻辑是否正确,一开始进行括号匹配算法的 ...

  3. T Y P E L I B R A R I E S库加载

    #---------------------------------------------------------------------------- # T Y P E L I B R A R ...

  4. React/VUE 脚手架2.0和3.0

    react官方脚手架 npm install -g create-react-app create-react-app my-app cd my-app npm start 区别自己对比 vue2.x ...

  5. 闪存卡被创建pv报错

    背景:某机器有2块闪存卡,利用LVM,将其挂载到一个目录供测试使用: 之前厂商已经安装了闪存卡对应的驱动,fdisk可以看到闪存卡信息,但是在pvcreate创建时,遭遇如下错误: # pvcreat ...

  6. javaIO流

    File类(File类的概述和构造方法) A:File类的概述 File更应该叫做一个路径 文件路径或者文件夹路径 路径分为绝对路径和相对路径 绝对路径是一个固定的路径,从盘符开始 相对路径相对于某个 ...

  7. C++调用openssl库生成RSA加密秘钥对

    直接上代码.默认生成的是pkcs#1格式 // ---- rsa非对称加解密 ---- // #define KEY_LENGTH 1024 // 密钥长度 #define PUB_KEY_FILE ...

  8. java空心菱形

    图 1 要输出如图1所示的菱形,第一反应是看看这个菱形有什么特点.在草稿纸上比划了半天,将图1转化成了图2用数字表示的图 图 2 比较图1和图2发现有以下特点: (1)图2中的每一个数字代表图1中每个 ...

  9. 去掉idea中竖线

    1.现象如下: 2.解决办法. 3.解决后如下:

  10. IE浏览器解决无法识别js中getElementsByClassName问题

    关于ie浏览器无法识别js中getElementsByClassName问题,现通过以下方法,引用如下js /** *打印js对象详细信息 */ function alertObj(obj) { va ...