#1205·gopacket

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 值为 Mgmthttps://GitHub.com/google/gopacket/blob/v1.1.19/layers/enums.go#L214 检查库代码,我认为我看到 Mgmt 实际上永远不会被返回? Dot11TypeMetadata 数组中实际上没有 Dot11TypeMgmt 项。这似乎与以下两个值相关?

内容来源: google/gopacket