jjzjj

gopacket

全部标签

go - 如何使用 gopacket 获取 header 字节/长度

尝试使用gopacket创建以太网数据包(ARP、BGP、UDP、TCP)并获取其包头字节和长度。尝试使用下面的示例,尝试列出所有层并找到有效载荷位置,然后计算总header长度和字节数:packagemainimport("fmt""net""github.com/google/gopacket""github.com/google/gopacket/layers")funcmain(){var(buffergopacket.SerializeBufferoptionsgopacket.SerializeOptions)//CreatethelayersethernetLayer:=

go - 如何使用 gopacket 获取 header 字节/长度

尝试使用gopacket创建以太网数据包(ARP、BGP、UDP、TCP)并获取其包头字节和长度。尝试使用下面的示例,尝试列出所有层并找到有效载荷位置,然后计算总header长度和字节数:packagemainimport("fmt""net""github.com/google/gopacket""github.com/google/gopacket/layers")funcmain(){var(buffergopacket.SerializeBufferoptionsgopacket.SerializeOptions)//CreatethelayersethernetLayer:=

go - 使用 gopacket 作为入门学习 Golang

最近(一月)开始学习golang。我正在尝试在Go中重现我们内部用Python编写的工具。所以我有这个工具完全可以用于DNS的UDP解码,但是我已经努力了一个星期试图获得基于TCP的DNS解码。我的目标是记录到达我们DNS服务器的每个数据包的DNS源、目的地、查询和答案。以类似的方式dnstap但是我们有一个内部解决方案,目前使用Python来适应我们的内部自定义日志记录和事件关联系统。funcListen(h*pcap.Handle,c*Config,loggerchan我试图将layer/tcp.go中的NextLayerType强制到DNSLayertype等,以试图找到我缺少的

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

我一直在使用pcap包和gopacket来解析网络流量,并取得了相当大的成功。这些库使处理网络捕获变得更加容易,它们无疑为我节省了大量时间。我想更进一步,使用tcpassembly包开始重新组装TCP流,但我不确定文档中提供的示例如何去做。链接在这里:http://godoc.org/code.google.com/p/gopacket/tcpassembly/tcpreader我正在寻找的是一个简单的示例,该示例演示了如何进行设置,以便数据包从一端进入,而良好的字节有序数据流从另一端传出。提前致谢! 最佳答案 事实证明,主仓库中已

go - 在 Windows 64 位上编译 gopacket

我正在尝试使用gopacket在我的Windows10上。我正在使用它来嗅探数据包并将其直接注入(inject)NIC或从NIC直接注入(inject)数据包。我可以使用GOARCH=386轻松编译和运行我的代码,但不能使用GOARCH=amd64。值得注意的是:我并没有尝试交叉编译。我正在使用go1.6.windows-386编译32位版本,当我尝试使用GOARCH=amd64进行编译时,我使用go1.6.windows-amd64。我使用TDM-GCC作为linux之类的编译工具。该错误不是指示性的。它只是说c:/WpdPack/Lib/x64/wpcap.lib:添加符号时出错:

sockets - 如何使用 Golang 编写原始 TCP 数据包(使用 gopacket)并通过原始套接字发送

我想使用gopacket制作客户TCP数据包,然后使用原始套接字发送它们。这是一个简短易读的示例go程序,它演示我想做什么:packagemainimport("code.google.com/p/gopacket""code.google.com/p/gopacket/examples/util""code.google.com/p/gopacket/layers""log""net")funcmain(){deferutil.Run()()//XXXcreatetcp/ippacketsrcIP:=net.ParseIP("127.0.0.1")dstIP:=net.ParseIP

go - 使用 gopacket 更改目标端口

我目前正在研究来自nfqueue的阅读包并修改它们。不幸的是,我在更改包的目标端口时有点卡住了。请参阅下面的代码片段。想法是将目标端口8888重写为8000。我确实看到修改后的包从队列中出来,但是如果我想通过连接到端口8888来连接到监听端口8000的HTTP服务器,连接超时。我假设包中存在格式错误的内容。packagemainimport("os""os/signal""syscall""github.com/chifflier/nfqueue-go/nfqueue""github.com/coreos/go-iptables/iptables""github.com/google/
12