我的思路是直接用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. Flume:sink.type=hive

    Flume以Kafka为Source,以Hive为Sink进行数据转存. 业务背景:公司要求将某四川城市的卡口数据实时接入大数据平台中,历史数据可以通过Hive进行Load,也就是增量数据的对接问题. ...

  2. Lambda引言

    Lambda表达式:可以方便我们把方法当做参数传递 package airycode_java8.nice1; import org.junit.Test; import java.util.*; / ...

  3. 80x86的内存寻址机制

    80x86的内存寻址机制 80386处理器的工作模式: 模式. 模式之间可以相互转换,而模式之间不可以相互转换. DOS系统运行于实模式下,Windows系统运行与保护模式下. 实模式: 80386处 ...

  4. Mysql常规优化

    一.SQL语句优化 (1)使用limit对查询结果的记录进行限定(2)避免select *,将需要查找的字段列出来(3)使用连接(join)来代替子查询(4)拆分大的delete或insert语句 二 ...

  5. [openjudge-搜索]广度优先搜索之鸣人和佐助

    题目描述 描述 佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置.地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸 ...

  6. canvas添加水印

    <canvas id="canvas"></canvas><canvas id="water"></canvas> ...

  7. 安装vm tools时出现如下问题 The path "/usr/bin/gcc" is not valid path to the

    sudo suapt-get updateapt-get dist-upgradeapt-get install open-vm-tools-desktop fusereboot https://bl ...

  8. 【Alpha版本】冲刺阶段——Day1

    [Alpha版本]冲刺阶段--Day1 阅读目录 Alpha 阶段成员分工及任务量 团队成员贡献值的计算规则 明日任务 今日贡献量 站立式会议 TODOlist [Alpha 阶段成员分工及任务量] ...

  9. Linux基础命令---arch

    Arch         Arch指令主要用于显示当前主机的硬件结构类型,我们可以看到它输出的结果有:i386.i486.mips.alpha等.此命令的适用范围:RedHat.RHEL.Ubuntu ...

  10. golang学习笔记15 golang用strings.Split切割字符串

    golang用strings.Split切割字符串 kv := strings.Split(authString, " ") if len(kv) != 2 || kv[0] != ...