tcpdump 常用命令及参数解析

一、基础核心命令

功能描述 命令示例 适用场景
指定 ens160 抓包 sudo tcpdump -i ens160 基础抓包,查看网卡实时流量
限制抓包数量 sudo tcpdump -i ens160 -c 100 避免产生大量数据,快速取样
禁止地址 / 端口解析 sudo tcpdump -i ens160 -n -nn 提升抓包效率,显示原始 IP / 端口
保存抓包到文件 sudo tcpdump -i ens160 -w traffic.pcap 离线分析或留存证据
读取保存的数据包 sudo tcpdump -r traffic.pcap -nn 分析已捕获的离线数据
显示详细包信息 sudo tcpdump -i ens160 -v -vv 查看 TTL、校验和等深层信息

二、协议过滤命令

功能描述 命令示例 适用场景
捕获 TCP 协议包 sudo tcpdump -i ens160 -nn tcp 排查 HTTP、SSH 等 TCP 服务问题
捕获 UDP 协议包 sudo tcpdump -i ens160 -nn udp 排查 DNS、视频流等 UDP 服务问题
捕获 ICMP 协议包 sudo tcpdump -i ens160 -nn icmp 排查 ping 不通、主机可达性问题
排除指定协议 sudo tcpdump -i ens160 -nn not icmp 过滤无关协议,聚焦目标流量

三、IP 与端口过滤命令

功能描述 命令示例 适用场景
按源 IP 过滤 sudo tcpdump -i ens160 -nn src 192.168.1.5 监控特定主机发出的流量
按目标 IP 过滤 sudo tcpdump -i ens160 -nn dst 192.168.1.10 监控发送到特定主机的流量
按主机过滤(双向) sudo tcpdump -i ens160 -nn host 192.168.1.8 监控与特定主机的所有通信
按网段过滤 sudo tcpdump -i ens160 -nn net 192.168.1.0/24 监控某一网段的流量
按目标端口过滤 sudo tcpdump -i ens160 -nn dst port 80 排查 HTTP(80 端口)服务问题
按源端口过滤 sudo tcpdump -i ens160 -nn src port 22 排查 SSH(22 端口)连接问题
按端口范围过滤 sudo tcpdump -i ens160 -nn portrange 1000-2000 监控某一端口区间的流量
IP + 端口组合过滤 sudo tcpdump -i ens160 -nn src 192.168.1.5 and dst port 443 监控特定主机访问 HTTPS(443 端口)的流量

四、TCP 标志位过滤命令

功能描述 命令示例 适用场景
捕获 SYN 连接请求包 sudo tcpdump -i ens160 -nn tcp[13] & 2 != 0 排查 TCP 连接建立失败问题
捕获 SYN+ACK 响应包 sudo tcpdump -i ens160 -nn tcp[13] = 18 验证服务器是否响应连接请求
捕获 RST 重置包 sudo tcpdump -i ens160 -nn tcp[13] & 4 != 0 排查服务崩溃、端口未监听等异常
捕获 FIN 断开请求包 sudo tcpdump -i ens160 -nn tcp[13] & 1 != 0 分析连接正常断开流程

五、内容查看命令

功能描述 命令示例 适用场景
ASCII 格式显示内容 sudo tcpdump -i ens160 -A -nn tcp port 80 查看 HTTP 请求 / 响应的文本内容
十六进制 + ASCII 显示 sudo tcpdump -i ens160 -X -nn tcp port 80 查看二进制 + 文本混合数据(如文件传输)
过滤含特定关键词的包 sudo tcpdump -i ens160 -A -nn 'tcp port 80 and contains "login"' 捕获登录请求等关键业务数据包

六、关键参数解析

参数 功能说明 优先级 / 常用度
-i [网卡名] 指定抓包网卡(如 ens160any 表示所有网卡) 必选
-c [数量] 捕获指定数量的数据包后停止 常用
-n 禁止将 IP 地址转换为域名 常用
-nn 禁止 IP 转域名、端口转服务名(如 80→http) 常用
-w [文件] 将数据包保存为 pcap 格式文件 常用
-r [文件] 读取 pcap 格式的离线数据包文件 常用
-v/-vv/-vvv 显示详细程度不同的数据包信息(v 越多越详细) 可选
-A 以 ASCII 码格式显示数据包内容 文本协议常用
-X 以十六进制 + ASCII 码格式显示数据包内容 二进制数据常用
src/dst 指定源 / 目标 IP 或端口 过滤必选
host 指定双向通信的主机 IP 过滤常用
net 指定网段 网段监控常用
port/portrange 指定单个端口 / 端口范围 服务排查常用
tcp/udp/icmp 指定协议类型 协议过滤常用
and/or/not 逻辑运算符,组合多个过滤条件(not 优先级最高) 复杂过滤常用
相关推荐
A小辣椒21 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5203 天前
Linux 11 动态监控指令top
linux
网络研究院3 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展