TCPDump 是入门 Linux/Unix 系统下的一个强大的命令行网络抓包工具,它能够捕获流经网络接口的到抓数据包,并以可读的包分形式显示出来。
它支持丰富的析实过滤规则,可以精确抓取特定协议、入门IP、到抓端口的包分数据包,网站模板是析实网络故障排查、安全分析、入门协议学习的到抓利器。

在部分 Linux 发行版中TCPDump 已经预装。包分如果没有,析实可以使用包管理器安装:
复制# Debian/Ubunt sudo apt install tcpdump # CentOS/RHEL sudo yum install tcpdump # macOS (通过 Homebrew) brew install tcpdump1.2.3.4.5.6.7.8.9.10.验证安装:
复制tcpdump --version1. 2. 基本用法(1) 查看可用网络接口
复制tcpdump -D1.输出示例:
复制1.eth0 2.wlan0 3.lo (Loopback)1.2.3.(2) 捕获所有网络流量
复制sudo tcpdump -i eth01. -i eth0:指定网卡(默认是入门第一个非 loopback 接口)按 Ctrl+C 停止抓包(3) 保存抓包数据到文件
复制sudo tcpdump -i eth0 -w capture.pcap1.-w capture.pcap:保存为 .pcap 文件(可用 Wireshark 分析)
(4) 读取抓包文件
复制tcpdump -r capture.pcap1. 3. 过滤数据包TCPDump 支持 BPF(Berkeley Packet Filter)语法,可以精确过滤数据包。到抓
(1) 按 IP 过滤
复制# 抓取来自 192.168.1.100 的包分流量 sudo tcpdump -i eth0 host 192.168.1.100 # 抓取目标 IP 是 8.8.8.8 的服务器托管流量 sudo tcpdump -i eth0 dst 8.8.8.8 # 抓取源 IP 是 192.168.1.1 的流量 sudo tcpdump -i eth0 src 192.168.1.11.2.3.4.5.6.(2) 按端口过滤
复制# 抓取 80 端口的 HTTP 流量 sudo tcpdump -i eth0 port 80 # 抓取目标端口 443 (HTTPS) sudo tcpdump -i eth0 dst port 443 # 抓取源端口 22 (SSH) sudo tcpdump -i eth0 src port 221.2.3.4.5.6.7.8.9.10.(3) 按协议过滤
复制# 抓取 ICMP (Ping) 流量 sudo tcpdump -i eth0 icmp # 抓取 TCP 流量 sudo tcpdump -i eth0 tcp # 抓取 UDP 流量 sudo tcpdump -i eth0 udp1.2.3.4.5.6.7.8.9.10.(4) 组合过滤
复制# 抓取来自 192.168.1.100 的 80 端口流量 sudo tcpdump -i eth0 "host 192.168.1.100 and port 80" # 抓取非 HTTP/HTTPS 的流量 sudo tcpdump -i eth0 "not (port 80 or port 443)"1.2.3.4.5.6. 4. 高级用法(1) 限制抓包数量
复制# 只抓 10 个包后停止 sudo tcpdump -i eth0 -c 101.2.(2) 显示数据包内容(十六进制 + ASCII)
复制sudo tcpdump -i eth0 -X1.(3) 抓取 HTTP 请求(显示 URL)
复制sudo tcpdump -i eth0 -A "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)"1.(4) 抓取 DNS 查询
复制sudo tcpdump -i eth0 port 531. 5. 结语TCPDump 是网络工程师、安全研究员、运维人员的必备工具,结合 Wireshark 可以更直观地分析数据包。掌握它,你就能像黑客一般洞察网络流量!站群服务器








