我的思路是直接用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. test4

  2. linux统计文件夹大小

    统计总大小: du -sh dirname 统计文件夹内部各文件大小及总大小: du -h dirname

  3. unity3d-解密加密数据

    利用RijndaelManaged加密解码.需要导入命名空间 using System.Security.Cryptography; 一个很简单的例子,最终的结果 解密和加密类 public clas ...

  4. 问题:mysql服务正在启动 mysql服务无法启动 && mysql启动脚本 mysql关闭脚本

    此篇目编写两个核心目的: 1.mysql服务启动脚本(start_mysql.bat),mysql服务停止脚本(stop_mysql.bat)的讲解. 2.解决问题:mysql服务无法启动. 操作流程 ...

  5. Linux 7.x 设置主机名称

    Linux 7.x 设置主机名称 在Linux7.x 版本中,临时设置主机名称使用指令:hostnamectrl set-name 主机名称 [root@localhost ~]# hostname ...

  6. keras 上添加 roc auc指标

    https://stackoverflow.com/questions/41032551/how-to-compute-receiving-operating-characteristic-roc-a ...

  7. Boss Bo (主席树)

    主要想法:假设给你足够时间,那么就可以对每个点建议一颗线段树来查询了,但是需要将点全部按照某个特定的序列存进线段树,如代码是以树的深搜顺序作为指定顺序,这样以来我们既可以将数据查询分成诺干个区间进行查 ...

  8. 20155228 2016-2017-2 《Java程序设计》第5周学习总结

    20155228 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 异常处理 try-catch语法:JVM执行try区块中的代码,如果发生错误就会跳到catc ...

  9. 爬取小说 spider

    1.代码: # -*- coding:UTF- -*- from bs4 import BeautifulSoup import requests, sys """ 类说 ...

  10. 1 virtual

    1 differents: 'virtual' just in C# In Java It does't have the keyword 2 Usages in C# used in base cl ...