我的思路是直接用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中self和__init__的含义与使用

    原文地址https://blog.csdn.net/love666666shen/article/details/78189984 Python中的self 在Python中的类Class的代码中,常 ...

  2. ####### Scripts Summary #######

    Scripts Summary Version: 1.0.1 issueDate: 2017-11-11 modifiedDate: 2017-11-28 0.configuration 1.oper ...

  3. JAVA_Stream_练习

    package airycode_java8.nice7; import airycode_java8.nice1.Employee; import org.junit.Test; import ja ...

  4. Python杨辉三角

    杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉1261年所著的<详解九章算法>一书中出现.在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个 ...

  5. qDeleteAll 之后必须清空容器

    [1]qDeleteAll应用示例 qDeleteAll源码如下: template <typename ForwardIterator> Q_OUTOFLINE_TEMPLATE voi ...

  6. Java 内存分配

    静态储存区:全局变量,static 内存在编译的时候就已经分配好了,并且这块内存在程序运行期间都存在. 栈储存区:1,局部变量.2,,保存类的实例,即堆区对象的引用.也可以用来保存加载方法时的帧.函数 ...

  7. 设计模式之Flyweight(享元)(转)

    Flyweight定义: 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 为什么使用? 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大, ...

  8. 20165215 2017-2018-2 《Java程序设计》第九周学习总结

    20165215 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程 ...

  9. 深入剖析Kubernetes k8s

    深入剖析Kubernetes k8s 毫无疑问,Kubernetes 已经成为容器领域当之无愧的事实标准.除了 Google.Microsoft 等技术巨擘们在容器领域里多年的博弈外,国内的 BAT. ...

  10. 以太坊客户端Ethereum Wallet与Geth区别简介

    以太坊客户端Ethereum Wallet与Geth区别简介 最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Ge ...