Telnet 發送 Ctrl-C

Telnet 發送 Ctrl-C

我使用 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 用戶端來解決此問題?

答案1

您是否嘗試過在 telnet 用戶端中關閉 localchars ?

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

您也可以將此命令放入檔案中~/.telnetrc,具體取決於您的 telnet 版本。

答案2

這可能會有所幫助,儘管它使用其他 3 個工具而不是telnet

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

答案3

您可以嘗試 8 位元乾淨模式...它會阻止 telnet 解釋大部分數據

telnet -8 host port

(這是在黑暗中拍攝的)

在大多數情況下,您的方向是正確的,嘗試讓 telnet 停止預解釋擊鍵...例如Ctrl+CCtrl+Z等。 8 位元模式應該有幫助。

答案4

我一直在努力解決這個問題,但沒有透過谷歌搜尋找到答案。這是一個非常古老的線程,但我會留下這個,以防其他人像我一樣來這裡尋找解決方案。

  1. Ctrl使用+進入 telnet 指令模式]
  2. 輸入命令:mode character。這會將 telnet 放入字元模式,無論出於何種原因,現在它都可以按您的預期工作,Crtl+C等等。

相關內容