0
点赞
收藏
分享

微信扫一扫

linux 抓包工具 / tcpdump

吴wuwu 2022-04-26 阅读 76

零、简介

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

一、参数说明

  • -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 协议。

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

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

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

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

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

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

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

(SAW:Game Over!) 

举报

相关推荐

0 条评论