/***
** 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 java.io.PrintStream;
import org.apache.commons.net.telnet.TelnetClient;
/**
* 利用apache net 开源包,使用telnet方式获取AIX主机信息
* @author zhaoyl
* @date 20008.7.21
* @version 1.2
*/
public class NetTelnet {
//Telnet对象
private TelnetClient telnet = new TelnetClient();
private InputStream in;
private PrintStream out;
//提示符。具体请telnet到AIX主机查看
private char prompt = '#';
//telnet端口
private String port;
//用户
private String user;
//密码
private String password;
//IP地址
private String ip;
public NetTelnet() {
try {
//AIX主机IP
this.ip = "10.1.2.222";
this.password = "loeisdke";
this.user = "whdiwpasdq232sd2323";
this.port = "23";
telnet.connect(ip, Integer.parseInt(port));
in = telnet.getInputStream();
out = new PrintStream(telnet.getOutputStream());
//登录
readUntil("login: ");
write(user);
readUntil("Password: ");
write(password);
readUntil(prompt + " ");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 读取分析结果
* @param pattern
* @return
*/
public String readUntil(String pattern) {
try {
char lastChar = pattern.charAt(pattern.length() - 1);
StringBuffer sb = new StringBuffer();
char ch = (char) in.read();
while (true) {
sb.append(ch);
if (ch == lastChar) {
if (sb.toString().endsWith(pattern)) {
return sb.toString();
}
}
ch = (char) in.read();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 写
* @param value
*/
public void write(String value) {
try {
out.println(value);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 向目标发送命令字符串
* @param command
* @return
*/
public String sendCommand(String command) {
try {
write(command);
return readUntil(prompt + " ");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 关闭连接
*
*/
public void disconnect() {
try {
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
NetTelnet telnet = new NetTelnet();
//通过aix的命令“查找主机名称”获取数据
//命令是 "hostname"
//不熟悉命令的参考<<AIX网络管理手册>>
String result = telnet.sendCommand("hostname");
System.out.println(result);
//最后一定要关闭
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
在这个"commons-net-jar包.zip"压缩包中,包含了两个版本的Apache Commons Net库:commons-net-3.3.jar和commons-net-3.4.jar。这两个版本虽然相差不大,但每个新版本通常会带来一些改进和修复,使得开发者能够更...
赠送jar包:commons-net-3.8.0.jar; 赠送原API文档:commons-net-3.8.0-javadoc.jar; 赠送源代码:commons-net-3.8.0-sources.jar; 赠送Maven依赖信息文件:commons-net-3.8.0.pom; 包含翻译后的API文档:...
赠送jar包:commons-net-3.3.jar; 赠送原API文档:commons-net-3.3-javadoc.jar; 赠送源代码:commons-net-3.3-sources.jar; 赠送Maven依赖信息文件:commons-net-3.3.pom; 包含翻译后的API文档:commons-...
TelnetClient包,TelnetClient类根据RFC 854为Telnet协议实现了简单网络虚拟终端(NVT)。它没有实现任何其他Telnet选项,因为它打算在Java程序中使用,以提供对Telnet可访问资源的自动访问。 可以通过首先使用Socket...
使用apache commons-net包实现文件ftp上传
在这个版本中,我们聚焦于`commons-net-3.6.jar`,它提供了丰富的API和工具,使开发者能够方便地进行FTP文件的上传、下载以及读写操作。这个库不仅简化了FTP操作,还为开发者提供了深入理解其内部工作原理的机会,...
apache-jakarta-commons-codec.jar apache-jakarta-commons-collections.jar apache-jakarta-commons-discovery.jar apache-jakarta-commons-email.jar apache-jakarta-commons-fileupload.jar apache-jakarta-...
1.3.1-bin commons-fileupload-1.3-bin commons-io-2.4-bin commons-jexl-1.1 commons-lang-2.6-bin commons-lang3-3.4-bin commons-launcher-1.1 commons-logging-1.2-bin ccommons-math-2.2 commons-net-...
Apache Commons ID 和 Commons Discovery 是两个在Java开发中广泛使用的开源库,它们是Apache软件基金会的项目,为开发者提供了丰富的工具和功能。 Apache Commons ID 主要关注于生成唯一标识(ID)的功能,它提供...
3. **commons-net-examples-3.6.jar**:包含了一些示例代码,演示了如何使用Apache Commons Net库的各种功能。这些例子是学习和快速上手的良好起点,可以帮助开发者快速理解和应用库中的函数。 此外,压缩包中还有...
jar包大小:135KB commons-validator-1.3.1.jar jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar jar包大小:60KB commons-pool-1.3....
Apache的FTP库是Java开发中一个非常实用的工具,它主要包含了两个核心的JAR包:`commons-net-1.4.1.jar`和`jakarta-oro-2.0.8.jar`。这两个包提供了丰富的功能,允许开发者在Java应用中实现FTP(文件传输协议)的...
本文将深入解析`commons-net-3.6.jar`包,了解其核心功能、使用方法以及在实际开发中的应用。 Apache Commons Net库自1999年以来就一直在为Java开发者提供服务,它的主要目标是提供一套全面且易于使用的API,用于...
Apache commons-csv-1.6 jar包,java7,针对csv的各种操作,需要的下载
赠送jar包:commons-net-3.8.0.jar; 赠送原API文档:commons-net-3.8.0-javadoc.jar; 赠送源代码:commons-net-3.8.0-sources.jar; 赠送Maven依赖信息文件:commons-net-3.8.0.pom; 包含翻译后的API文档:...
赠送jar包:commons-math3-3.5.jar; 赠送原API文档:commons-math3-3.5-javadoc.jar; 赠送源代码:commons-math3-3.5-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.5.pom; 包含翻译后的API文档:...
7. **其他网络协议**:除了FTP,Apache Commons Net还支持其他网络协议,如NNTP(新闻传输协议)、SMTP(简单邮件传输协议)和Telnet等,扩展了其在网络通信中的应用范围。 8. **兼容性与稳定性**:作为Apache软件...
赠送jar包:commons-net-2.2.jar; 赠送原API文档:commons-net-2.2-javadoc.jar; 赠送源代码:commons-net-2.2-sources.jar; 赠送Maven依赖信息文件:commons-net-2.2.pom; 包含翻译后的API文档:commons-...
apache commons jar(commons所有的jar包... apache-sanselan-incubating-0.97-bin bcel-5.2 commons-beanutils-1.9.2-bin commons-chain-1.2-bin commons-cli-1.3.1-bin commons-codec-1.10-bin commons-collections4-4
"commons-io-2.5.jar"是Apache Commons IO库的一个版本,针对JDK 1.6及更高版本设计。在这个版本中,用户可以找到许多优化和增强的功能。 1. **IOUtils**: IOUtils是Apache Commons IO中的核心类之一,它提供了大量...