java telnet(java telnet 执行命令)

      最后更新:2024-03-04 08:56

      java实现Telnet功能。

      /*我想这就是你想要的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主机IPthis.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"// 不熟悉命令的参考<>System.out.println("开始发送hostname命令");String result = telnet.sendCommand("hostname");System.out.println("显示结果");System.out.println(result);// 最后一定要关闭telnet.disconnect();} catch (Exception e) {e.printStackTrace();}} }
      java实现Telnet功能。

      利用java来telnet到某个服务器的程序运行不了,如何修改?

      您好,您这样: package place.in.javaeye;import java.io.InputStream;import java.io.PrintStream;import org.apache.commons.net.telnet.TelnetClient;public class Shell{private TelnetClient telnet = new TelnetClient();private InputStream in;private PrintStream out;private char prompt = '$';// 普通用户结束public Shell(String ip, int port, String user, String password){try{telnet.connect(ip, port);in = telnet.getInputStream();out = new PrintStream(telnet.getOutputStream());// 根据root用户设置结束符this.prompt = user.equals("root") ? '#' : '>';login(user, password);}catch (Exception e){e.printStackTrace();}}/*** 登录** @param user* @param password*/public void login(String user, String password){//readUntil("login:");readUntil("login:");write(user);readUntil("Password:");write(password);readUntil(prompt + "");}/*** 读取分析结果** @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();System.out.print(ch);}}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) {TelnetClient telnet = new TelnetClient();try {Shell she =new Shell("10.**.***.***", 23, "***", "***");System.out.println(she);System.out.println(she.sendCommand("ls"));she.disconnect();}catch (Exception e) {// TODO: handle exception}} }
      利用java来telnet到某个服务器的程序运行不了,如何修改?

      java telnet返回乱码问题

      终端类型不对应,或编码不对应 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      java telnet返回乱码问题

      java实现telnet连接操作,打包到服务器后访问报null?

      java">下面是我自己写的一个读取并显示txt文件的demo,希望对您有帮助。publicclassClient{publicstaticvoidmain(String[]args){ClientFramef=newClientFrame();}}importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.GridLayout;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.IOException;importjava.net.Socket;importjava.net.UnknownHostException;importjava.util.Vector;importjavax.swing.BorderFactory;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JList;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.event.ListSelectionEvent;importjavax.swing.event.ListSelectionListener;publicclassClientFrameextendsJFrameimplementsActionListener,ListSelectionListener{privateJListlist=null;privateJButtonsbtn=null;privateJButtoncbtn=null;privateVectorv=null;privateJTextAreatxt=null;privateContainercontrol=null;privateContainerbtn=null;privateSocketclient=null;privateDataInputStreamreader=null;privateDataOutputStreamwriter=null;publicClientFrame(){this.list=newJList();this.list.setBorder(BorderFactory.createTitledBorder("文件列表"));this.list.addListSelectionListener(this);this.sbtn=newJButton("显示");this.sbtn.addActionListener(this);this.cbtn=newJButton("清除");this.cbtn.addActionListener(this);this.control=newContainer();this.control.setPreferredSize(newDimension(150,400));this.control.setLayout(newBorderLayout());this.control.add(newJScrollPane(this.list),BorderLayout.CENTER);this.btn=newContainer();this.btn.setLayout(newGridLayout(1,2));btn.add(sbtn);btn.add(cbtn);this.control.add(this.btn,BorderLayout.SOUTH);this.txt=newJTextArea();this.txt.setEditable(false);this.txt.setSize(350,400);this.setTitle("客户端");this.setSize(500,400);this.setVisible(true);DimensiondisplaySize=Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((displaySize.width-this.getWidth())/2,(displaySize.height-this.getHeight())/2);this.setLayout(newBorderLayout());this.add(this.control,BorderLayout.WEST);this.add(newJScrollPane(this.txt),BorderLayout.CENTER);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);try{//this.client=newSocket("192.168.32.34",6666);this.client=newSocket("192.168.1.100",6666);this.reader=newDataInputStream(client.getInputStream());this.writer=newDataOutputStream(client.getOutputStream());}catch(UnknownHostExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}publicvoidactionPerformed(ActionEventevent){if(event.getSource()==sbtn){if(v==null){v=newVector();}else{v.clear();}try{writer.writeUTF("getfilelist");writer.flush();Stringt=reader.readUTF();while(t!=null&&!t.equals("")){v.add(t);t=reader.readUTF();}}catch(UnknownHostExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}this.list.setListData(v);}if(event.getSource()==cbtn){this.txt.setText("");}}publicvoidvalueChanged(ListSelectionEvente){inti=this.list.getSelectedIndex();if(!this.list.getValueIsAdjusting()&&i!=-1){try{writer.writeUTF("getfilecontent_"+i);writer.flush();Stringtmp=reader.readUTF();this.txt.setText(tmp);}catch(IOExceptione1){e1.printStackTrace();}}}}importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.Reader;importjava.net.ServerSocket;importjava.net.Socket;importjava.util.ArrayList;importjava.util.Iterator;publicclassServer{staticArrayListfileArray=newArrayList();publicstaticvoidmain(Stringargs[]){ServerSocketserver=null;Socketclient=null;Stringcmd="";try{server=newServerSocket(6666);client=server.accept();DataInputStreamreader=newDataInputStream(client.getInputStream());DataOutputStreamwriter=newDataOutputStream(client.getOutputStream());while(true){cmd=reader.readUTF();System.out.println(cmd);if(cmd.equals("getfilelist")){fileArray.clear();//fileArray=getFile(newFile("D:/tmp"));fileArray=getFile(newFile("D:/学习/教程/学习笔记"));Stringfn="";for(intk=0;kgetFile(Filef){File[]ff=f.listFiles();for(Filechild:ff){if(child.isDirectory()){getFile(child);}else{fileArray.add(child);}}returnfileArray;}}
      java实现telnet连接操作,打包到服务器后访问报null?

      java代码访问telnet,并受到返回值

      import java.io.InputStream; import java.io.PrintStream;import org.apache.commons.net.telnet.TelnetClient;public class Shell {private TelnetClient telnet = new TelnetClient();private InputStream in;private PrintStream out;private char prompt = '$';// 普通用户结束public Shell(String ip, int port, String user, String password) {try {telnet.connect(ip, port);in = telnet.getInputStream();out = new PrintStream(telnet.getOutputStream());// 根据root用户设置结束符this.prompt = user.equals("root") ? '#' : '>';login(user, password);} catch (Exception e) {e.printStackTrace();}}/*** 登录** @param user* @param password*/public void login(String user, String password) {// read()Until("login:");readUntil("login:");write(user);readUntil("Password:");write(password);readUntil(prompt + "");}/*** 读取分析结果** @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();System.out.print(ch);}} 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) {//TelnetClient telnet = new TelnetClient();try {Shell she = new Shell("192.168.1.10", 23, "root", "123456");System.out.println(she);//执行的命令System.out.println(she.sendCommand("ll"));she.disconnect();} catch (Exception e) {// TODO: handle exception}} }
      java代码访问telnet,并受到返回值

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类