首頁 > 網路管理 > netstat

netstat 命令指南:檢查網絡連接和統計(舊版)

`netstat` 命令(網絡統計)用於顯示 Linux 和 Unix 類操作系統的網絡連接、路由表、接口統計、偽裝連接等。這是一個對於監控系統的網絡狀態和解決問題非常有用的工具。**但在現代 Linux 系統中,`ss`(套接字統計)命令已經取代了 `netstat`,提供了更快、更強大的功能。因此,建議使用 `ss` 命令。** 通過本指南了解 `netstat` 的基本用法以及為什麼需要轉向 `ss`。

netstat 概述

`netstat` 提供有關系統網絡活動的各種信息。這對於診斷服務器的特定端口是否打開、哪些進程正在使用網絡連接、路由路徑是否正確等非常有用。然而,作為 `net-tools` 套件的一部分,對 IPv6 的支持不完善,並且在大規模系統中可能會出現性能問題,因此被 `iproute2` 套件中的 `ss` 命令所取代。

netstat 的主要角色

`netstat` 命令主要用於以下目的:

主要應用領域(過去及部分系統)

  • 檢查活動連接: 顯示當前設置的所有 TCP、UDP 連接和監聽端口。
  • 檢查路由表: 顯示定義 IP 數據包傳輸路徑的路由表。
  • 網絡接口統計: 提供每個網絡接口的數據包傳輸和接收統計。
  • 進程-端口映射: 檢查哪些進程正在使用特定端口。

`netstat` vs `ss`

`netstat` 已經使用多年,但現在 `ss` 命令正在取代它的角色。在新系統中,習慣使用 `ss` 是好的做法。

  • netstat: 舊版工具,基於 `/proc` 文件系統,在大規模連接時可能較慢,對 IPv6 支持不完善。
  • ss: 現代且快速,直接訪問內核的套接字統計,完美支持 IPv6,提供更多過濾選項。

netstat 安裝(可選)

某些最新的 Linux 發行版(例如:從 Ubuntu 18.04 開始)可能未預裝 `netstat`。如有需要,可以安裝 `net-tools` 套件以進行使用。

`netstat` 安裝(Debian/Ubuntu)

sudo apt update
sudo apt install net-tools

在 Debian 或 Ubuntu 基礎系統上安裝包含 `netstat` 的 `net-tools` 套件的命令。

主要 netstat 命令選項

`netstat` 命令可以通過組合各種選項來詳細過濾和顯示所需的網絡信息。

1. 連接和端口信息

2. 路由表和統計

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`netstat` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用示例

`netstat` 命令的各種應用示例,幫助您了解如何檢查系統的網絡連接和統計。

檢查所有活動的 TCP 連接和監聽端口

sudo netstat -tulpn

最常用的組合,顯示 TCP 連接和監聽端口的數字地址,同時顯示相關的程序名稱和 PID。

僅檢查所有監聽(Listening)端口

sudo netstat -lntp

檢查當前系統中所有等待外部連接的端口(TCP、UDP)。在確認服務器端口是否正常打開時非常有用。

檢查路由表

netstat -rn

以數字格式顯示系統的 IP 路由表。可以查看數據包將以何種路徑傳送。

檢查使用特定端口的進程

sudo netstat -tulpn | grep :80

檢查使用端口 `80` 的 TCP 連接和監聽端口的進程信息。(對於診斷網絡服務器非常有用)

檢查每個網絡接口的統計

netstat -i

顯示每個網絡接口(例如:`eth0`、`lo`)的接收(Rx)和發送(Tx)數據包數量及錯誤等。

完整的網絡統計摘要

netstat -s

顯示各種網絡協議(TCP、UDP、IP 等)中的整體統計摘要。


相同類別命令