寻找Java Telnet模拟器

寻找Java Telnet模拟器,第1张

寻找Java Telnet模拟器

在这里找到了我想要的东西:http : //twit88.com/blog/2007/12/22/java-writing-an-
automated-telnet-client/

您将需要修改提示变量。

代码副本

import org.apache.commons.net.telnet.TelnetClient;import java.io.InputStream;import java.io.PrintStream;public class AutomatedTelnetClient {    private TelnetClient telnet = new TelnetClient();    private InputStream in;    private PrintStream out;    private String prompt = "%";    public AutomatedTelnetClient(String server, String user, String password) {        try { // Connect to the specified server telnet.connect(server, 23); // Get input and output stream references in = telnet.getInputStream(); out = new PrintStream(telnet.getOutputStream()); // Log the user on readUntil("login: "); write(user); readUntil("Password: "); write(password); // Advance to a prompt readUntil(prompt + " ");        } catch (Exception e) { e.printStackTrace();        }    }    public void su(String password) {        try { write("su"); readUntil("Password: "); write(password); prompt = "#"; readUntil(prompt + " ");        } catch (Exception e) { e.printStackTrace();        }    }    public String readUntil(String pattern) {        try { char lastChar = pattern.charAt(pattern.length() - 1); StringBuffer sb = new StringBuffer(); boolean found = false; char ch = (char) in.read(); while (true) {     System.out.print(ch);     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;    }    public void write(String value) {        try { out.println(value); out.flush(); System.out.println(value);        } catch (Exception e) { e.printStackTrace();        }    }    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 { AutomatedTelnetClient telnet = new AutomatedTelnetClient(         "myserver", "userId", "Password"); System.out.println("Got Connection..."); telnet.sendCommand("ps -ef "); System.out.println("run command"); telnet.sendCommand("ls "); System.out.println("run command 2"); telnet.disconnect(); System.out.println("DONE");        } catch (Exception e) { e.printStackTrace();        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5488686.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存