如果在设置了 IP_HDRINCL 的原始套接字上使用 sendto() dst_addr arg 是否重要?
问题几乎都在标题里了。
我想知道,考虑到: - 我使用原始套接字(在 GNU/Linux 上); - 设置选项 IP_HDRINCL 以便我自己制作 IP 标头。
由于目标 IP 地址是在精心设计的 IP 标头中提供的,因此 dst_addr 参数是否仍然发挥作用,还是完全无用?只有在这里,因为这就是函数原型的样子?
The question is almost all in the title.
I was wondering, given that:
- I use a raw socket (on GNU/Linux);
- the option IP_HDRINCL is set so that I craft the IP headers by myself.
As the dest IP addr is provided in the crafted IP header, does the dst_addr argument still plays a role or is it totally useless & only here cause that's how the function prototype is ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
目标地址用于路由数据包 - 它将是用于路由表查找以确定要将其发送到的下一跳地址的密钥。它通常应该与您在标头中设置的目标地址相同。
The destination address is used to route the packet - it'll be the key that's used for a routing table lookup to determine the next hop address to send it to. It should usually be the same as the destination address you set in the header.
不,没关系。
您在标头中输入的内容就是数据包的去向。
No it does not matter.
What you enter in the headers is where the packet would go.