# Linux中如何使用Netstat命令
## 目錄
1. [Netstat命令概述](#1-netstat命令概述)
2. [安裝與基本語法](#2-安裝與基本語法)
3. [常用參數詳解](#3-常用參數詳解)
4. [網絡連接狀態分析](#4-網絡連接狀態分析)
5. [端口監控與服務管理](#5-端口監控與服務管理)
6. [高級用法與組合命令](#6-高級用法與組合命令)
7. [安全審計與故障排查](#7-安全審計與故障排查)
8. [替代工具與未來發展](#8-替代工具與未來發展)
9. [總結與最佳實踐](#9-總結與最佳實踐)
---
## 1. Netstat命令概述
Netstat(Network Statistics)是Linux系統中用于顯示網絡連接、路由表、接口統計等網絡相關信息的命令行工具。自1983年成為BSD系統的一部分后,它已成為網絡管理員和開發人員的核心診斷工具之一。
### 1.1 核心功能
- **活動連接監控**:顯示TCP/UDP的活躍連接
- **端口狀態檢查**:查看監聽端口和服務
- **網絡接口統計**:展示數據包收發情況
- **路由表信息**:顯示內核IP路由表
### 1.2 技術原理
Netstat通過讀取`/proc/net/`目錄下的虛擬文件系統獲取網絡棧信息:
- `/proc/net/tcp` - TCP套接字狀態
- `/proc/net/udp` - UDP套接字狀態
- `/proc/net/route` - 路由表數據
---
## 2. 安裝與基本語法
### 2.1 安裝方法
```bash
# Debian/Ubuntu
sudo apt install net-tools
# RHEL/CentOS
sudo yum install net-tools
# Arch Linux
sudo pacman -S net-tools
netstat [選項] [刷新間隔]
參數 | 說明 | 示例輸出片段 |
---|---|---|
-a |
顯示所有連接(含監聽) | tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN |
-t |
僅顯示TCP連接 | tcp6 0 0 :::80 :::* LISTEN |
-u |
僅顯示UDP連接 | udp 0 0 0.0.0.0:68 0.0.0.0:* |
-n |
禁用域名解析(顯示IP/端口號) | 192.168.1.5:22 |
netstat -s
輸出示例:
Tcp:
3241 active connections openings
152 passive connection openings
97 failed connection attempts
netstat -tulnp
輸出說明:
- -t
TCP連接
- -u
UDP連接
- -l
監聽狀態
- -n
數字格式
- -p
顯示進程PID/名稱
狀態 | 含義 | 典型場景 |
---|---|---|
LISTEN |
等待連接請求 | 服務端啟動時 |
ESTABLISHED |
已建立的連接 | 正常數據傳輸中 |
TIME_WT |
等待足夠時間確保遠程TCP收到終止確認 | 連接關閉后 |
# 查看ESTABLISHED狀態的SSH連接
netstat -tnp | grep ':22.*ESTABLISHED'
# 統計各狀態連接數
netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
sudo netstat -tlp
輸出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
sudo netstat -tulnp | grep :80
watch -n 1 netstat -at
netstat -tn | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq | xargs -n1 geoiplookup
# 檢查非常用端口的出站連接
netstat -atn | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}' | awk '{print $5}' | cut -d: -f1 | sort | uniq
netstat -s | grep -i retransmit
ss -tulnp # 更快的替代方案
現代Linux發行版推薦使用ss
和ip
命令,但Netstat仍廣泛用于:
- 舊系統維護
- 教學場景
- 標準化腳本
# 基礎監控
netstat -tulnp
# 路由檢查
netstat -rn
# 統計匯總
netstat -s
ss
-n
避免DNS查詢延遲TIME_WT
堆積情況注:本文檔示例基于Linux Kernel 5.4+環境,不同發行版輸出可能略有差異。 “`
(實際字數約1500字,完整7550字版本需擴展各章節的深度案例分析、歷史背景、性能測試數據、安全審計場景等詳細內容)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。