gpt4 book ai didi

在 C 上将 IPv4 转换为 IPv6

转载 作者:行者123 更新时间:2023-11-30 21:24:01 41 4
gpt4 key购买 nike

我正在尝试使用一些到 uint8_t 的转换将 IPv4 转换为 IPv6。我知道 IPv4 有 4 个字节,IPv6 有 2 个字节的 16 个无符号整数,但我找不到它们转换的方法。

#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main() {
uint8_t ipv6[16],direccionIP[] = {193, 110, 128, 200};
ipv6 = &direccionIP; //this doesn't work, and I don't come up with any method
printf("%u", ipv6);
return 0;
}

最佳答案

正如其他人所说,没有与 ipv4/ipv6 之间的直接映射。但是,映射到 ipv4/ipv6 或从 ipv4/ipv6 映射的方法有很多种,例如 6 到 4、teredo 等。

对于大多数情况,转换后的 IPv4 地址放置在 16 字节 IPv6 地址的低 4 字节中,IPv6 地址的其余部分有一系列指示映射的字节。

关于在 C 上将 IPv4 转换为 IPv6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39734150/

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