在linux中,telnet是TELNET協議的用戶接口,是基于Telnet協議的遠程登錄程序,用于登錄遠程主機,還可以確定遠程服務器的某個端口是否能訪問,語法“telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主機名稱或IP地址]”。
本教程操作環境:linux7.3系統、Dell G3電腦。
telnet是什么
telnet 是基于 Telnet 協議的遠程登錄程序,用于登錄遠程主機,對遠程主機進行管理。
telnet命令是TELNET協議的用戶接口,它支持兩種模式:命令模式和會話模式,雖然telnet支持許多命令,但大部分情況下,我們只是使用它查看目標主機是否打開了某端口(默認是23)。
telnet 因采用明文傳送報文,安全性不好,很多 Linux 服務器都不開放 telnet 服務,而改用更安全的 ssh 方式了。但仍然有很多別的系統可能采用了 telnet 方式來提供遠程登錄,因此弄清楚 telnet 的使用方式仍是很有必要的。
telnet 命令還可做別的用途,比如確定遠程服務器的某個端口是否能訪問。
此外,Telnet 協議是 TCP/IP 協議族中的一員,是 Internet 遠程登錄服務的標準協議,屬于應用層協議,基于 TCP 協議實現遠程登錄。
telnet [-8acdEfFKLrx][-b<主機別名>][-e<脫離字符>][-k<域名>][-l<用戶名稱>][-n<記錄文件>][-S<服務類型>][-X<認證形態>][主機名稱或IP地址<通信端口>]
-8 允許使用8位字符資料,包括輸入與輸出 -a 嘗試自動登入遠端系統 -b<主機別名> 使用別名指定遠端主機名稱 -c 不讀取用戶專屬目錄里的.telnetrc文件 -d 啟動排錯模式 -e<脫離字符> 設置脫離字符 -E 濾除脫離字符 -F 使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機 -f 此參數的效果和”-F”參數相同 -k<域名> 使用Kerberos認證時,加上此參數讓遠端主機采用指定的領域名,而非該主機的域名 -K 不自動登入遠端主機 -l<用戶名稱> 指定要登入遠端主機的用戶名稱 -L 允許輸出8位字符資料 -n<記錄文件> 指定文件記錄相關信息 -r 使用類似rlogin指令的用戶界面 -S<服務類型> 設置telnet連線所需IP TOS信息 -x 假設主機有支持數據加密的功能,就使用它 -X<認證形態> 關閉指定的認證形態
常用示例
(1)登錄主機。不顯示提供端口,默認為 23。
telnet 192.168.0.5
(2)確認遠端服務器某個端口是否可用。比如查看遠端服務器 ssh 服務的 22 號端口是否開放。
telnet 10.234.178.144 22 Trying 10.234.178.144... Connected to 10.234.178.144. Escape character is '^]'. SSH-2.0-OpenSSH_6.0
以上表示遠端服務器 ssh 服務的 22 號端口已經開放。注意,這并不表示使用 ssh 命令一定可以與遠端服務器建立 SSH 鏈接,需要遠端服務器的授權。
(3)進入命令行交互模式。
如果在沒有 host 參數的情況下調用 telnet,它將進入命令模式,提示符為 telnet>。
telnet telnet>
交互模式下常用子命令有:
auth <argument> [...]:查看和管理telnet登錄身份驗證方式。argument可取值:disable、enable和status close:關閉當前 Telnet 連接 display:使用 display 命令可以查看 Telnet 客戶端的當前設置 logout:類似于cloase命令,用于關閉Telnet連接或者掛起。注:Telnet服務端可能不支持 open <host> [-l user] [[-] port]:建立到指定主機的 Telnet 連接 send <arguments>:使用send命令可以向Telnet服務器發送特定字符串。支持包括但不限于以下命令字符串: abort:終止服務命令 ao:Abort Output,放棄輸出命令 ayt:Are you there命令 brk:Break命令 eof:發送End Of File字符 escape:發送當前的轉義字符,初始為分組符^]。 ip:中斷進程命令 synch:執行Telnet同步操作。 quit:退出 Telnet 客戶端。 status:顯示當前Telnet連接狀態
相關推薦:《Linux視頻教程》