Dot11Type MainType() 函数不返回 `Mgmt`
作者: ChuckLangford创建于 2025年3月16日更新于 2025年3月16日
新手在 Go 和这个库中,所以,也许我已经忽略了某些东西。以下是我所看到的一个简单示例: go packet := gopacket.NewPacket( data, layers.LayerTypeRadioTap, gopacket.DecodeOptions{Lazy: true, NoCopy: true}, )
// 从包中检索 dot11 层
dot11Layer := packet.Layer(layers.LayerTypeDot11)
if dot11Layer == nil {
log.Fatalf("No 802.11 layer found in packet %d", i)
}
dot11, ok := dot11Layer.(*layers.Dot11)
fmt.Printf("MainType: %s\n", dot11.Type.MainType())
fmt.Printf("Type: %s\n", dot11.Type)
从中,我得到以下输出:
MainType: MgmtAssociationReq
Type: MgmtBeacon
根据文档,我应该期望 MainType 值为 Mgmt。https://GitHub.com/google/gopacket/blob/v1.1.19/layers/enums.go#L214
检查库代码,我认为我看到 Mgmt 实际上永远不会被返回? Dot11TypeMetadata 数组中实际上没有 Dot11TypeMgmt 项。这似乎与以下两个值相关?
内容来源: google/gopacket