tcpdump 是 Linux/Unix 系统中一款强大的命令行网络抓包工具,可实时捕获网络接口上的数据包并解析,常用于网络故障排查、协议分析、流量监控等场景。以下从基本语法、核心选项、过滤规则、高级用法及实用案例等方面详细讲解。 一、基本语法 tcpdump 的核心语法结构为: tcpdump [选项] [过滤表达式] 选项:控制抓包的行为(如指定接口、输出格式、保存文件等)。 过滤表达式:筛选需要捕获的数据包(如指定主机、端口、协议等)。 二、核心选项详解 选项用于调整抓包的范围和输出方式,常用选项如下: 选项作用示例 -i <接口>指定抓包的网络接口(如 eth0、lo);-i any表示所有接口tcpdump -i eth0(抓 eth0 接口的包) -n不进行 DNS 解析(直接显示 IP,不转主机名)tcpdump -n(输出 IP 而非域名) -nn不解析 IP 和端口(端口显示数字,不转服务名如 80 不显示 http)tcpdump -nn(IP 和端口均为数字) -v/-vv/-vvv增加输出详细程度(v:基本详情;vv:更多协议细节;vvv:最详细).... tcpdump命令详解 linux