Tcp

如何檢測 telnet 是否在伺服器上執行?

  • May 7, 2018

我有一個帶LAN連接的數字示波器。我想檢查是否telnet在示波器上執行(手冊沒有這麼說,但是手冊沒有提供任何關於 LAN 埠的有用資訊)。

我嘗試使用 netcat 和 telnet 連接(並成功)。該telnet命令確認連接,但我只能看到與 TCP 埠的連接(使用wireshark)。

根據我對telnet協議的了解,從外部看,它看起來像是一個有人值守的 TCP 埠,並且配置協商命令是可選的,因此如果沒有回复,發送這些命令就不會令人信服。

編輯:如果有人感興趣,範圍是 Owon SDS7102E。如果您對 LAN 連接感興趣,請不要購買該示波器。該文件基本上不存在(它說“LAN 與 USB 相同”)。製造商似乎有點想幫忙(至少回答了),但還沒有真正的解決方案。

您可以通過在文件中添加 3 行來調試客戶端上的 telnet 連接~/.telnetrc

scope
set netdata
set options

wherescope是您的範圍的主機名,必須在第 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

引用自:https://unix.stackexchange.com/questions/441909