tcpdump抓包后wireshark无法打开,报错中带有272

问题引入

tcpdump抓包后wireshark无法打开(2开头版本的wireshark不能打开,4开头的wireshark可以打开)。
安装最新的4开头的wireshark后可以打开抓包。
使用的抓包命令是tcpdump -i any -w fff.pcap

原因

2开头版本的wireshark不支持解析链路层数据类型为linux cooked v2的抓包。

什么是Linux cooked(Linux cooked socket layer)

是Linux内核为了支持在非原始套接字(non-raw sockets)上捕获数据包而引入的一种数据链路层表示,是一种伪协议。

tcpdump -i any命令用来捕获所有网卡上的数据包,但是不同网卡可能具有不同的链路层类型(如eth、ppp),为了使抓包能在所有网卡上统一进行,linux内核会将捕获的数据包的以太网头替换为linux cooked capture头部。
Linux cooked分为v1和v2版本,版本区别有空再学习。

解决

1、安装最新的wireshark
2、抓包时使用-i命令指定网卡,如tcpdump -i ens33 -w fff.pcap

扩展

tcpdump支持哪些链路层数据类型,常见的有以下五种

  1. Ethernet(以太网)
  2. IEEE 802.11(无线局域网)
  3. PPP(点对点协议)
  4. Raw IP(原始IP)
  5. Linux SLL(Linux cooked socket layer)
posted @ 2024-06-10 20:29  菠萝超级酸  阅读(83)  评论(0编辑  收藏  举报