Linux檢測遠程服務器端口的幾種方法
作為系統(tǒng)管理員、網(wǎng)絡工程師或應用程序開發(fā)人員,需要檢查遠程服務器上的端口是否打開,以便您可以判斷所檢查的服務是否正在運行。比如遠程服務器上運行一個web應用,想要檢測這個服務是否正常運行,可以檢測一下這個服務的端口80或者443等端口是否打開。再比如遠程服務器開通了ssh以及ftp等服務,有些時候通過ssh連接遠程服務器,這個時候連接不了,就可以通過以下方法來檢查服務端口是否打開。下面就來看一下如何檢測遠程服務器的端口的方式。
1、telnet命令檢測
telnet是Windows和Linux上最常用的檢查端口的命令。此命令的簡單用法是telnet ip地址(或者域名) 端口。如果執(zhí)行telnet 命令提示命令未發(fā)現(xiàn),請執(zhí)行"yum install telnet"。
[root@localhost etc]# telnet www.baidu.com 443

通過上圖可以看出,百度https服務是打開著的,所以能夠訪問百度首頁。如果遠程服務器上的端口未打開。會提示以下報錯。

從上圖可以看出百度服務器上的3389未打開的。
2、nc命令檢測
nc或netcat是一個實用程序,可以做很多TCP和UDP相關(guān)的事情,包括數(shù)據(jù)包傳輸,端口掃描等。要檢查端口是否打開,如果執(zhí)行nc提示命令未發(fā)現(xiàn),執(zhí)行"yum install nc"安裝。接著可以通過執(zhí)行以下命令"nc -vz IP地址或域名 端口"檢測。
[root@localhost ~]# nc -vz www.baidu.com 443

如果遠程服務器的端口未打開,或者服務器未啟用,則會提示一個連接超時的錯誤,報錯如下。

從上圖中可以看出,檢測服務器的3389端口顯示連接超時,說明未開啟服務。
3、nmap命令檢測
nmap是一個用于網(wǎng)絡掃描的開源實用程序。它不僅可以用于掃描打開的端口,還可以執(zhí)行更多操作。 它可用于一次檢查多個主機和端口。 該命令需要通過執(zhí)行“yum install nmap”安裝。
[root@localhost ~]# nmap www.baidu.com

從上圖上可以看出遠程服務器有倆端口是打開的。
4、執(zhí)行/dev/tcp檢測
Linux中所有內(nèi)容都是文件,并且主機和端口的狀態(tài)也可通過文件處理程序獲得。如果沒有上面幾種可用的telnet或 nc(在 docker 容器中經(jīng)??吹?jīng)]有這些命令),則可以使用此方法檢查遠程端口是否打開。
linux中的一個特殊文件: /dev/tcp,打開這個文件就類似于發(fā)出了一個socket調(diào)用,建立一個socket連接,讀寫這個文件就相當于在這個socket連接中傳輸數(shù)據(jù)。
/dev/[tcp|upd]/host/port 只要讀取或者寫入這個文件,相當于系統(tǒng)會嘗試連接:host 這臺機器,對應port端口。如果主機以及端口存在,就建立一個socket 連接。將在,/proc/self/fd目錄下面,有對應的文件出現(xiàn)。
要注意的是:/dev/tcp本身是不存在的。
語法格式為:
echo > /dev/tcp/[host]/[port] && echo "Port is open"
echo > /dev/udp/[host]/[port] && echo "Port is open"
上面的命令取決于遠程服務是使用的哪種協(xié)議,是tcp還是udp協(xié)議,比如ssh是tcp協(xié)議,smtp使用的udp協(xié)議。具體可以使用對應的協(xié)議進行連接。命令使用方式如下。
[root@localhost ~]# echo > /dev/tcp/www.baidu.com/443 && echo "Port is open"

[root@localhost ~]# echo > /dev/tcp/www.baidu.com/3389 && echo "Port is open"

從上面的圖上可以看出遠程服務器端口是開著的會打印出“Port is open” ,如果沒有打開的話會提示“Connection refused”。
總結(jié):本文主要講解了四種方式來檢測遠程服務器的服務或者端口是否正常啟動或者打開,對于telent在window和Linux中都可以使用,然而nc和nmap是Linux服務器帶的,需要安裝對應的軟件包才能使用,對于最后一種方式,對任何Linux系統(tǒng)都可以使用,不需要安裝任何軟件。
以上就是Linux檢測遠程服務器端口的幾種方法的詳細內(nèi)容,更多關(guān)于Linux檢測遠程端口的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux Crontab Shell腳本實現(xiàn)秒級定時任務的方法
這篇文章主要介紹了Linux Crontab Shell腳本實現(xiàn)秒級定時任務的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
ubuntu系統(tǒng)下apache配置虛擬主機及反向代理詳解
這篇文章主要介紹了ubuntu系統(tǒng)下apache配置虛擬主機及反向代理的相關(guān)資料,文中通過實例給大家演示的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下來一起學習學習吧。2017-06-06
本地Windows遠程桌面連接阿里云Ubuntu 16.04服務器的操作方法
這篇文章主要介紹了本地Windows遠程桌面連接阿里云Ubuntu 16.04服務器的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02

