C에서 로컬 컴퓨터의 IP 주소와 서브넷 마스크를 검색하는 방법
로컬 컴퓨터의 IP 주소와 서브넷 마스크를 확인하는 것은 다양한 네트워크 운영을 위한 기본 요구 사항. C에는 이러한 값을 얻기 위한 여러 가지 접근 방식이 있습니다.
Torial의 코드는 IP 주소와 서브넷 마스크를 모두 검색하는 효과적인 솔루션을 제공합니다. getifaddrs() 함수를 활용하여 로컬 컴퓨터와 연결된 모든 네트워크 인터페이스 주소를 반복합니다.
다음은 약간 향상된 코드 버전입니다.
#include#include #include #include int main() { struct ifaddrs *ifaddr; int err; if ((err = getifaddrs(&ifaddr)) != 0) { perror("getifaddrs"); exit(EXIT_FAILURE); } for (struct ifaddrs *ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { if (!ifa->ifa_addr) continue; // Print the IP address if (ifa->ifa_addr->sa_family == AF_INET) { char ip[INET_ADDRSTRLEN]; inet_ntop(AF_INET, &((struct sockaddr_in *)ifa->ifa_addr)->sin_addr, ip, INET_ADDRSTRLEN); printf("IP: %s\n", ip); } // Print the subnet mask if (ifa->ifa_netmask->sa_family == AF_INET) { char mask[INET_ADDRSTRLEN]; inet_ntop(AF_INET, &((struct sockaddr_in *)ifa->ifa_netmask)->sin_addr, mask, INET_ADDRSTRLEN); printf("Subnet Mask: %s\n", mask); } } freeifaddrs(ifaddr); return 0; }
이 업데이트된 코드는 각 네트워크 인터페이스에 대해 IP 주소와 서브넷 마스크가 모두 올바르게 식별되고 인쇄되도록 보장합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3