gpt4 book ai didi

转换 IP 以进行反向 ip 查找

转载 作者:太空狗 更新时间:2023-10-29 15:11:33 25 4
gpt4 key购买 nike

我有一个 IP 地址,例如char *ip = "192.168.1.13" 需要转换成这个"13.1.168.192"在 C 中是否已经存在适当的可能性,还是我必须通过简单地制作 token 并将它们重新放在一起来自己完成?

最佳答案

您始终可以使用 inet_pton 将其转换为二进制形式,使其易于逆向,然后使用 inet_ntop 转换回文本。


请记住,IPv4 地址只是一个 32 位无符号整数。交换其周围的字节非常容易。

像这样:

const char ip[] = "192.168.0.1";
char reversed_ip[INET_ADDRSTRLEN];

in_addr_t addr;

/* Get the textual address into binary format */
inet_pton(AF_INET, ip, &addr);

/* Reverse the bytes in the binary address */
addr =
((addr & 0xff000000) >> 24) |
((addr & 0x00ff0000) >> 8) |
((addr & 0x0000ff00) << 8) |
((addr & 0x000000ff) << 24);

/* And lastly get a textual representation back again */
inet_ntop(AF_INET, &addr, reversed_ip, sizeof(reversed_ip));

在此代码之后,变量 reversed_ip 包含字符串形式的反向地址。

关于转换 IP 以进行反向 ip 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373248/

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