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 [网卡名] 指定抓包网卡(如 ens160、any 表示所有网卡) 必选
-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 优先级最高) 复杂过滤常用
相关推荐
一条破秋裤1 小时前
【1114】【并发控制】【笔记】
linux
2035去旅行2 小时前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康2 小时前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡2 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽3 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
爱和冰阔落7 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall9 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy9 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑
江湖有缘9 小时前
基于Ubuntu部署SoduWork:企业级 AI 原生协同平台实战全流程
linux·人工智能·ubuntu·ai·soduwork
无奈笑天下18 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器