linux 抓包工具 / tcpdump

tcpdump是一款强大的网络数据包分析工具,用于捕获和分析网络流量。本文介绍了tcpdump的参数说明,如 `-a`、`-c`、`-n` 和 `-w` 等,并提供了多个实战示例,包括监控特定网络接口、IP地址、端口及协议。通过示例展示了如何捕获和解析https头、保存数据包为.cap文件以及查看已保存的数据包内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零、简介

tcpdump 可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not 等逻辑语句来帮助你去掉无用的信息。

一、参数说明

tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位] 

  • -a 尝试将网络和广播地址转换成名称。
  • -c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
  • -d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
  • -dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
  • -ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
  • -e 在每列倾倒资料上显示连接层级的文件头。
  • -f 用数字显示网际网络地址。
  • -F<表达文件> 指定内含表达方式的文件。
  • -i<网络界面> 使用指定的网络截面送出数据包。
  • -l 使用标准输出列的缓冲区。
  • -n 不把主机的网络地址转换成名字。
  • -N 不列出域名。
  • -O 不将数据包编码最佳化。
  • -p 不让网络界面进入混杂模式。
  • -q 快速输出,仅列出少数的传输协议信息。
  • -r<数据包文件> 从指定的文件读取数据包数据。
  • -s<数据包大小> 设置每个数据包的大小。
  • -S 用绝对而非相对数值列出TCP关联数。
  • -t 在每列倾倒资料上不显示时间戳记。
  • -tt 在每列倾倒资料上显示未经格式化的时间戳记。
  • -T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
  • -v 详细显示指令执行过程。
  • -vv 更详细显示指令执行过程。
  • -x 用十六进制字码列出数据包资料。
  • -w<数据包文件> 把数据包数据写入指定的文件。 

二、栗子

1、tcpdump -D 获取网络适配器列表。

2、tcpdump -i <需要监控的网络适配器编号>,例如监控网卡 ens33 ,则使用 tcpdump -i 1  

3. 使用无线网卡 ens33 监控 IP 地址为 172.16.86.111 上 443 端口的 tcp 协议。

sudo tcpdump -i 1 host 172.16.86.111 and tcp port 443 

4. 使用无线网卡 ens33 监控 IP 地址为 172.16.86.111 上 8308 端口的 udp 协议: 

 sudo tcpdump -i 1 host 172.16.86.111 and udp port 8308

5、如果想要显示数据包的内容,需要使用 -X 参数,如,我想要显示捕获的 https 数据包 http header 的内容: 

sudo tcpdump -X -i 1 host 172.16.86.111 and tcp port 443 

可以看到该结果只显示了 https 头的一部分,没有显示全,是因为 tcpdump 默认将显示的数据长度截断了,可以使用 -s 后面加数据长度,来设置数据显示长度: 

sudo tcpdump -X -s 0 -i 1 host 172.16.86.111 and tcp port 443

以上的例子中,-s 0 表示自动设置长度使其能够显示所有数据。

6、使用 -w 参数将捕获的数据存储为 .cap 文件: 

sudo tcpdump -X -s 0 -i 1 -w tcplog.cap host 192.9.200.59 and tcp port 8000

使用 -r 参数查看 .cap 文件: 

sudo tcpdump -X -s 0 -i 1 -r tcplog.cap host 172.16.86.111 and tcp port 443

7、抓 192.168.1.123 的 80 端口和 110 和 25 以外的其他端口的包  

sudo tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap 

转载:linux网络调试发包抓包工具_听雨听风眠的博客-优快云博客_linux 抓包工具 

(SAW:Game Over!) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值