telnet网络返回结果(telnet成功后返回什么)

      最后更新:2023-12-19 06:01

      C语言获取telnet返回值写文件

      telnet的输出不在本地管道,所以你没办法重定向到文件里面,或许你用.net库函数调用PowerShell能实现(只是想法,未尝试),不知道会不会偏离你的要求太远了。
      C语言获取telnet返回值写文件

      用java写的程序,远程访问telnet,并且获取返回值信息,但是现在获取的返回值信息和电脑上不一样?

      先运行java程序,然后用echo$?获取程序的运行结果,如果是字符串,可以使用result=$(java-jarxxx.jar)来获取,当然这只是示例,$()中的命令使可以随便修改的
      用java写的程序,远程访问telnet,并且获取返回值信息,但是现在获取的返回值信息和电脑上不一样?

      telnet命令怎样显示完整的返回结果

      netstat -anb|more 或netstat -anb>temp.txt 把temp.txt抓到本地用notepad查看
      telnet命令怎样显示完整的返回结果

      C# winform点击按钮执行telnet登陆,并且执行命令,返回结果,求代码示例。

      //我自己用的telnetHelper类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net.Sockets;using System.Net;using System.Threading;namespace AFC_APP1{    public class TelnetHelper2    {        string hostName;        string login;        string password;        int port = 23;        IPAddress ipAdd;        IPEndPoint ipEnd;        Socket mysocket;        ///         /// 默认构造函数        ///         public TelnetHelper2(){                }        ///         /// 构造函数        ///         ///         ///         ///         public TelnetHelper2(string hostName,string login,string password)        {            this.hostName = hostName;            this.login = login;            this.password = password;            ipAdd=IPAddress.Parse(hostName);            ipEnd = new IPEndPoint(ipAdd, port);            mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);        }        ///         /// 连接        ///         private void ConnetServer()        {            char[] sendfirst = new char[3];            sendfirst[0] = (char)(255);            sendfirst[1] = (char)(252);            sendfirst[2] = (char)(24);            byte[] sendfirstbytetemp = Encoding.Unicode.GetBytes(sendfirst);            byte[] sendfirstbyte = new byte[sendfirstbytetemp.Length / 2];            sendfirstbyte[0] = sendfirstbytetemp[0];            sendfirstbyte[1] = sendfirstbytetemp[2];            sendfirstbyte[2] = sendfirstbytetemp[4];            mysocket.Send(sendfirstbyte, 0, sendfirstbyte.Length, SocketFlags.None);            Thread.Sleep(300);            byte[] sendusernametemp = Encoding.ASCII.GetBytes(login);            byte[] sendusername = new byte[sendusernametemp.Length + 1];            char[] closechar = new char[2];            closechar[0] = (char)(10);            closechar[1] = (char)(13);            byte[] closebyte = Encoding.ASCII.GetBytes(closechar);            for (int i = 0; i < sendusernametemp.Length; i++)            {                sendusername[i] = sendusernametemp[i];            }            sendusername[sendusername.Length - 1] = closebyte[0];            mysocket.Send(sendusername, 0, sendusername.Length, SocketFlags.None);            Thread.Sleep(300);            byte[] senduserpasswdtemp = Encoding.ASCII.GetBytes(password);            byte[] senduserpasswd = new byte[senduserpasswdtemp.Length + 1];            char[] closechar2 = new char[2];            closechar2[0] = (char)(10);            closechar2[1] = (char)(13);            byte[] closebyte2 = Encoding.ASCII.GetBytes(closechar2);            for (int i = 0; i < senduserpasswdtemp.Length; i++)            {                senduserpasswd[i] = senduserpasswdtemp[i];            }            senduserpasswd[senduserpasswd.Length - 1] = closebyte2[0];            mysocket.Send(senduserpasswd, 0, senduserpasswd.Length, SocketFlags.None);            Thread.Sleep(500);        }        ///         /// 执行命令        ///         ///         private void ExcuteCommand(string cmd)        {            char[] sendfirst = new char[3];            sendfirst[0] = (char)(255);            sendfirst[1] = (char)(252);            sendfirst[2] = (char)(24);            byte[] sendfirstbytetemp = Encoding.Unicode.GetBytes(sendfirst);            byte[] sendfirstbyte = new byte[sendfirstbytetemp.Length / 2];            sendfirstbyte[0] = sendfirstbytetemp[0];            sendfirstbyte[1] = sendfirstbytetemp[2];            sendfirstbyte[2] = sendfirstbytetemp[4];            mysocket.Send(sendfirstbyte, 0, sendfirstbyte.Length, SocketFlags.None);            Thread.Sleep(300);            byte[] recvdatauser = new byte[4096];            mysocket.Receive(recvdatauser, 0, mysocket.Available, SocketFlags.None);            string recvuserstr = Encoding.ASCII.GetString(recvdatauser);            recvuserstr = recvuserstr.Substring(login.Length, recvuserstr.Length - login.Length);//去掉了服务器回显的用户名            recvuserstr = recvuserstr.TrimEnd('');            Console.Write(recvuserstr);            Thread.Sleep(300);            byte[] sendusernametemp = Encoding.ASCII.GetBytes(cmd);            byte[] sendusername = new byte[sendusernametemp.Length + 1];            char[] closechar = new char[2];            closechar[0] = (char)(10);            closechar[1] = (char)(13);            byte[] closebyte = Encoding.ASCII.GetBytes(closechar);            for (int i = 0; i < sendusernametemp.Length; i++)            {                sendusername[i] = sendusernametemp[i];            }            sendusername[sendusername.Length - 1] = closebyte[0];            mysocket.Send(sendusername, 0, sendusername.Length, SocketFlags.None);            Thread.Sleep(500);        }        ///         /// 获取数据        ///         ///         public string GetData(string cmd)        {            try            {                mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);                mysocket.Connect(ipEnd);                ConnetServer(); //连接服务                ExcuteCommand(cmd);//执行命令                byte[] recvdatauser = new byte[8192];                mysocket.Receive(recvdatauser, 0, mysocket.Available, SocketFlags.None);                string recvuserstr = Encoding.ASCII.GetString(recvdatauser);                recvuserstr = recvuserstr.TrimEnd('');                mysocket.Close();                System.Threading.Thread.Sleep(300);                //Console.Write("recvuserstr_string:" + recvuserstr);                recvuserstr = recvuserstr.Substring(cmd.Length, recvuserstr.Length - cmd.Length).TrimStart();//去掉了服务器回显                recvuserstr = this.login.Equals("root") ? recvuserstr.Replace("#", "").TrimEnd() : recvuserstr.Replace("$", "").TrimEnd();                return recvuserstr;//.Split('r')[1].Trim();            }            catch (Exception ex)            {                LogHelper.WriteTelnetLog(ex.ToString());                return "EXError:"+ex.ToString();            }        }    }}
      C# winform点击按钮执行telnet登陆,并且执行命令,返回结果,求代码示例。

      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,并受到返回值

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

          热门文章

          文章分类