通过gopcap将数据包发送到127.0.0.1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过gopcap将数据包发送到127.0.0.1相关的知识,希望对你有一定的参考价值。
似乎通过使用gopacket / gopcap发送的数据包以某种方式“发送”,因为它们在tshark跟踪中可见:
444 143.613451037 127.0.0.1 → 127.0.0.1 UDP 66 6000 → 8888 Len=22
但是这些数据包永远不会到达127.0.0.1:8888上的同一台机器上的进程(例如netcat -ul 8888
)。
有没有人对为什么会这样做或有什么尝试提示?如上所述,数据包实际上在tshark跟踪中可见......之后它们似乎完全消失了。
... irrelevant
out , err := pcap.OpenLive(*iface, 65535, true, -1 * time.Second)
out.WritePacketData(buf.Bytes())
... irrevelant
我们的想法是构造数据包并在lo
上发送它们,以便监听127.0.0.1:<some port>
的进程实际上可以看到这些数据包。
IP src / dst均为127.0.0.1,ethernet src / dst均为00:00:00:00:00:00。
编辑:
对于一些更多的研究似乎是这样的情况,发送具有pcap的数据包绕过IP网络堆栈,使得进程无法看到数据包。解决方法是剥离跟踪中较低级别的数据包并打开常规udp / tcp套接字并通过该套接字发送有效负载。
答案
对于一些更多的研究似乎是这样的情况,发送具有pcap的数据包绕过IP网络堆栈,使得进程无法看到数据包。解决方法是剥离跟踪中较低级别的数据包并打开常规udp / tcp套接字并通过该套接字发送有效负载。
以上是关于通过gopcap将数据包发送到127.0.0.1的主要内容,如果未能解决你的问题,请参考以下文章