Tcp
如何檢測 telnet 是否在伺服器上執行?
我有一個帶
LAN
連接的數字示波器。我想檢查是否telnet
在示波器上執行(手冊沒有這麼說,但是手冊沒有提供任何關於 LAN 埠的有用資訊)。我嘗試使用 netcat 和 telnet 連接(並成功)。該
telnet
命令確認連接,但我只能看到與 TCP 埠的連接(使用wireshark
)。根據我對
telnet
協議的了解,從外部看,它看起來像是一個有人值守的 TCP 埠,並且配置協商命令是可選的,因此如果沒有回复,發送這些命令就不會令人信服。編輯:如果有人感興趣,範圍是 Owon SDS7102E。如果您對 LAN 連接感興趣,請不要購買該示波器。該文件基本上不存在(它說“LAN 與 USB 相同”)。製造商似乎有點想幫忙(至少回答了),但還沒有真正的解決方案。
您可以通過在文件中添加 3 行來調試客戶端上的 telnet 連接
~/.telnetrc
:scope set netdata set options
where
scope
是您的範圍的主機名,必須在第 1 列中,其他 2 行必須縮進 1 個空格。當您執行 telnet 時,它現在應該向您顯示讀取和寫入的數據以及發送和接收的命令(如果有)。
您可以發送顯式 telnet 協商命令以查看您的範圍是否回复。請注意,當您將設置更改為遠端認為已經存在的值時,它不會回复,因此您可能需要嘗試命令及其相反的命令。例如,(鍵入
control-]
進入命令模式),發送“你在嗎?”:telnet> send ayt > 0x0 fff6 < 0x0 74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d < 0x20 0d0a td: recv IAC AYT [scope : yes]
>
和數據線是的<
結果set netdata
。談判路線td:
是.set options
(如果你沒有看到它們,可能你的 rc 文件被忽略了,所以在命令模式下顯式地輸入它們。)將迴聲設置為打開,然後關閉並再次打開:
telnet> send do echo telnet> send dont echo > 0x0 fffe01 < 0x0 74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420 < 0x20 776f6e74204543484f0d0a td: recv dont ECHO td: send wont ECHO telnet> send do echo > 0x0 fffd01 < 0x0 74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769 < 0x20 6c6c204543484f0d0a td: recv do ECHO td: send will ECHO