本文目錄一覽:
- 1、JAVA 訪問交換機的連接狀態
- 2、java ssh登陸交換機執行命令
- 3、java在調用telnet命令後。登錄了交換機,想顯示當前交換機的配置。怎麼將這些配置全部得到???
- 4、怎麼在CMD登陸交換機 路由器
- 5、如何進入交換機界面
- 6、怎麼通過java遠程登錄su h3c交換機
JAVA 訪問交換機的連接狀態
文件傳輸協議(File Transfer Protocol, FTP)FTP是用於在網絡上進行文件傳輸的一套標準協議。它屬於網絡協議組的應用層。
java ssh登陸交換機執行命令
第一步下載java擴展包
第二步:解壓文件把 jar包,拷貝到java的庫目錄下,我的是ubuntu14(/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext )
cp ganymed-ssh2-build210.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext
第三步: 把默認賬戶修改成直接的賬戶密碼
yang@yang:~/Downloads/java/ganymed-ssh2-build210/examples$ cat Basic.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class Basic
{
public static void main(String[] args)
{
String hostname = “127.0.0.1”;
String username = “user”;
String password = “password”;
try
{
Connection conn = new Connection(hostname);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException(“Authentication failed.”);
Session sess = conn.openSession();
sess.execCommand(“uname -a date uptime who”);
System.out.println(“Here is some information about the remote host:”);
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
System.out.println(“ExitCode: ” + sess.getExitStatus());
sess.close();
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
}
第四步: 編譯 javac Basic.java java Basic
Here is some information about the remote host:
Linux yang 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2014年 05月 03日 星期六 17:26:00 CST
17:26:00 up 6:09, 4 users, load average: 0.15, 0.21, 0.23
yang :0 2014-05-03 11:17 (:0)
yang pts/2 2014-05-03 16:34 (:0)
yang pts/26 2014-05-03 17:13 (:0)
yang pts/27 2014-05-03 17:24 (:0)
ExitCode: 0
java在調用telnet命令後。登錄了交換機,想顯示當前交換機的配置。怎麼將這些配置全部得到???
JAVA有開源的SNMP開發包,使用它,你可以與路由器,交換機進行通信。
最後,,這個是java snmp 開源開發包。
怎麼在CMD登陸交換機 路由器
這是網絡設備的一種遠程管理方式,一般使用Telnet登錄,具體過程如下:
在路由器或交換機上配置Telnet登錄賬戶與密碼及權限等;
在電腦上使用Telnet IP地址 登錄到路由器或交換機,其他IP地址是路由器或交換機的管理IP地址;
在登錄接口輸入管理用戶名及密碼,注意密碼是不顯示的。輸入正確後就可以進入路由器或交換機的管理界面,可以根據你的權限對其進行管理配置;
如果沒有在路由器或交換機上配置Telnet登錄密碼,默認情況下是不允許遠程登錄路由器或交換機的,這個是一種安全策略。
如何進入交換機界面
有三種配置方式:
一、使用控制端口配置交換機
步驟:
1、使用控制端口線將異步串行口與交換機連接,配置超級終端為直接連接,連接端口與控制端口線的物理連接一致
2、在windowsxp中,【開始】—【程序】—【附件】—【超級終端】,進入新建連接的「連接描述」窗口
3、在「連接窗口」的名稱框內輸入新建連接名
【確定】進入「連接到窗口」
在「連接到使用」一欄選擇連接端口(與上的控制端口的物理端口一致)
4、對端口(與上的控制端口的物理端口一致)屬性進行逐一設置
5、完成上述過程後對交換機加電,在配置終端按回車進入交換機配置
二、使用telnet配置交換機
必備條件:
1、作為模擬終端的計算機與交換機都必須與網絡連通,他們之間能通過網絡進行通信
2、計算機必須有訪問交換機的權限
3、交換機必須預先配置好設備管理地址,包括ip地址
子網掩碼和缺省路由
4.交換機必須預先配置好控制遠程登錄的密碼
步驟:
進入「運行」窗口
輸入「telnet」命令(格式為:telnet交換機的設備管理地址)
三、使用瀏覽器配置交換機
必備條件;
1、在用於配置的計算機和被管理的交換機上都已經配置好ip地址,他們之間能夠通過網絡進行通信
2、被管理的交換機必須支持HTTP服務,並已啟動該服務
3、在用於管理的計算機中必須安裝有支持Java的web瀏覽器,如Internet
explorer4.0及以上版本
Netscape4.0及以上版本
4、在用於管理的計算機上,需要下載並安裝Java-plogin
5、在被管理的交換機上,需擁有管理權限的用戶賬號和密碼
步驟:
1、啟用交換機的HTTP
server
2、配置HTTP用戶認證方式
3、下載安裝Java-plogin插件(這個先打開交換機主頁依次來就可以)
以上就是我了解的一些關於交換機配置的內容,希望能夠幫到你。(*^__^*)
……
怎麼通過java遠程登錄su h3c交換機
/*我想這就是你想要的telnet吧,既然我下面用的是apache開源包,你下來自己
*看看能不能自己重寫。方法已經給你提供了。
*要是可以的話結題吧.哈O(∩_∩)
*/
import java.io.InputStream;
import java.io.PrintStream;
import org.apache.commons.net.telnet.TelnetClient;
/**
* 利用apache net 開源包,使用telnet方式獲取AIX主機信息
* @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 = “219.243.12.10”;
this.password = “05933663007”;
this.user = “administrator”;
this.port = “23”;
telnet.connect(ip, Integer.parseInt(port));
System.out.println(“開始獲取輸入流…”);
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 {
System.out.println(“開始執行telnet……”);
NetTelnet telnet = new NetTelnet();
// 通過aix的命令「查找主機名稱」獲取數據
// 命令是 “hostname”
// 不熟悉命令的參考AIX網絡管理手冊
System.out.println(“開始發送hostname命令”);
String result = telnet.sendCommand(“hostname”);
System.out.println(“顯示結果”);
System.out.println(result);
// 最後一定要關閉
telnet.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/306334.html