telnet命令成功后的返回值(java代码访问telnet,并受到返回值)
本文目录
- java代码访问telnet,并受到返回值
- telnet命令怎样显示完整的返回结果
- 是用telnet ip 端口号的方式查看端口开放情况,怎样通过返回值判断
- TELNET如何显示出完整的返回信息
- C# winform点击按钮执行telnet登陆,并且执行命令,返回结果,求代码示例
- 为什么我的WIN7电脑用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}}}
telnet命令怎样显示完整的返回结果
netstat -anb|more或netstat -anb》temp.txt把temp.txt抓到本地用notepad查看
是用telnet ip 端口号的方式查看端口开放情况,怎样通过返回值判断
你好,在cmd中输入 telnet ip 端口号,会有两种返回结果,一种为: 正在连接到(ip)...不能打开到主机的连接,在端口(端口号):连接失败 这个为该IP该端口未开放的返回结果另一种则会打开一个新的cdm窗口,并关闭原来的窗口,这就表示了该ip该窗口属于开放状态
TELNET如何显示出完整的返回信息
可以在net start后面加上 》 test.txt也就是打上命令 net start 》 test.txt就是把结果输入到test.txt里,然后你在查看这个文件.查看文件应该可以翻页的吧?希望对你有用
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; /// 《summary》 /// 默认构造函数 /// 《/summary》 public TelnetHelper2() { } /// 《summary》 /// 构造函数 /// 《/summary》 /// 《param name="hostName"》《/param》 /// 《param name="login"》《/param》 /// 《param name="password"》《/param》 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); } /// 《summary》 /// 连接 /// 《/summary》 private void ConnetServer() { char; sendfirst = (char)(255); sendfirst = (char)(252); sendfirst = (char)(24); byte sendfirstbytetemp = Encoding.Unicode.GetBytes(sendfirst); byte; sendfirstbyte; sendfirstbyte; sendfirstbyte; mysocket.Send(sendfirstbyte, 0, sendfirstbyte.Length, SocketFlags.None); Thread.Sleep(300); byte sendusernametemp = Encoding.ASCII.GetBytes(login); byte; char; closechar = (char)(10); closechar = (char)(13); byte closebyte = Encoding.ASCII.GetBytes(closechar); for (int i = 0; i 《 sendusernametemp.Length; i++) { sendusername; } sendusername; mysocket.Send(sendusername, 0, sendusername.Length, SocketFlags.None); Thread.Sleep(300); byte senduserpasswdtemp = Encoding.ASCII.GetBytes(password); byte; char; closechar2 = (char)(10); closechar2 = (char)(13); byte closebyte2 = Encoding.ASCII.GetBytes(closechar2); for (int i = 0; i 《 senduserpasswdtemp.Length; i++) { senduserpasswd; } senduserpasswd; mysocket.Send(senduserpasswd, 0, senduserpasswd.Length, SocketFlags.None); Thread.Sleep(500); } /// 《summary》 /// 执行命令 /// 《/summary》 /// 《param name="cmd"》《/param》 private void ExcuteCommand(string cmd) { char; sendfirst = (char)(255); sendfirst = (char)(252); sendfirst = (char)(24); byte sendfirstbytetemp = Encoding.Unicode.GetBytes(sendfirst); byte; sendfirstbyte; sendfirstbyte; sendfirstbyte; mysocket.Send(sendfirstbyte, 0, sendfirstbyte.Length, SocketFlags.None); Thread.Sleep(300); byte; 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(’\0’); Console.Write(recvuserstr); Thread.Sleep(300); byte sendusernametemp = Encoding.ASCII.GetBytes(cmd); byte; char; closechar = (char)(10); closechar = (char)(13); byte closebyte = Encoding.ASCII.GetBytes(closechar); for (int i = 0; i 《 sendusernametemp.Length; i++) { sendusername; } sendusername; mysocket.Send(sendusername, 0, sendusername.Length, SocketFlags.None); Thread.Sleep(500); } /// 《summary》 /// 获取数据 /// 《/summary》 /// 《returns》《/returns》 public string GetData(string cmd) { try { mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); mysocket.Connect(ipEnd); ConnetServer(); //连接服务 ExcuteCommand(cmd);//执行命令 byte; mysocket.Receive(recvdatauser, 0, mysocket.Available, SocketFlags.None); string recvuserstr = Encoding.ASCII.GetString(recvdatauser); recvuserstr = recvuserstr.TrimEnd(’\0’); 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’).Trim(); } catch (Exception ex) { LogHelper.WriteTelnetLog(ex.ToString()); return "EXError:"+ex.ToString(); } } }}
为什么我的WIN7电脑用telnet后返回的是空白
首先你要要确认你的win7版本,如果是家庭版,或高级家庭版,这个命令不能使用,只有win7旗舰版才有telnet命令。如果你已经是win7旗舰版,请按照下面的步骤开启telnet命令:1、打开控制面板,打开程序和功能;2、点击左边的 打开或关闭Windows功能;3、找到telnet客户端,勾选,如果你想别人telnet到你的机器,你就需要把telnet服务器端勾选,如果你想两个都要:既想通过本机telnet到别的机器,也想在别的机器上telnet到本机器,那么就勾选两个选项吧。4、安装完成后,Telnet服务默认情况下是禁用的。右键我的电脑,点击 管理 ,找到 服务 ,找到Telnet服务,设置其启动方式为 手动 (更安全,只在需要的时候才启用),或点击 开始 -运行 ,输入servcies.msc打开服务管理器。最后启动该服务确定退出即可。
更多文章:
except的用法总结(英语中关于expect besides expect for等表示除了的用法)
2024年7月2日 05:50
为什么编程语言不能是中文(计算机的汇编语言为什么没有中文的版本)
2024年8月11日 01:50
excel函数公式设置颜色(excel怎么用IF函数,改变字体的颜色)
2024年7月16日 17:25
spring festival初一作文(我的春节英语作文 初一水平的)
2024年6月6日 02:28
caution的形容词(caution 和 careful 和 attention的区别和用法是什么)
2024年7月1日 12:15
return to normal(英语Normal font怎么翻译)
2024年7月22日 20:28
c语言课程设计答辩问题(课程设计要答辩 C语言没怎么学 可以简单讲解一下这个程序么 帮忙加一下注释)
2024年8月22日 19:15
dos系统怎么进入(在windows中进入ms-dos有几种方法)
2024年7月14日 16:41
hamburger是什么意思中文(hamburger翻译中文是什么意思)
2024年6月30日 22:28
正则截取部分字符串(python 正则表达式如何截取字符串中间的内容)
2024年10月18日 03:50
大学生自学网app下载(大学生在使用电脑的同时,应该学会哪些对以后工作有用的软件或者技能呢)
2024年5月17日 18:19
matlab编程与工程应用第三版课后答案(MATLAB与系统仿真 试题)
2024年4月21日 13:05