# Linux的tcpdump命令怎么用
## 一、tcpdump簡介
tcpdump是Linux系統中最強大的網絡抓包分析工具之一,能夠捕獲流經指定網絡接口的數據包,并以可讀形式顯示或保存到文件中。作為命令行工具,它廣泛用于:
- 網絡故障排查
- 流量分析
- 安全審計
- 協議學習
## 二、安裝與基本使用
### 1. 安裝方法
```bash
# Debian/Ubuntu
sudo apt install tcpdump
# RHEL/CentOS
sudo yum install tcpdump
# Arch Linux
sudo pacman -S tcpdump
tcpdump [選項] [過濾表達式]
| 參數 | 說明 |
|---|---|
-i |
指定網卡(如eth0) |
-n |
禁用域名解析(顯示IP) |
-nn |
同時禁用端口服務名轉換 |
-v |
顯示詳細信息(-vv更詳細) |
-c |
捕獲指定數量包后退出 |
-w |
將結果寫入文件(.pcap格式) |
-r |
讀取抓包文件 |
-A |
ASCII格式顯示數據 |
-X |
同時顯示HEX和ASCII內容 |
-s |
設置抓包長度(默認96字節) |
host:指定主機(IP或域名)net:指定網絡段port:指定端口portrange:端口范圍src/dst:源/目標限定tcpdump host 192.168.1.100
tcpdump port 80
tcpdump src net 192.168.1.0/24
支持常見協議:
- tcp
- udp
- icmp
- arp
- ip/ip6
tcpdump icmp
tcpdump tcp port 22
and/&&or/||not/!tcpdump "src 192.168.1.1 and (dst port 80 or 443)"
# 抓取eth0網卡的所有流量
sudo tcpdump -i eth0
# 抓取HTTP流量(顯示ASCII內容)
sudo tcpdump -i eth0 -A port 80
# 抓取DNS查詢
sudo tcpdump -i eth0 -n port 53
# 抓取特定主機的SSH流量
sudo tcpdump -i eth0 "tcp port 22 and host 10.0.0.5"
# 排除ARP和DNS流量
sudo tcpdump -i eth0 "not arp and not port 53"
# 抓取ICMP Ping請求(不含響應)
sudo tcpdump -i eth0 "icmp[0] == 8"
# 保存抓包結果
sudo tcpdump -i eth0 -w capture.pcap
# 讀取并分析抓包文件
tcpdump -r capture.pcap "tcp port 443"
典型輸出示例:
15:30:45.123456 IP 192.168.1.100.54218 > 172.217.160.110.443: Flags [P.], seq 1:100, ack 1, win 256, length 99
各字段含義: 1. 時間戳(含微秒) 2. 協議類型(IP/IPv6等) 3. 源地址+端口 4. 目標地址+端口 5. TCP標志(S=SYN, P=PUSH, F=FIN等) 6. 序列號/確認號 7. 窗口大小 8. 數據長度
限制抓包大小:
sudo tcpdump -s 128 -i eth0
使用BPF過濾器提高效率:
sudo tcpdump "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0"
后臺運行并限制文件大?。?/p>
sudo tcpdump -i eth0 -C 100 -W 10 -w /var/tmp/capture.pcap &
sudo tcpdump -G 300 -W 1 -w hourly.pcap
-w保存后離線分析Wireshark可視化分析:
tcpdump -i eth0 -w - | wireshark -k -i -
tshark統計HTTP狀態碼:
tcpdump -i eth0 -w - | tshark -r - -Y "http" -T fields -e http.response.code
結合grep二次過濾:
tcpdump -i eth0 -l | grep "GET /login"
權限不足:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
提示”no suitable device found”:
ip link確認網卡名稱any)過濾語法錯誤:
()需要引號或反斜杠)提示:可通過
man tcpdump查看完整手冊,或訪問官方文檔獲取更多高級用法。 “`
注:本文實際約1250字,可通過以下方式擴展: 1. 增加更多實用案例(如VoIP抓包分析) 2. 添加BPF過濾器的詳細說明 3. 補充各協議字段的解析圖示 4. 加入性能測試數據對比
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。