Linux檢測遠程服務器端口的幾種方法
作為系統(tǒ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相關的事情,包括數(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是一個用于網絡掃描的開源實用程序。它不僅可以用于掃描打開的端口,還可以執(zhí)行更多操作。 它可用于一次檢查多個主機和端口。 該命令需要通過執(zhí)行“yum install nmap”安裝。
[root@localhost ~]# nmap www.baidu.com

從上圖上可以看出遠程服務器有倆端口是打開的。
4、執(zhí)行/dev/tcp檢測
Linux中所有內容都是文件,并且主機和端口的狀態(tài)也可通過文件處理程序獲得。如果沒有上面幾種可用的telnet或 nc(在 docker 容器中經??吹經]有這些命令),則可以使用此方法檢查遠程端口是否打開。
linux中的一個特殊文件: /dev/tcp,打開這個文件就類似于發(fā)出了一個socket調用,建立一個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”。
總結:本文主要講解了四種方式來檢測遠程服務器的服務或者端口是否正常啟動或者打開,對于telent在window和Linux中都可以使用,然而nc和nmap是Linux服務器帶的,需要安裝對應的軟件包才能使用,對于最后一種方式,對任何Linux系統(tǒng)都可以使用,不需要安裝任何軟件。
以上就是Linux檢測遠程服務器端口的幾種方法的詳細內容,更多關于Linux檢測遠程端口的資料請關注腳本之家其它相關文章!
相關文章
關于Apache shiro實現(xiàn)一個賬戶同一時刻只有一個人登錄(shiro 單點登錄)
今天和同事在一起探討shiro如何實現(xiàn)一個賬戶同一時刻只有一session存在的問題,下面小編把核心代碼分享到腳本之家平臺,需要的朋友參考下2017-09-09
解決linux遠程拷貝報錯not?a?regular?file問題
這篇文章主要介紹了解決linux遠程拷貝報錯not?a?regular?file問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
centos系統(tǒng)安裝Kubernetes集群步驟
大家好,本篇文章主要講的是centos系統(tǒng)安裝Kubernetes集群步驟,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01

