【问题标题】:ICMP Packet header layoutICMP 数据包头布局
【发布时间】:2016-07-19 05:48:06
【问题描述】:

我正在处理 ICMP ping 任务,并且正在尝试理解给我的框架代码。

icmpHeader=recPacket[20:28]
type,code,checksum,packetID,sequence=struct.unpack("bbHHh",icmpHeader) 

我知道这个段解析数据包以获取 ICMP 标头,并将标头解包为变量 type、code、checksum、packetID、sequence。我也明白“bbHHh”表示数据包头的布局。我的问题是在哪里可以找到布局信息?我知道“H”代表无符号短(16),但我不知道“b”或“h”代表什么。我在哪里可以获得这些信息?

【问题讨论】:

  • 阅读 struct.unpack 的 Python 文档?
  • 没关系,想通了。没想到看 Python 的标准格式字符。

标签: python packet icmp


【解决方案1】:

代码使用 Python 的 struct 模块对标头进行解码。格式字符记录在module's documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2014-08-28
    • 1970-01-01
    相关资源
    最近更新 更多