|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-07-25 关键字: commons-net-1.4.1 telnet aix主机
/*** ** QQ:252574345 ** MSN:lele_love_lomboz@hotmail.com ***/
一。AIX简介
AIX全名为Advanced Interactive Executive,俗称“An IBM uniX”或“Advanced IBM uniX”。 作为综合评价第一的unix操作系统(D.H. Brown咨询公司,1998年 ),AIX是真正的第二代unix,具有性能卓越、易于使用、扩充性强、适合企业关键应用等众多特点。 支持300种以上的IBM软件和超过13000家独立软件厂商的软件产品。 是非常优秀的操作系统 在银行、电力系统、电信移动等企业应用很广泛 下面,我们介绍下对AIX系统的信息采集
二。 下面是一个利用apache commons-net 开源包, 使用telnet方式连接的工具类 实现对AIX主机信息的采集 因为提示符已经写死了,如果采用本例,请先按照自己的真实环境修改提示符和用户名和密码 等基本信息
package test.collector.telnet; import java.io.InputStream; import org.apache.commons.net.telnet.TelnetClient; /** //Telnet对象 private PrintStream out; public NetTelnet() { in = telnet.getInputStream(); /** char ch = (char) in.read(); sb.append(ch); /** } catch (Exception e) { /** public static void main(String[] args) { 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-09-24
我有一个问题,当我用readUntil("login:")时,while循环里边的判断满足判断后并没有return 出来
而是会一直读数据,造成了死循环。 这是为什么啊? |
|
| 返回顶楼 | |
|
最后更新时间:2008-09-24
if (ch == lastChar) {
if (sb.toString().endsWith(pattern)) { return sb.toString(); } 请先debug,2个条件是否都满足了 我刚才在aix低版本,5版本下测试都没问题 具体问题在贴出来,一起看看 |
|
| 返回顶楼 | |
|
最后更新时间:2008-09-24
问题已经解决了
我测试的HP的UNIX服务器,我为了看到执行的过程 则System.out.println(readUntil("login:"))、System.out.println(readUntil("Password:"))等信息,所以导致了很大的内存被吃掉了,把这些语句屏蔽掉就没有问题了。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-09-24
ok,问题解决就好了,呵呵我也学到了点
|
|
| 返回顶楼 | |
|
最后更新时间:2008-09-24
1 可以先export PS1=YOUR_PATTERN
2 持有这个链接很不稳定,耗资源,所以用nohup... |
|
| 返回顶楼 | |
|
最后更新时间:2008-09-25
嗯,楼上正解,确实如此。这个只是个demo
|
|
| 返回顶楼 | |
浏览 415 次




