176142998

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

          commons-net-2.0.jar
          log4j-1.2.15.jar


          package com;

          import java.io.InputStream;
          import java.io.PrintStream;

          import org.apache.commons.net.telnet.TelnetClient;
          import org.apache.log4j.Logger;

          public class TelnetHandler {
           private static final Logger logger = Logger.getLogger(TelnetHandler.class);
           private TelnetClient telnet = new TelnetClient("VT220");
           private InputStream in;
           private PrintStream out;
           private String prompt=" ";
           String s;

           public void TelnetCmd(String server, String user, String password) {
            try {
             // Connect to the specified server
             telnet.connect(server, 23);
             logger.info("Login............................");
             // Get input and output stream references
             in = telnet.getInputStream();
             out = new PrintStream(telnet.getOutputStream());
             // Login
             readUntil("login: ");
             write(user);
             readUntil("password: ");
             write(password);
             // Advance to a prompt
             readUntil(prompt);
            } catch (Exception e) {
             e.printStackTrace();
             logger.info("logon failed", e);
            }
           }

           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.setProperty("GBK", "iso8859-1");
              System.out.print(ch);
              sb.append(ch);
              if (ch == lastChar) {
               if (sb.toString().endsWith(pattern)) {
                // System.out.print( sb.toString());
                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 sendCmd(String command) {
            try {
             write(command);
             return readUntil(s + 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 {
             logger.info("發(fā)送命令開始");
             TelnetHandler telnet1 = new TelnetHandler();
             telnet1.TelnetCmd("127.0.0.1", "administrator", "123456");
             // Exec Cmd
          //   telnet1.sendCmd("dir");
             telnet1.sendCmd("cd c:\\test");
             telnet1.disconnect();
          //   telnet1.sendCmd("xcopy c:\\httpdownload.txt c:\\test");
             
             logger.info("發(fā)送命令結(jié)束");
             
             
            } catch (Exception e) {
             e.printStackTrace();
            }
           }
          }

          posted on 2011-04-12 17:37 飛飛 閱讀(837) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 兴隆县| 吉木萨尔县| 崇明县| 巩义市| 隆化县| 信丰县| 苍梧县| 荣昌县| 黔西县| 夏津县| 霍林郭勒市| 肥城市| 依兰县| 古交市| 亚东县| 南丰县| 格尔木市| 将乐县| 富宁县| 西华县| 和硕县| 阳高县| 武清区| 安多县| 临夏县| 城市| 长垣县| 宁远县| 浦县| 江油市| 四川省| 大埔县| 东安县| 仙桃市| 上高县| 丹东市| 吉木乃县| 自贡市| 佳木斯市| 富裕县| 府谷县|