go - 如何使用 gopacket 创建和发送 vxlan 数据包?

标签 go networking gopacket

我看过一些使用 gopacket 创建和发送 TCP/UDP 数据包的示例。现在我需要捕获和转发 udp vxlan 多播数据包,我不知道如何构造 vxlan 层及其有效负载。如何创建和发送 vxlan包机智gopacket?

最佳答案

gopacket 以 [] 字节的形式接收数据包数据,并将其解码为具有非零“层数”的数据包。每一层对应于字节内的一个协议(protocol)。
因为,这里没有很多上下文,并且您没有提供您编写的基本代码,
我只能将您转发给文档。
所以,
从源读取数据包:https://godoc.org/github.com/google/gopacket#hdr-Reading_Packets_From_A_Source
使用解码时要使用的图层类型:
对于 vxlan:https://godoc.org/github.com/google/gopacket/layers#VXLAN

关于go - 如何使用 gopacket 创建和发送 vxlan 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63424151/

相关文章:

unit-testing - 如何在自定义文件夹中使用 go test 生成多个包的覆盖率?

json - 什么输入会导致golang的json.Marshal返回错误?

c++ - 是否有可能在 Linux 上从 C/C++ 代码中丢弃基于(一组动态变化的)IP 地址的传入数据包?

go - gopacket中的tcp assembly包如何使用?

go - 多次执行例程读取pcap文件不能提高性能吗?

golang - 将 [ ] 接口(interface)转换为 [ ] 字符串或连接字符串

C# - 启用/禁用 DHCP

Java套接字API : How to tell if a connection has been closed?

sockets - Golang 将 gopacket udpLayer 转换为字节并发送

go - 尝试使用 interface{} slice 来选择随机元素