[英]Bogus IP Address from getaddrinfo & inet_ntop
我一直在使用getaddrinfo查找基本套接字命令的套接字地址。 最近,它返回给我的地址是伪造的IP地址,我发现使用inet_ntop。 我已经尝试了我的代码,以及Beej指南中提供的代码,它们都产生了相同的结果。 这是代码:
struct addrinfo hints, *info;
int status;
memset(&hints, 0, sizeof hints);
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
if(status = getaddrinfo(address, port, &hints, &info)) {
fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(status));
}
char ip4[INET_ADDRSTRLEN];
inet_ntop(AF_INET, info->ai_addr, ip4, INET_ADDRSTRLEN);
std::cout<<ip4<<std::endl;
无论我使用什么地址,它总是给我一张表格的IP
16.2.xy
其中256 * x + y等于端口号。 有没有人见过这种情况,或者任何人都可以猜到为什么它会给我这个?
你不应该过世吗?
((sockaddr_in const *)info->ai_addr)->sin_addr
到inet_ntop
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.