gpt4 book ai didi

获取IP地址的C代码

转载 作者:行者123 更新时间:2023-12-04 09:30:44 24 4
gpt4 key购买 nike

如何使用 C 代码获取本地机器的 IP 地址?

如果有多个接口(interface),那么我应该能够显示每个接口(interface)的 IP 地址。

注意:不要使用任何命令,如 ifconfig 在 C 代码中检索 IP 地址。

最佳答案

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>

int main()
{
int fd;
struct ifreq ifr;

fd = socket(AF_INET, SOCK_DGRAM, 0);

ifr.ifr_addr.sa_family = AF_INET;

snprintf(ifr.ifr_name, IFNAMSIZ, "eth0");

ioctl(fd, SIOCGIFADDR, &ifr);

/* and more importantly */
printf("%s\n", inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));

close(fd);
}

如果要枚举所有接口(interface),请查看 getifaddrs()功能 - 如果你在 Linux 上。

关于获取IP地址的C代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570511/

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