多语言展示
当前在线:647今日阅读:86今日分享:14

上古神器发威,断网自动发短信告警

现在很多人家里安装了网络摄像头、门磁传感器、煤气泄漏等等各种安防装置,可这些东东都有一个致命的缺陷:一旦网络断了,就毫无用处。如果小偷聪明一点,在开门之前先把你家的光纤剪断,或者把你家的市电弄断。。。显而易见,家里的市电或网络一被破坏,几乎所有的家用安防设施都基本变成了摆设,除了仅有的本地警报声。如果能在第一时间知道家里断网了、断电了,就可以及时采取措施,避免更大的损失。
工具/原料
1

windows10笔记本电脑一台

2

上网卡一个+有效SIM一张

方法/步骤
1

第一步:前提条件家里有笔记本电脑,破点烂点没关系,只要运行稳定、电池还能用10分钟以上就行;必须得有上网卡(机器内置的、USB的都行)+SIM卡,只要能发短信就行。电脑最好用网线连接路由器(我是这么做的,使用WiFi的可参考自行调整),网线的好处是稳定可靠,在路由器断电后很快就可以触发告警。电脑位置要确保上网卡有信号,为安全起见,可以放在较为隐蔽的地方,把屏幕亮度调到最低最好完全关掉屏幕。电脑的功耗越小越好,但一定要禁止休眠!我用的是Windows10,Win7应该也可以,有兴趣的自己试试吧。

2

第二步:准备脚本文件PowerShell脚本文件,文本格式,后缀为.ps1,各只有7行。2个文件分别对应断电和断光纤,只有第5行的短信内容不同,其余6行完全相同。需要根据自己的情况修改的内容有:上网卡的串口号(第1行)、接收短信的手机号(第4行)。短信内容可以自行修改(第5行,暂时只支持英文,熟悉AT命令集的可以自行修改脚本改成中文短信)。保存修改后,记住保存的路径!文件内容:$cport=new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one$cport.open()$cport.WriteLine('AT+CMGF=1`r')$cport.WriteLine('AT+CMGS=''+861xxxxx''`r')$cport.WriteLine('!!! Network Cable Disconnected !!! `r')$cport.WriteLine([Char]0x1A)$cport.Close()如图1,我用的路径是c:\test\,文件名分别为cable.ps1和dns.ps1

3

第三步:调整PowerShell脚本执行策略Windows默认的策略是禁止脚本,Restricted,要修改成RemoteSigned,意思是远端的要签名才能运行,本地的随意。还算是比较让人放心的。要以管理员身份打开PowerShell,输入set-executionpolicy RemoteSigned回车就可以了。图2,设置脚本执行策略

4

第四步:找出触发事件、设置计划任务首先是网线断开事件(路由器断电)。打开“事件查看器”、“Windows日志”、把“系统”事件清除,这样比较容易进行下面的步骤。把网线拔掉,稍等几秒刷新下事件查看器,就可以看到网线断开对应的事件了。右键点击这个事件、选“将任务附加到此事件(T)...”下一步,直到“启动程序”,在 “程序或脚本(P):” 那儿输入“PowerShell' 、在 ”添加参数(可选)(A):“ 那儿输入 cable.ps1文件的绝对路径(比如我的是“C:\test\cable.ps1”)、在 “起始于(可选)(T):”那儿输入文件的所在目录(C:\test\)。详见下面的图7.关键:打开该计划任务的属性、打开“条件”,取消“只有在计算机使用交流电源时才启动此任务(P)”前面的勾!完成。图3,网线断开事件,每台电脑可能都会不太一样图4,另一台电脑拔掉网线的事件,事件ID不一样、警告级别也不一样图5,设置好的计划任务,一定要把红圈里的勾勾点掉!另一个任务就是DNS服务器超时用的,对应的就是光纤断开的事件。

5

第五步:测试插上网线,等电脑认出网线后再拔掉(或者关闭路由器电源,当然会影响其他上网的东东),等待手机接收短信。一般也就几秒钟延迟。图6,测试收到的短信,分别对应拔网线和拔光纤

6

第六步:重复上述两步,设置DNS超时事件。这个事件对应的就是光纤断开,延迟比网线断开要长一些,但一般也不会超过1分钟。测试时千万不要真的把光纤剪断(-:除非你自己能换),把光纤头从光猫上拔下来……图7,拔掉光纤后发生的DNS超时事件图8,DNS超时对应任务中操作的定义,网线断开除文件名为cable.ps1外其他一样

7

最后,如果你家里的电话线还是原来的铜线、埋在墙里比较安全的话,打电话是比发短信更好的一种告警方式。还可以利用更加上古的神器——普通MODEM,实现自动拨打电话。我家里的电话是光猫带的,在断电、光纤断的情况下电话肯定也不通~所以这招我就不尝试了当然,要自行修改脚本,还要解决语音样本。怎么样?很简单吧?感兴趣的可以尝试一下,反正我自己觉得还比较满意。收到上面设置的短信/电话后,第一时间检查确认家里的网络/电源状态,确认断了之后建议报警求助物业邻居尽快赶回家,最好能把小偷或搞破坏的混蛋摁在现场。关键词:断网 远程告警 自动发短信

注意事项
1

电脑必须禁止休眠、睡眠

2

串口号一定要正确、电话号码别忘了改

3

第4步中的红圈一定要注意,否则停电了是发不出短信的!

推荐信息