開放的網絡端口是網絡最簡單的接入點。很多時候,我們需要在從 Internet 外部可見的端口上運行不需要的服務。由于每天都會對整個互聯網進行大規模掃描,以查找開放端口上的易受攻擊的服務,因此如果這些服務容易受到攻擊,我們的網絡將持續受到攻擊的威脅。
了解如何掃描和查看 Linux 系統上的開放端口,以便保護網絡免受威脅。
什么是網絡端口?網絡端口是系統的邏輯訪問點,可用作托管多個服務的通道。端口由 16 位整數表示,因此最大端口號為 65535。
(資料圖片僅供參考)
我們可以將端口想象為房屋的門窗,所有門窗都是計算機的所有不同入口點。端口分為三種類型:系統端口 (1-1023)、注冊端口 (1024-49151) 和臨時或動態端口 (49152-65535)。
當您啟動需要連接到互聯網的應用程序時,它會使用動態端口通過網絡傳輸和接收數據。但是,當您啟動 Web 服務器或 SSH 服務器時,它通常會綁定到系統端口或注冊端口。
對于 HTTP 服務 Web 服務器,默認系統端口是 80,對于 SSH,默認系統端口是 22。端口范圍等這些規定是由互聯網號碼分配機構 (IANA) 制定的。我們可以瀏覽有關端口的 RFC,以獲得所有端口及其功能的完整列表。
了解最常見的易受攻擊的端口非常重要,這樣您就可以確保它們被關閉或受到保護。
1. 使用netstat檢查開放端口netstat 是一個流行的實用程序,我們可以使用它來查看 Linux 系統的網絡統計信息。它是 net-tools 包的一部分。
由于開發人員缺乏適當的維護,net-tools 軟件包現已貶值。這也是為什么在 Linux 上運行流行的 ifconfig 命令時可能會遇到“ifconfig:找不到命令”錯誤的原因。
因此,在現代系統上,必須首先安裝 net-tools 軟件包,然后才能運行 netstat 命令。以下是使用 netstat 檢查開放端口的方法:
netstat -tuln
命令解釋:
-t顯示 TCP 端口。-u顯示 UDP 端口。-l顯示監聽端口。如果您想查看所有端口(無論其狀態如何),請將其替換為a 。-n顯示端口的數值,而不是解析為服務名稱。例如,顯示端口22而不是SSH,即該端口上運行的服務。2. 使用 ss 檢查開放端口ss 是 netstat 工具的現代版本。我們會發現它已預安裝在所有現代 Linux 發行版中。使用 ss 檢查開放端口的語法與 netstat 相同。
以下是使用 ss 檢查開放端口的方法:
ss -tuln
命令解釋:
-t顯示 TCP 端口。-u顯示 UDP 端口。-l顯示監聽端口。如果您想查看所有端口(無論其狀態如何),請將其替換為a 。-n顯示端口的數值,而不是解析為服務名稱。例如,顯示端口21而不是FTP,即該端口上運行的服務。3. 使用 Nmap 檢查開放端口Nmap 是網絡安全和網絡領域最流行的工具之一。當涉及到網絡安全滲透測試時,它是一個主要名稱。它的主要用例是端口掃描,因此您不僅可以獲得有關系統中打開的端口的信息,還可以獲得它們是否易受攻擊和可利用的信息。
此外,如果您希望檢查已設置 IDS/IPS 和防火墻的遠程系統中的開放端口,請不要擔心,因為 Nmap 還可以使用正確的交換機繞過防火墻和 IDS/IPS。
查看這份針對初學者的 Nmap 綜合指南,探索 Nmap 的各種功能以及如何使用它們。盡管可以,但不建議嘗試繞過防火墻,因為它并不完全可靠,因此最好通過 SSH 連接到遠程服務器,然后在本地運行 Nmap。
以下是使用 Nmap 檢查開放端口的命令:
nmap -sTU -sV
命令解釋:
-sTU將掃描類型設置為 TCP 連接和 UDP 掃描。-T 5將計時模板設置為激進,以實現極快的掃描(不建議在未受保護的系統上使用,因為這可能會導致 DoS 攻擊)。-sV打開服務掃描。--min-rate 9000告訴 Nmap 每秒發送 9000 個數據包。--initial-rtt-timeout 50ms告訴 Nmap 首先等待 50ms 以等待對其發送的每個 SYN 數據包的響應。--max-rtt-timeout 3000ms告訴 Nmap 等待響應最多 3000ms。--min-parallelism 9000將同時運行腳本的最小數量設置為 9000。--max-retries 50告訴 Nmap 重試 50 次以連接到端口。-Pn禁用 ping 探測。--disable-arp-ping禁用 ARP 探測。-n禁用 DNS 解析。--script vuln,exploit,auth運行三個腳本來測試已發現端口中不同類型的漏洞。-v返回詳細輸出。-oX將結果保存到 XML 文件。-6用于掃描 IPv6 地址的可選參數。4. 使用 lsof 檢查開放端口Linux 中的 lsof 命令用于列出打開的文件。但是,如果我們向其中添加一些交換機,將能夠看到本地計算機上開放的互聯網連接和端口。以下是使用 lsof 檢查開放端口的方法:
lsof -i -n
命令解釋:
-i列出所有網絡和 Internet 文件。-n不解析主機名。5. 使用 netcat 檢查開放端口netcat 是一個命令行實用程序,可讓您從 TCP/UDP 連接讀取和寫入。請注意,這只是 netcat 的一項功能。您可以使用man netcat命令查看其手冊頁,以探索其所有功能以及如何使用它們。
以下是使用 netcat 掃描開放端口的方法:
nc -zv
命令解釋:
-z將 netcat 設置為掃描儀模式。-v返回詳細輸出。grep -v "refused"返回不帶單詞“refused”的輸出行。這是為了防止當 netcat 沒有從端口接收到輸出時,終端被“連接被拒絕”消息堵塞。2>&1:這是一個可選開關,在詳細模式下運行 netcat 時,您可能需要打開該開關才能使 grep 工作。 netcat 將輸出返回到 stderr(用 2 表示)。因此,要 grep 輸出,您必須將 stderr 重定向到 stdout(用 1 表示),然后將其通過管道傳輸到 grep 中。您對網絡了解越深,就越能更好地保護它了解哪些端口是開放的以及系統上正在運行哪些服務是防御潛在外部攻擊的重要一步。這使我們可以搜索并關閉不必要的服務,查找過時的服務,還可以檢測系統上是否運行任何惡意文件,例如bind或reverse shell后門。
原文標題:5 Easy Ways to Check for Open Ports on Linux
原文作者:DEBARSHI DAS
關鍵詞:
上一篇:揭開WI-FI6的奧秘:深入探討802.11AX標準
下一篇:最后一頁
X 關閉
X 關閉
- 15G資費不大降!三大運營商誰提供的5G網速最快?中國信通院給出答案
- 2聯想拯救者Y70發布最新預告:售價2970元起 迄今最便宜的驍龍8+旗艦
- 3亞馬遜開始大規模推廣掌紋支付技術 顧客可使用“揮手付”結賬
- 4現代和起亞上半年出口20萬輛新能源汽車同比增長30.6%
- 5如何讓居民5分鐘使用到各種設施?沙特“線性城市”來了
- 6AMD實現連續8個季度的增長 季度營收首次突破60億美元利潤更是翻倍
- 7轉轉集團發布2022年二季度手機行情報告:二手市場“飄香”
- 8充電寶100Wh等于多少毫安?鐵路旅客禁止、限制攜帶和托運物品目錄
- 9好消息!京東與騰訊續簽三年戰略合作協議 加強技術創新與供應鏈服務
- 10名創優品擬通過香港IPO全球發售4100萬股 全球發售所得款項有什么用處?