在Linux中,如何檢視開放的埠?

黄嘉波發表於2024-05-01

在Linux系統中,檢視開放的埠通常涉及到使用網路工具來檢查哪些埠正在被監聽。以下是一些常用的命令和方法:

  1. 使用netstat命令
    netstat是一個用於顯示網路狀態資訊的命令列工具。要檢視開放埠,可以使用以下命令:

    netstat -tuln
    

    解釋:

    • -t:顯示TCP連線
    • -u:顯示UDP連線
    • -l:僅顯示監聽套接字(即正在監聽的埠)
    • -n:以數字形式顯示地址和埠,而不嘗試查詢它們的名稱
  2. 使用ss命令
    ss是另一個用來檢視系統socket統計資訊的工具,它是netstat的替代品,提供了更快的輸出。使用ss檢視開放埠的命令如下:

    ss -tuln
    

    解釋與netstat相同。

  3. 使用lsof命令
    lsof(列出開啟檔案)可以用來顯示開啟的檔案,包括網路連線。要檢視開放埠,可以結合-i選項使用,例如:

    lsof -i
    

    這將列出所有網路連線和監聽埠。如果只想檢視監聽埠,可以使用:

    lsof -i -sTCP:LISTEN
    
  4. 使用nmap工具
    nmap是一個強大的網路掃描工具,可以用來掃描本地或遠端主機的開放埠。如果你想檢查本機的開放埠,可以使用-p選項指定埠範圍,-v選項增加詳細輸出,例如:

    nmap -p 1-65535 -v localhost
    

    這將掃描本地主機上從1到65535的所有埠。

  5. 使用sudo許可權
    由於安全原因,某些命令可能需要管理員許可權才能檢視所有開放埠。如果你發現沒有看到預期的結果,可以嘗試在命令前加上sudo,例如:

    sudo netstat -tuln
    

綜上所述,不同的Linux發行版可能預設安裝了不同的工具,或者工具的確切選項可能略有不同。在使用任何命令之前,請確保瞭解其含義和潛在的影響,特別是當你需要使用管理員許可權時。

相關文章