Gopacket支持解析beacon和probe响应帧中的信息元素,如下所示: for _, layer := range packet.Layers() {
if layer.LayerType() == layers.LayerTypeDot11InformationElement {
dot11info, ok := layer.(*layers.Dot11InformationElement)
}
} 但是gopacket不支持解析探测请求帧中的信息元素。我只能使用packet.Layer(layers.LayerTypeDot11MgmtPr
我正在使用gopacket/layers api从数据包中提取upd数据,然后再通过另一个udp流发送数据,我不确定我这样做是否正确,是否也出现了一些错误,如果有人能指出正确的方向,这将是我的代码。
conn, err := net.Dial("udp", 1.1.1.1)
udp, _ := updpLayer.(*layers.UDP)
/*now if i send it like this*/
conn.Write(udp)
/*i get the errors: cannot use udp (type *layers.UDP) as type []byte i
当我尝试静态链接使用Gopacket的Go程序时,我会得到以下错误:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libpcap.a(pcap-dbus.o): in function `dbus_write':
(.text+0x103): undefined reference to `dbus_message_demarshal'
/usr/bin/ld: (.text+0x119): undefined reference to `dbus_connection_send