#include<stdio.h>
#include<ifaddrs.h>
#include<arpa/inet.h>
int main()
{
struct ifaddrs *ifa = NULL;
struct ifaddrs *pCurr = NULL;
char ip_buf[64];
int k = 0;
getifaddrs(&ifa);
for (pCurr = ifa; pCurr != NULL && k < 10 && pCurr->ifa_addr != NULL; pCurr = pCurr->ifa_next)
{
if (pCurr->ifa_addr->sa_family == AF_INET && strncmp(pCurr->ifa_name, "lo", 2) != 0)
{
struct in_addr *addr = NULL;
addr = &(((struct sockaddr_in*)pCurr->ifa_addr)->sin_addr);
fprintf(stderr, "ipv4%d: dev: %s\tinet: %s\n", k, pCurr->ifa_name, inet_ntop(AF_INET, addr, ip_buf, sizeof(ip_buf)));
}
}
freeifaddrs(ifa);
return 0;
}
获取本机ip
最新推荐文章于 2023-12-02 17:28:39 发布