0
對不起,標題可能被迷惑的細節。例如,eth1代替br100。 因此eth1的ipv4地址爲NULL。如何獲得IP地址(IPv4爲NULL,但IPv6是存在的),內容
的/ etc /網絡/接口
br100 Link encap:Ethernet HWaddr 00:0c:29:75:e2:0a
inet addr:192.168.11.249 Bcast:192.168.11.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe75:e20a/64 Scope:Link
eth1 Link encap:Ethernet HWaddr 00:0c:29:75:e2:0a
inet6 addr: fe80::20c:29ff:fe75:e20a/64 Scope:Link
我該怎麼做才能閱讀時,我得到的eth1的IPv4的NULL
價值?
這裏是我的getipv4
功能:
sIPv4 = new string[giIfaceCount];
struct ifaddrs *ifAddrStruct;
struct ifaddrs *ifa;
void *tmpAddrPtr;
if (getifaddrs(&ifAddrStruct) == -1)
{
perror("getifaddrs");
exit(1);
}
int iFlag4 = 0;
for (ifa = ifAddrStruct; ifa != NULL; ifa = ifa->ifa_next)
{
if (ifa->ifa_addr->sa_family == AF_INET)
{
tmpAddrPtr=&((struct sockaddr_in *)ifa->ifa_addr)->sin_addr;
char addressBuffer[1024];
if (strcmp(inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, 1024),"NULL") == 0)
{
cout << "addressBuffer = NULL" << endl;
}
else
{
inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, 1024);
if (strcmp(ifa->ifa_name,"lo") == 0)
{
continue;
}
else
{
*(sIPv4+iFlag4) = addressBuffer;
testIPv4.append(addressBuffer);
testIPv4.append(" ");
iFlag4 = iFlag4+1;
}
}
}
}
標題的確令人困惑。我建議你再試一次。你更可能用一個描述性標題得到答案。 – EJP
檢查eth1是否加入網橋組,然後檢查以查看網橋組是否有配置的地址有什麼問題? –