你們好,我是良許。linux
你們知道,telnet
是一個閹割版的 ssh
,它數據不加密,數據容易被盜竊,也容易受中間人攻擊,因此默認狀況下 telnet 端口是必需要被關閉的。程序員
telnet爲用戶提供了在本地計算機上完成遠程主機工做的能力,所以能夠經過telnet來測試端口的連通性。面試
在測試端口的連通性以前,咱們先使用 nmap
命令來查看目標服務器的端口開放狀態。bash
$ nmap lxlinux.net複製代碼
在確認了目標服務器的端口開放性以後,咱們就可使用 telnet 來測試端口的連通性了。測試的格式是:服務器
$ telnet server port複製代碼
好比咱們想要測試 http 的端口(80)連通性,咱們能夠這樣測試:架構
$ telnet lxlinux.net 80複製代碼
從提示中咱們能夠看出來,它顯示 Connected to lxlinux.net.
,這說明這個端口是是連通的。ssh
若是端口是不連通的,那麼它將提示 unable connect to remote host: Connection timed out
。工具
如今咱們再來試試關閉的端口。咱們來測試一下 22 端口,這個端口沒有被 nmap 掃描出來,因此應該是關閉的。爲了保險起見,咱們能夠用 nmap 再來確認一下,這時咱們要加上 -p
選項。學習
$ nmap -p 22 lxlinux.net複製代碼
因此如今確認了 22 端口是關閉的了,咱們就可使用 telnet 來測試它的連通性。測試
$ telnet lxlinux.net 22複製代碼
提示裏顯示Connection refused
,這說明這個端口也是不連通的。
當你用 telnet 鏈接上某個端口後,能夠按 CTRL+] 進入到交互界面:
telnet>複製代碼
而後再輸入 quit
再敲下回車,便可退出鏈接。
利用 telnet 的這個特性,咱們能夠寫個腳原本測試多個主機及端口的連通性。
好比咱們寫了下面這個腳本 multipletelnet.sh :
#!/bin/bash
telnet lxlinux.net 80
telnet baidu.com 80
telnet lxlinux.net 443複製代碼
而後咱們再使用 chmod
命令賦予它可執行權限:
$ chmod +x multipletelnet.sh複製代碼
固然,若是你想要同時測試多個端口的話,那麼這個腳本就有點力不從心了,在這種狀況下,你就須要用到 nmap 及其它類似工具了。
最後,最近不少小夥伴找我要Linux學習路線圖,因而我根據本身的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。不管你是面試仍是自我提高,相信都會對你有幫助!目錄以下:
免費送給你們,只求你們金指給我點個贊!
也但願有小夥伴能加入我,把這份電子書作得更完美!
推薦閱讀: