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 优先级最高) 复杂过滤常用
相关推荐
潇I洒3 小时前
Linux写sh开机启动脚本-bash报错的两种解决方法
java·linux·bash
孙同学要努力3 小时前
《Linux篇》进程/虚拟地址空间
linux·运维·服务器
zhilin_tang3 小时前
揭开Linux跨平台 adb调试原理神秘面纱
android·linux
せいしゅん青春之我4 小时前
【JavaEE初阶】网络原理——TCP处理先发后至问题
java·网络·笔记·网络协议·tcp/ip·java-ee
wfsm4 小时前
计算机网络
网络·计算机网络
LRX_1989274 小时前
网络管理员教程(初级)第六版--第1章计算机网络概述
网络·计算机网络
fei_sun4 小时前
【复习】计网每日一题1026---分片,UDP首部
网络·网络协议·udp
大聪明-PLUS4 小时前
6 个 Docker 高级功能
linux·嵌入式·arm·smarc
大佬,救命!!!4 小时前
定时打印的练习整理
linux·服务器·python·学习笔记·学习方法·定时发送