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 优先级最高) 复杂过滤常用
相关推荐
chlk1236 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑7 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件7 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号17 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash21 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
崔小汤呀3 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应3 天前
vi编辑器使用
linux·后端·操作系统