저는 텔넷을 사용하여 트래픽을 RS-232 포트로 프록시하는 터미널 서버에 연결합니다.
CTRL불행하게도 일부 장치를 사용하는 경우 + 문자(0x03) 를 보낼 수 없습니다 C. 문자를 전송하는 대신 로컬 클라이언트가 키 입력을 포착한 것처럼 보이며 "다른 모드"에 남아 있습니다. 내가 원했던 것은 단지 캐릭터를 보내는 것뿐이었습니다.
이것을 디버깅하기 위해 나는 다음과 같이 놀았습니다.
^] 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
를 보낼 수 있도록 시도했지만 여기서는 장치에서 어떤 출력도 다시 얻지 못했습니다.CTRLC
이 문제를 해결하려면 텔넷 클라이언트를 어떻게 구성해야 합니까?
답변1
텔넷 클라이언트에서 localchars를 꺼 보셨나요?
bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost
~/.telnetrc
텔넷 버전에 따라 이 명령을 파일에 넣을 수도 있습니다 .
답변2
다음 대신 3가지 다른 도구를 사용하지만 도움이 될 수 있습니다 telnet
.
echo 03 | xxd -r -p | nc host port
답변3
8비트 정리 모드를 시도해 볼 수도 있습니다. 이는 텔넷이 많은 데이터를 해석하는 것을 중지합니다.
telnet -8 host port
(어두운 곳에서 찍은 사진입니다)
대부분의 경우 Ctrl+ C, Ctrl+ Z및 기타 키 입력을 미리 해석하는 것을 텔넷에서 중지하도록 시도하는 올바른 방향으로 가고 있습니다. 8비트 모드가 도움이 될 것입니다.
답변4
이것저것 고민하다가 구글링해도 답이 안나오더라구요. 이것은 매우 오래된 스레드이지만 다른 사람이 나처럼 해결책을 찾기 위해 여기에 올 경우를 대비해 남겨두겠습니다.
- Ctrl+를 사용하여 텔넷 명령 모드로 이동합니다 .]
- 다음 명령을 입력하십시오:
mode character
. 이것은 텔넷을캐릭터 모드, 어떤 이유로든 이제 예상대로 작동합니다. Crtl+ C그리고 모두.