扩展帧以太网的工作原理

2024-04-25 13:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用socket,试图了解如何找到好的格式字符来解包以太网帧。在

例如,要解压缩以太网帧,可以执行以下操作:

struct.unpack("! 6s 6s H", data[0:14])

我们怎么知道是“6s 6s H”?在


Tags: data格式socket字符structunpack
1条回答
网友
1楼 · 发布于 2024-04-25 13:03:49

以太网数据包包括

  • 目标MAC地址
  • 源MAC地址
  • 类型
  • 有效载荷
  • 填充

MAC地址是48位或6字节长。类型是一个1字节的字段。在

如果我对这些标题有疑问,我使用Wireshark并查看其解释。它们还有一个wiki来解释结构。在

在您的字符串中,!告诉您在解包时使用标准大小和网络endianness(big endian),6s使用6个字符为目标地址构建一个字符串,6s获取源地址,H接受类型的无符号缩写。在

您可以在7.3.2.2 of the Python documentation7.3.2.1中找到格式字符

相关问题 更多 >