我想编写一个C#应用程序,它连接到telnet服务器并与服务器通信.我想知道telnet服务器如何向客户端发送信息.我查看(浏览过)Telnet RFC并查看从服务器进来的传入数据包,但仍然有点困惑.有人能给我一个例子,说明服务器如何在telnet客户端中移动光标以及它如何改变字符的颜色?(最值得赞赏的一个例子)
更新我
这是一些额外的VT100资源:
更新II
经过大量的研究和时间,我发现了这一点:使用C#进行Telnet编程
有没有办法让telnet应用程序清除输出客户端(使用Java Socket连接+缓冲区)?例如,程序向连接的用户查询登录名和密码,当他们成功登录时,我会cls为Windows或clearLinux做.
我正在使用paramiko进入远程机器,到目前为止,这似乎工作正常
client.connect(hostname, port=ssh_port, username=username, key_filename=key_fname, password=password)
现在从远程机器我需要更深入,并使用
stdin, stdout, stderr = client.exec_command('telnet localhost %d'%port)
似乎给了我正确的句柄来开始谈论使用 stdin.write
我的问题是,当我完成后,我不知道如何正确退出telnet.如果我手动操作,我可以进入telnet,我看到: Escape character is '^]'. 我可以Ctrl+]在键盘上使用,并弹出一个小菜单说
Console escape. Commands are:
l go to line mode
c go to character mode
z suspend telnet
e exit telnet
Run Code Online (Sandbox Code Playgroud)
然后我可以通过按'e'退出(它立即退出而不需要'enter'键)
但是,当我尝试这样做在我的剧本,由stdin.write('^]e'),stdin.write('\^]e'),stdin.write('\c]e'),stdin.write('\M-\C-]e'),等所有的时间我只看到stdout.read()我的剧本已在无形中进入这些字符.把它放在time.sleep(0.1)中间]并且e似乎没有帮助.
如何以编程方式输入该转义序列?
嗨,我想了解像ssh和telnet这样的网络命令.不幸的是,除了我自己以外,我没有任何其他系统,所以我只使用localhost进行测试.虽然当我尝试在本地telnet时能够在本地执行ssh但是我收到此错误
我正在尝试的命令是telnet localhost,我没有输入任何端口号.
试试127.0.0.1 ......
telnet:连接到地址127.0.0.1:连接被拒绝
试试fe80 :: 1 ......
telnet:连接到地址fe80 :: 1:连接被拒绝
telnet:无法连接到远程主机
如果我能在本地做ssh,那么同样适用于telnet吗?
我正在处理继承的 shell 脚本,并且遇到了我以前从未见过的语法。
host = 192.[mask]
port = 2[mask]
( echo open ${host} ${port}
...about six other commands
echo exit ) | telnet
Run Code Online (Sandbox Code Playgroud)
现在,这对垂直条有意义。只是在服务器上打开和运行命令的命令。
但是这个telnet电话实际上在做什么?这个语法(parens 和 bar)是什么意思?我最好的猜测是它打开 telnet,然后从 telnet 中运行以下命令,但我想确定一下。
我想从办公室telnet或ssh我的电脑(mac)在家里.我怎样才能做到这一点 ?我正在使用私有ip路由器的问题.Gateway是192.168.1.1,我的电脑是192.168.1.100.我想当我在路由器设置中转发端口时,我应该能够这样做.但问题是我没有公共IP.我的isp只给我的动态IP(DHCP),我的路由器的外部IP只是另一个私有IP连接到另一个网关(另一级LAN),当然我没有任何访问权限.那么仍然可以使用telnet访问我的电脑吗?我读到了反向ssh,但只有在我必须先从我的电脑设置连接时才能工作.在我的情况下,我的电脑附近没有身体.我只是打开它,所以我希望能够访问它.
有没有解决方法?或者这样做是不可能的?
谢谢
所以我需要访问一个telnet会话.更具体地说是JPL的星历服务.我确切地知道在命令提示符中我需要做什么,但是我在使用该telnetlib软件包时遇到了麻烦.
以下是我需要通过命令提示符执行的步骤:
telnet
o horizons.jpl.nasa.gov 6775
DES=C/2012 X1;
y
E
o
H06
y
2013-Nov-7 9:00
2013-Nov-17 9:00
1d
y
1,4,9,19,20,24
Run Code Online (Sandbox Code Playgroud)
然后在那之后有一个大输出,我需要保存到文本文件,或只是保持为变量.我稍后会用它.
按照这些输入逐步进行,可以获得我需要获取的确切信息
有什么建议?
是否可以通过telnet从一个Android模拟器拨打另一个?
例如,我在屏幕上打开了两个模拟器5554和5556.我可以使用命令:gsm call 5554从5554通过telnet接收来电.
是否可以拨打5554到5556的电话,反之亦然?
我想使用telnet测试我的phoenix应用程序,但是它显示Connection closed by foreign host.得非常快,并且telnet退出了。
$ telnet 127.0.0.1 4000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
phoenix应用程序非常简单,没有任何额外的配置。如何使用telnet连接到它?