Linux下如何从特定接口发送UDP数据包?

2024-04-08

我有几个带有 IPv4 链路本地地址的以太网接口,这意味着我有多个路由169.254.0.0/16在不同的接口上。 (这些接口不一定位于同一个二层网络上,因此该范围内的相同IP可以被不同接口上的不同系统使用。)

当发送 UDP 数据包到某个地址时169.254.0.0/16我无法选择使用 Rust 标准库发送数据包的接口UdpSocket,但是如果不指定接口,很可能会使用错误的接口。

如何从特定接口发送 UDP 数据包?

(IPv6 链路本地fe80::/64有类似的问题,但是SocketAddrV6 has a scope_id可用于设置要使用的接口的索引)。


假设您知道哪个本地 IP 地址属于哪个网络,您可以使用bind将套接字绑定到该 IP 地址。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下如何从特定接口发送UDP数据包? 的相关文章

随机推荐