java 远程登录,java操作telnet远程登录

importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;importjava.net.SocketException;importorg.apache.commons.net.telnet.TelnetClient;public classClient {public static voidmain(String[] args){try{

TelnetClient tc= newTelnetClient();

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("[email protected]:~#", in));

writeUtil("ls -l / ", os);

System.out.print(readUntil("[email protected]:~#", in));

writeUtil("ip addr ", os);

System.out.print(readUntil("[email protected]:~#", in));

writeUtil("ip route ", os);

System.out.print(readUntil("[email protected]:~#", in));

}catch(SocketException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}/*** 写入命令方法

*@paramcmd

*@paramos*/

public static voidwriteUtil(String cmd, OutputStream os){try{

cmd= cmd + "\n";

os.write(cmd.getBytes());

os.flush();

}catch(IOException e) {

e.printStackTrace();

}

}/*** 读到指定位置,不在向下读

*@paramendFlag

*@paramin

*@return

*/

public staticString readUntil(String endFlag, InputStream in) {

InputStreamReader isr= newInputStreamReader(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();

}returnstr;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值