如何檢視所有連線到HTTP或HTTPS埠的客戶端

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視訊,請在微信搜尋公眾號“智傳網優”直接開始自助視訊學習

1. 前言

在本教程中,您將學習如何檢視所有連線到Apache或Nginx web伺服器的客戶端(識別他們的IP地址),這些伺服器位於Linux伺服器的HTTP 80或HTTPS 443 埠上。

   

Apache

在Linux中,伺服器上執行的每個服務都偵聽sockett(套接字),以便客戶機發出連線請求。客戶端連線成功後,將建立socket(套接字),即IP地址和埠號的組合(標識客戶端連線的應用程式和埠號)。

   

nginx

2. 獲取系統上socket(套接字)的詳細資訊

為了獲得這些socket(套接字)的詳細資訊,我們將使用一個ss命令列工具,它用於在Linux機器上顯示與網路socket(套接字)相關的資訊。您還可以使用舊的netstat命令,它顯示活動的socket(套接字)連線。

例如,可以使用這些工具獲取連線到特定埠或服務的所有客戶機的套接字統計資訊。

ss

   

ss命令預設輸出

或者

netstat

   

netstat命令預設輸出

某些較新的Linux發行版預設已經放棄預安裝netstat工具。

CentOS 7系統可以執行以下命令安裝相關工具:

yum -y install net-tools

3. 找到所有連線到HTTP或HTTPS埠的客戶端

要獲得連線到HTTP(埠80)或HTTPS(埠443)的所有客戶機的列表,可以使用ss命令或netstat命令,這將列出所有連線(無論它們處於什麼狀態),包括UNIX套接字統計資訊。

ss -o state established '( sport = :http or sport = :https )'

   

使用ss命令列出所有連線

或者

netstat -o state established '( sport = :http or sport = :https )'

   

使用netstat命令列出所有連線

或者,您可以執行以下命令來列出數字埠號。

ss -tn src :80 or src :443

   

使用ss命令來列出數字埠號

netstat -tn src :80 or src :443

   

使用netstat命令來列出數字埠號

4. 總結

   

檢視伺服器網路連線情況

通過本教程,您應該可以瞭解到如何在Linux系統上使用ss或者netstat工具找到所有連線到HTTP或HTTPS埠的客戶端了吧?

本文已同步至部落格站,尊重原創,轉載時請在正文中附帶以下連結:
   https://www.linuxrumen.com/rmxx/1770.html