2008/08/04

利用飞信机器人实现服务器远程控制+免费短信报警

先转载原文:

利用飞信机器人实现电脑远程控制看到http://www.it-adv.net/飞信机器人这个东西以后我就想手机和电脑的简单信息传递没有问题了,那手机控制电脑应该也是没有问题的。飞信机器人能让你非常方便的用php或是bash批处理来编插件,我的目的决定我用bash比较方便,其实我也不懂php,看了看作者的插件实现例子我就开始搞了。

飞信机器人plugins目录里plugin_message就是接到一个短信息后执行的bash批处理,好的,要实现手机控制电脑修改这个文件就可以了。那我就改改看,message这个变量是个好东西,收到的短信就存在这里可以成为控制电脑的命令,直接$message就可以在bash里面执行命令了,好,手机信息传递到电脑并可以执行了。下面是电脑返回信息给手机,仔细看了下作者的例子,嗯这俩条命令是好东西 $cmd = "chat$buddy $message" echo$cmd,依葫芦划瓢子就可以了。bash命令返回的信息可以用$(cmd)得到,这是问我同学druggo得到的。好现在各种要件都准备好了,开始组合了。

诶等等,这样不太安全,什么人发给我命令都会执行,不太好吧!又想了想,利用buddy这个变量进行一个验证,代码如下。

plugin_message

代码:

buddy=$1

message=$2

id=575074804

#验证用户

if [ "$buddy" = "$id" ];then

command=$message

fi

#执行命令 (这里的命令只支持那些执行完后回到当前目录的命令 不支持cd ftp 等命令)

$command

#回显执行结果

fb="chat $buddy $($command)"

echo $fb

#log

echo $(date +%D-%T)------------------$command >>command.log

飞信机器人非常方便的让我实现了简单的手机远程控制电脑的功能,我可以用手机执行一些系统命令,也可以执行你编的程序,我就把以前编的一个抓天气预报的python放在飞信机器人根目录里,发一个命令就可以收到天气预报了。唯一不太满意的是需要两个手机号码,中国移不动公司不让你手机发信息给你的飞信账号。感谢作者提供这么方便的一个工具,大家尽可以发挥自己的想像力,实现自己想要的功能,尤其是家电信息化是个趋势,可以想像,只要一个命令短信,让家里打开空调开启音乐迎接你的到来是非常惬意的一件事!

---------------

通过研究作者提供的PLUGIN接口,做为网管,我们可以实现免费的短信提醒。

原理是这样的,

当系统有需要报警的事件时,我们可以向特定的UDP端口(默认40000),发送短信命令,如 sms 13xxxxx alert

即可。

没有评论: