Telnet发送Ctrl-C


14

我使用telnet连接到终端服务器,该服务器代理到RS-232端口的通信。

不幸的是,在使用某些设备时,无法发送CTRL+ C字符(0x03)。似乎没有发送字符,而是本地客户端捕获了击键,而我处于“其他模式”。我想要的只是发送一个角色。

为了调试,我一直在玩:

^] toggle termdata

^] toggle options

当我在不起作用的终端服务器上按CTRL+ 时,会发生以下情况C

telnet 10.10.129.101 2012
Trying 10.10.129.101...
Connected to termserv-val3 (10.10.129.101).
Escape character is '^]'.
^]
telnet> toggle options
Will show option processing.
^]
telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
SENT IAC IP
SENT DO TIMING MARK

这是在工作的终端服务器上发生的事情:

telnet termserv-val2 2012
Trying 10.10.128.93...
Connected to termserv-val2 (10.10.128.93).
Escape character is '^]'.

telnet> toggle options
Will show option processing.

telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
< 0x0   03
^C

我已经尝试过了,toggle localchars但是没有任何区别。

我也尝试过mode character允许我发送CTRL+ C字符,但是在这里我没有从设备返回任何输出。

如何配置telnet客户端来解决此问题?


2
这是什么终端服务器?
迈克尔·汉普顿

Answers:


5

您是否尝试过在telnet客户端中关闭localchars?

bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost

您可能还可以将此命令放入~/.telnetrc文件中,具体取决于您的telnet版本。


我已经尝试过(阅读问题的最后一部分)
艾伦(Allan

3

您可以尝试使用8位清除模式...它会阻止telnet解释大量数据

telnet -8 host port

(这是在黑暗中拍摄的)

在大多数情况下,您处在正确的轨道上,尝试使telnet停止预解释键击...,例如CTRL-C和CTRL-Z等。8位模式应该有所帮助。


1
我已经尝试过了,但是没有用。我曾经尝试过找到另一种解决方案:可以将终端服务器配置为充当“ TCP服务器模式”(默认设置,这是我遇到的问题),但是如果将其更改为“ Real COM模式”,则一切正常。我不知道实际的区别是什么...
艾伦(Allan)2012年

祝贺您找到了解决方案。总是很容易解决问题。
lornix

一年......我不是太满意这个解决方案,我宁愿它解决了我的telnet客户端配置进行更改
阿伦

1
@Allan,请将您的评论作为答案提交,将其标记为解决该问题的正确答案,谢谢。
不可用

3

尽管它使用其他3个工具代替telnet

echo 03 | xxd -r -p | nc host port


1

^C是一个休息字符。您可以通过telnet转义发送(默认为^]),然后发送send brk


3
Telnet的BRK顺序在接收端具有特定于实现的意义,并且与发送ETX^C)字符不同。在Unixy系统上,通常意味着要TCSBRK ioctltelnetd正在使用的TTY 上进行操作。在串行设备上,这通常意味着将传输线保持低电平四分之一到半秒。
Blrfl 2012年

不确定是否可以更改任何内容,但是quittelnet中也有可用的命令。
VasyaNovikov

0

我使用了“切换选项”和“切换termdata”来验证我网站上的情况是否与原始发布者的情况相符。如文档中所述,我能够使用telnet命令“发送ip”专门发送^ C(control-C)字符。在我的情况下,我将所有3条命令放入〜/ .telnetrc


0

采用

nc host port

如果您想要的只是连接到服务器端口,并Ctrl C在需要时中断。您可以nc使用该netcat软件包进行安装。

PS:这个想法来自@ bambam-s的答案,但是我不知道所xxd使用命令的含义是什么,并且在我的用例中,没有它就可以正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.