首页 > 代码库 > java操作telnet远程登录
java操作telnet远程登录
import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.SocketException; import org.apache.commons.net.telnet.TelnetClient; public class Client { public static void main(String[] args){ try { TelnetClient tc = new TelnetClient(); tc.connect("192.168.100.8", 23); InputStream in = tc.getInputStream(); OutputStream os = tc.getOutputStream(); System.out.print(readUntil(":", in)); writeUtil("root", os); System.out.print(readUntil(":", in)); writeUtil("freewificom", os); System.out.print(readUntil("root@WiAC:~#", in)); writeUtil("ls -l / ", os); System.out.print(readUntil("root@WiAC:~#", in)); writeUtil("ip addr ", os); System.out.print(readUntil("root@WiAC:~#", in)); writeUtil("ip route ", os); System.out.print(readUntil("root@WiAC:~#", in)); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 写入命令方法 * @param cmd * @param os */ public static void writeUtil(String cmd, OutputStream os){ try { cmd = cmd + "\n"; os.write(cmd.getBytes()); os.flush(); } catch (IOException e) { e.printStackTrace(); } } /** * 读到指定位置,不在向下读 * @param endFlag * @param in * @return */ public static String readUntil(String endFlag, InputStream in) { InputStreamReader isr = new InputStreamReader(in); char[] charBytes = new char[1024]; int n = 0; boolean flag = false; String str = ""; try { while((n = isr.read(charBytes)) != -1){ for(int i=0; i< n; i++){ char c = (char)charBytes[i]; str += c; //当拼接的字符串以指定的字符串结尾时,不在继续读 if(str.endsWith(endFlag)){ flag = true; break; } } if(flag){ break; } } } catch (IOException e) { e.printStackTrace(); } return str; } }
java操作telnet远程登录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。