我需要从主机上的 eth0 向自身发送一些 UDP 数据包,也在 eth0 上。
我有一些可用的 Go 代码,但它似乎使用的是环回接口而不是 eth0 预期的那样。
package main
import (
"net"
)
func main() {
ip := net.ParseIP("192.168.1.158")
src := net.UDPAddr{IP: ip, Port: 8888,}
dest := net.UDPAddr{IP: ip, Port: 88}
conn, _ := net.DialUDP("udp", &src, &dest)
conn.Write([]byte("hi"))
}
192.168.1.158 是我机器上接口的主要和唯一 IP 地址。
运行以下命令会显示流量:
sudo tcpdump udp -v -i lo
但是,我希望流量来自/来自具有我定义的 IP 地址的系统接口。
我在这里错过了一步吗?
我也尝试过这种略有不同的方法,但结果相同:
src, _ := net.ResolveUDPAddr("udp", "192.168.1.158:8888")
dest, _ := net.ResolveUDPAddr("udp", "192.168.1.158:88")
波斯汪
相关分类