浏览 4826 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-22
最后修改:2011-02-18
http://wenwen.soso.com/z/q251858126.htm)遇到了难题,就是我所在的局域网外网IP是动态的,从而无法用Socket连接外面的客户端了。昨晚无意中翻出了半年前用JavaMail写的邮件收发管理客户端,突然想到了似乎可以用邮箱服务器“代理”。于是兴奋得一夜没合眼,终于尝试着实现了这个想法。根本核心是完全用javamail收发邮件替代了socket通讯。
前阵子做了个远程监控的小软件(
基本思路是:
还有一些调用外部命令如“CMD”之类的等等 比如“{命令:tasklist > c:/task.txt}”指的是将客户端当前系统的进程列表打印输出保存到C盘根目录下的task.txt文件中。一对 “{...}”代表一条指令,“命令”代表该指令是CMD命令。 下面是几张操作过程中的截图: 图1、向客户端发送邮件指令 图2、客户端接收到指令并相应 图3、客户端向服务器的反馈附件 下面介绍几条指令: {错误:Ox4fadde9c"指令引用的"Oxffffffff"内存.该内存不能为"read"}在客户端弹出错误对话框“:”后面的是内容,这是模仿windows弹出的内存错误对话框。像此类对话框还有警告、消息等,如是消息则格式为{消息:消息内容} {命令:md c:/temp}cmd命令创建目录temp {命令:attrib +h c:/temp}隐藏目录temp {命令:dir > c:/temp/dir.txt}将当前目录下的子目录和文件列表信息输出到dir.txt中 {命令:netstat -an > c:/temp/port.txt}将客户端系统端口信息写入到port.txt {命令:taskkill /im QQ.exe /T /F }结束QQ进程 {截图:c:/temp/temp.png}截屏保存为temp.png {附件:c:/temp/dir.txt;c:/temp/port.txt;c:/temp/temp.png}将这些文件作为附件发往服务器 {命令:rd /q /s c:\temp}删除目录temp 每条指令以“{”开始,并以“}”结束 每条指令的第一个“:”前面是指令的类型 测试的时候闹出了笑话,截取这几张图的时候,狂按十几下QQ截图快捷键竟然没反应。原来是QQ进程已经被干掉了,折腾了好久才发现的,狂汗-_-||| 最后用手机邮箱向我的电脑客户端邮箱发送了一条指令{命令:shutdown -s},结果测试通过了电脑关闭了。 主要知识点:javamail的运用,cmd常见命令等 扩充:增加一个服务器端,客户端也加些东西即客户端程序“注册”随系统启动,启动后自动向服务器邮箱发送上线通知提醒服务器。服务器这边随时监听,收到通知语音提示。 至此花了一天一夜没合眼,总算圆满的完成了,兴奋中……泡杯咖啡,VS杀人去…… 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-23
楼主你太有才了~~~
话说 有种叫pushmail的东东,不知道是否也是在循环的刷新呢 |
|
返回顶楼 | |
发表时间:2011-01-24
怎么不用teamviewer啊.
这样的东西早就做过了....用邮件发指令,没什么新鲜的... |
|
返回顶楼 | |
发表时间:2011-01-24
引用 怎么不用teamviewer啊.
这样的东西早就做过了....用邮件发指令,没什么新鲜的... 因为所在的网络是局域网且外网IP是动态的无法用socket实现,后来突然想到用javamail可以处理。这是不是什么新鲜的,我也不是要搞什么软件要达到什么目的,只是用自己学到的东西自娱自乐而已。。。 |
|
返回顶楼 | |
发表时间:2011-01-24
用飞信应该也还是可以吧,应用不复杂的话思路还是很多的哦
|
|
返回顶楼 | |
发表时间:2011-01-24
楼主,你做的“远程监控客户端”程序,是否已经都实现了http://wenwen.soso.com/z/q251858126.htm中提到的7点功能?
如果都实现了,考虑开源吗? 因为我们计划4月份也要开始搞这么个监控的项目,想参考一下。 |
|
返回顶楼 | |
发表时间:2011-01-24
ouchxp 写道 怎么不用teamviewer啊.
这样的东西早就做过了....用邮件发指令,没什么新鲜的... 确实,我看过有家日本公司的一个叫做供应链看板软件,原理好像也是利用邮箱作为中间传送数据。 |
|
返回顶楼 | |
发表时间:2011-01-25
kinganpo 写道 引用 怎么不用teamviewer啊.
这样的东西早就做过了....用邮件发指令,没什么新鲜的... 因为所在的网络是局域网且外网IP是动态的无法用socket实现,后来突然想到用javamail可以处理。这是不是什么新鲜的,我也不是要搞什么软件要达到什么目的,只是用自己学到的东西自娱自乐而已。。。 推荐你用teamviewer,内网外网神马的都是浮云... |
|
返回顶楼 | |