- 浏览: 1608730 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (603)
- T_java (145)
- T_script&ASP (51)
- T_C/C++ (25)
- T_PowerBuilder (11)
- T_Database (53)
- T_odoo (7)
- T_应用服务器 (50)
- T_专_条形码 (6)
- T_专_负载均衡器 (4)
- T_操作系统 (94)
- T_信息安全 (41)
- T_专_搜索引擎 (14)
- T_L_PHP (58)
- T_L_Delphi (18)
- T_L_.NET、C#、VisualStudio (25)
- T_L_Objective-C (6)
- T_移动开发 (53)
- T_网络 (109)
- T_大数据 (2)
- T_嵌入式 (2)
- T_小众技术 (24)
- T_未分类 (58)
- L_旅游印记 (1)
- L_生活随笔 (48)
- L_中国文化 (18)
- L_户外与生存 (0)
最新评论
-
csbean4004:
不知道哪传来得恶习,发帖子不好好发,故意弄错一些东西,很讨厌
让HTML5支持后置摄像头 -
withthewind:
终于找到一个可以用的了。。。
如何用VBA取得Word文档中的标题前面的序号 -
busbby:
兄弟,无法下载,说文件不完整
一个好用的Outlook ost格式文件转pst文件的工具 -
yijavakevin:
密码啊~解压密码多少?
一个二维条形码组件 -
vipbooks:
你给的那个链接根本无法下载,跳到官网看了下最新版12M,但点下 ...
十步以内完成精细web打印
This is a piece of code that I just developed out of fun, but it helped to resolve one of my recent problem.
I was running a batch job in one of the Unix server. It was already 10 p.m. I had not taken my dinner yet. The batch was going to take long time to finish, maybe 5 to 7 hours. I had to monitor it to make sure it is completed by tomorrow so that someone else could proceed with his work. Going back home and coming back was troublesome. I wished that I could monitor the job remotely, but the server is protected by firewall. The only port opened is port 80.
I was wondering if there is anything that I can do so that I can monitor the Unix server remotely, bypassing the firewall. Then I stumbled upon the idea – why not use Twitter to achieve it ??
I came out with the code to do that in roughly 1 hour. It may not be perfect, but at least it achieved what I wanted to do.
Using the program, I can monitor my server remotely. Below is a screenshot of the output using WinTwit
<!--adsense-->
By sending the command starting with “RUN@”, it will be executed by a Java process running on the server. The output will be sent back to Twitter and get refreshed at WinTwit.
To start with, you need to configure the proxy server, proxy port, and your Twitter settings in the properties file.
twitter.user.name=
twitter.user.password=
twitter.check.interval.seconds=5
http.proxyHost=
http.proxyPort=
TwitterPoller loads the properties from the configuration file, and starts TwitterExecutor, which is a Java TimerTask.
public static void main(String args[]) { try { Properties systemSettings = = System.getProperties(); systemSettings.load( TwitterExecutor.class.getResourceAsStream( CONFIG_FILE)); System.setProperties(systemSettings); long interval = Long.parseLong(System.getProperty(CHECK_INTERVAL)); Timer timer = new Timer(); timer.schedule(new TwitterExecutor(), 0, interval * 1000); } catch (IOException e) { System.err.println(e.getMessage()); e.printStackTrace(); } }
In TwitterExecutor, I poll Twitter, run the command, and send back the results to Twitter.
Twitter twitter = new Twitter(userName, password); Twitter.Status status = twitter.getStatus(userName); if (status.getText().startsWith(EXEC_PATTERN)) { String cmds[] = status.getText().split(EXEC_PATTERN); String cmd = ""; for (String str : cmds) { cmd += str; } System.out.println("Running command: " + cmd); ExecutorResult result = execute(cmd); System.out.println("Output: " + result.getOutput()); System.out.println("Exit: " + result.getExitStatus()); if (result.getOutput() != null) { String output = result.getOutput(); if (output.length() > 130) { int count = output.length() % 130; for (int i = 0; i < count; i++) { int startIndex = i * 130; int endIndex = (i * 130) + 130; if (endIndex > output.length()) endIndex = output.length() - 1; String text = output.substring(startIndex, endIndex); twitter.updateStatus(text); } } else { twitter.updateStatus(output); } } } else { System.out.println("Not a command: " + status.getText()); }
<!--adsense-->
The Java program size is very small. It takes very little memory and has no other dependencies. All you need is JDK 1.5.
The jar file twittersh.jar and config.properties are all you need. To run it,
java -cp <path to config.properties folder>:<path>/twittersh.jar com.twt.twitter.TwitterPoller
Note:
- This code is developed in a short time frame, and may not be bug free.
- The program is actually a backdoor which violates company security policies. I would advise that you use it wisely.
- Last, do not abuse Twitter
<script type="text/javascript"></script>
发表评论
-
SpringBoot Fat Jar解压运行
2018-06-28 21:40 2258SpringBoot已经成为当前最流行的微服务 ... -
一句话实现五星评分显示
2018-06-05 08:31 997Python: rate = 1 #rate 取值 ... -
在Ubuntu 18.04 Bionic Beaver上安装Wine
2018-05-04 15:41 2254目标 目标是在Ubuntu 18.04 Bio ... -
来算google的可视化编程工具——Blockly,不仅仅是玩具
2017-10-16 21:34 33120Blockly - 来自Google的可 ... -
Linux挂载阿里云对象存储OSS作为本地磁盘扩充空间备份网站
2017-09-25 08:54 1932p.s.挂载oss之后,使用rsync可以同步图片数据,非 ... -
安卓动态分析工具 Inspeckage
2017-08-07 08:46 0工具介绍 一个基于Xposed 开发的应用动态分析工具 g ... -
Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息
2017-08-07 08:37 0一、猜想数据存放路径 微信现在是老少皆宜,大街小巷都在使用 ... -
破解微信数据库 并查询数据上传服务器
2017-08-07 08:29 0由于工作需求破解了微信的数据库 并获取想要的信息上传服 ... -
安卓黑科技之HOOK详解
2017-08-07 08:21 0本文带大家进入到安卓另一个世界 互联网攻防大战 Xpos ... -
安卓逆向之基于Xposed-ZjDroid脱壳
2017-08-07 08:18 0前言 之前介绍了普通常见的反编译模式 但对于使用了 360 ... -
十步以内完成精细web打印
2017-06-21 11:44 7367注意: 康虎云报表组 ... -
docker的一些使用技巧
2017-05-26 09:20 5551、如何以root用户进入一个正在运行的容器? docke ... -
Windows批处理中如何实现延时?
2017-05-12 20:56 1667Windows下批处理文件没有像Linux一样的Sleep函 ... -
浏览器端精准打印或套打组件
2017-01-18 13:05 6695注意: 康虎云报表 ... -
让ie6 7 8 9支持html5 websocket
2016-12-23 20:52 2315结果: 从github上的 web ... -
网站获取用户手机号码的方法、系统、客户端及服务器(坑爹的玩意儿)
2016-11-22 14:22 2277网站获取用户 ... -
Sql注入之sqlmap+dvwa实例演练
2016-10-27 16:27 1592Sql注入之sqlmap+dvwa实例演练 相信 ... -
在CentOS上安装Gitlab
2016-10-09 22:04 1146因为涉及的依赖多,所以新手在安装Gitlab时往往遇到不少障 ... -
Ubuntu16.04上安装MT7601网卡驱动(TL-W725N/W725N)
2016-09-15 23:01 0I suggest you get a temporary ... -
疯狂软件对Oracle放弃Java EE的看法
2016-08-14 22:38 525来源:http://javaligang ...
相关推荐
- **简介**:rtop是一款用Go语言开发的远程服务器监控工具。 - **最新版本**:rtop,此版本发布于一年前。 - **功能**: - 远程服务器监控; - 系统资源监控; - 性能分析。 #### 网络监控框架PFQ - **简介**:...
- **专业团队支持**(NTTA):提供全天候的远程技术支持,确保快速响应各种紧急情况。 - **不依赖云服务**:尽管尝试过云服务,但由于对原始处理能力和低延迟的要求较高,最终选择自建数据中心。 - **解决实际问题**...
Zabbix支持自动发现、远程监控以及复杂的触发器和通知机制等功能。由于其高度可定制性和灵活性,Zabbix被广泛应用于各种规模的企业环境中,包括那些采用复杂IT基础设施的企业。 #### 三、Mesos概述 Apache Mesos是...
Hibernate作为ORM(对象关系映射)工具,提高了数据库操作的效率,还包含了RPC(远程过程调用)机制,消息队列,持久化层,缓存服务,命名服务,容器管理,表示层,任务调度,系统监控,事务处理和安全性等核心功能...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
Zipkin是一个由Twitter开发的开源项目,用于收集和分析服务监控数据。它提供了可视化的界面,让用户可以方便地查看和分析调用链路,找出系统中的性能瓶颈。在Spring Cloud Sleuth中,Zipkin作为默认的后台监控工具...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
LogView是一个基于Django框架开发的日志管理系统,主要用于远程查看Linux主机上的日志文件。这个系统结合了Python的强大力量、Django的高效Web开发能力以及MySQL的可靠数据库存储,为用户提供了方便的日志查看和管理...