gpt4 book ai didi

c - ipv6 的 UDP 校验和验证 : how to fetch ipv6 source address from auxilliary data

转载 作者:行者123 更新时间:2023-11-30 16:26:36 25 4
gpt4 key购买 nike

我有一个原始的 ipv6 套接字,我从中获取这个 udp 数据包。套接字(AF_INET6,SOCK_RAW,IPPROTO_UDP)

我需要验证收到的数据包的udp校验和,并计算伪 header ,需要找到源ip地址。不知道如何从 ipv6 原始套接字获取它。

对于目标地址,我们有 IPV6_RECVPKTINFO 套接字选项,但不确定如何从中获取源地址。

最佳答案

我不太喜欢 RAW Sockets 和 IPv6。如果没有任何代码可以执行,我建议查看 RFC。参见这里:https://www.ietf.org/rfc/rfc3542.txt 。特别请参阅第 21 页 - 4 至 6 和 6.2。

另请参阅 msg_control:(ssize_t recvmsg(int socket, struct msghdr *message, int flags);)

struct msghdr {

void *msg_name optional address
socklen_t msg_namelen size of address
struct iovec *msg_iov scatter/gather array
int msg_iovlen members in msg_iov
void *msg_control ancillary data, see below
socklen_t msg_controllen ancillary data buffer len
int msg_flags flags on received message`
}

关于c - ipv6 的 UDP 校验和验证 : how to fetch ipv6 source address from auxilliary data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com