제목은 거의 모든 것을 말합니다. 이 위 또는하지 (<UP,...
을)의 경우이 사용인터페이스가 작동하는지 확인하는 방법
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet -snip- netmask 255.255.255.0 broadcast -snip-
...
, 내가 알 수 있습니다,하지만 난이있는 경우, ++ C (또는 C에서이 작업을 수행 할 수 있도록하려면 : 나는 ifconfig
을 실행하면,이 얻을 더 간단한 해결책)을 제공합니다.
bool is_interface_online(std::string interface) {
struct ifreq ifr;
int sock = socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP);
memset(&ifr, 0, sizeof(ifr));
strcpy(ifr.ifr_name, interface.c_str());
if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
perror("SIOCGIFFLAGS");
}
close(sock);
return !!(ifr.ifr_flags | IFF_UP);
}
사람이에 대한 올바른 방향으로 날 지점 수 : 여기
는 지금까지 (작동하지 않습니다)있어 무엇인가?
ifconfig가 오픈 소스입니다. btw – Slava