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远程登录的更多相关文章

  1. 【RL-TCPnet网络教程】第31章 Telnet远程登录基础知识

    第31章      Telnet远程登录基础知识 本章节为大家讲解Telnet (Teletype Network) 的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) 31.1   ...

  2. Telnet远程登录

    假设 电脑A Telnet远程登录 电脑B (Windows) 1.电脑B: 关闭防火墙 开启Telnet服务:“我的电脑”-->“管理”-->“服务”-->Telnet开启 2.电 ...

  3. Packet Tracer 5.0实验(一) 交换机的Telnet远程登录设置

    一.实验目标 掌握采用telnet方式配置交换机的方法 二.技术原理 配置交换机的管理IP地址(计算机的IP地址与交换机管理IP地址在同一网段): 为telnet用户配置用户名和登录口令: enabl ...

  4. 华为S5700交换机初始化和配置SSH和TELNET远程登录方法

    基础设置: 配置登陆IP地址<Quidway> system-view                                                            ...

  5. H3C 交换机设置本地用户和telnet远程登录配置 v7 版本

    H3C 交换机设置本地用户和telnet远程登录配置   v7版本 一.配置远程用户密码与本地用户一致 [H3C]telnet server en //开启Telnet 服务 [H3C]local-u ...

  6. 网络实验 02-交换机的Telnet远程登录设置

    交换机的Telnet远程登录设置 一.实验目标 掌握采用telnet方式配置交换机的方法 二.技术原理 1. 配置交换机的管理IP地址(计算机的IP地址与交换机管理IP地址在同一网段) 2. 为tel ...

  7. java通过telnet远程至windows机器执行dos命令

    准备工作,远程windows机器中开启telnet服务,将远程登录用户添加至telnetClients用户组 核心代码: import java.io.IOException; import java ...

  8. telnet远程登录协议

    什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具.一旦入侵者与远程主机建立了Telnet ...

  9. Linux telnet远程登录操作

    telnet  (如果不行 可以却换root帐户试试 su - root) 1.安装telnet-server     sudo dpkg -i xinetd_1%3a2.3.14-7ubuntu3_ ...

随机推荐

  1. 今天 运营同事发现的bug记录 上传商品时商品名称带双引号 导致输出页面时 双引号被转义

    例如  ”sk||““美白”淡化 这样输出表单页面时显示出来的只有sk||  解决办法 把输出文字对双引号进行转义

  2. Xcode中SVN不能提交.a及其他文件

    Xcode默认忽略的.a 文件.所以无法提交到svn服务器,但是很多第三方的库都有.a文件.所以还是必须提交到服务器. 搜索了一下解决方案: http://wpt205.blog.163.com/bl ...

  3. 素小暖讲JVM:Eclipse运行速度调优

    本系列是用来记录<深入理解Java虚拟机>这本书的读书笔记.方便自己查看,也方便大家查阅. 欲速则不达,欲达则欲速! 这两天看了JVM的内存优化,决定尝试一下,对Eclipse进行内存调优 ...

  4. Java线程——线程习题(一)子线程执行10次后,主线程再运行5次,这样交替执行三遍

    题目:子线程执行10次后,主线程再运行5次,这样交替执行三遍 代码如下: package com.itheima.gan; /** * 子线程执行10次后,主线程再运行5次,这样交替执行三遍 * @a ...

  5. Constant expression required

    switch 语句编译报错Constant expression required 问题:case语句后面必须是常量,使用final修饰 public static final int NotifyT ...

  6. Single设计模式

    JavaSE基础中学习的single设计模式复习: * 单列设计模式概念理解:用程序实现在存储中只能有一个对象. *  * 恶汉式实现思路分析: * 1.如何实现类不能被其他人多次创建呢? * 实现: ...

  7. python-day6爬虫基础之会话、Cookies、代理

    由于前几天看电脑时间过长,在昨天的时候,两个眼睛就有点疼痛感觉,所以昨天晚上就没有学习,博客也没有跟着写,今早去校医院买了点药,上午把老师要求的电路板画完了,已经发出去做了,现在闲来无事,看了一会关于 ...

  8. Linux 安装python3.x步骤

    本文转发自博客园非真的文章,内容略有改动 本文已收录至博客专栏linux安装各种软件及配置环境教程中 linux系统本身默认安装有2.x版本的python,版本x根据不同版本系统有所不同,通过pyth ...

  9. dubbo的重试原则

    验证思路.使用超时来验证重试次数 XML 注解

  10. ZEOSDBO控件的安装及使用方法

    步骤:1:下载最新版的ZEOSDBO,官网:http://sourceforge.net/projects/zeoslib/ 2:解压文件到文件安装目录下:C:\Program Files\Embar ...