QT 请教如何获取有效MAC地址和IP地址(IPV4)
在网上这样来获取MAC地址和IP:
QList<QNetworkInterface>list = QNetworkInterface::allInterfaces();
foreach(QNetworkInterface interface, list) //遍历每个网络接口
{
//硬件地址
qDebug() << "HardwareAddress:" << interface.hardwareAddress();
//获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址
QList<QNetworkAddressEntry>entryList = interface.addressEntries();
foreach(QNetworkAddressEntry entry, entryList)//遍历每一个IP地址条目
{
//IP地址
qDebug() << "IP Address: " << entry.ip().toString();
//子网掩码
qDebug() << "Netmask: " << entry.netmask().toString();
//广播地址
qDebug() << "Broadcast: " << entry.broadcast().toString();
}
}
运行的结果是这样的,这是在win7系统下运行的结果
HardwareAddress: "58:91:CF:33:A6:71"
IP Address: "FE80::D0B8:3B91:5BB3:CCA4%13"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
IP Address: "192.168.0.100"
Netmask: "255.255.255.0"
Broadcast: "192.168.0.255"
HardwareAddress: "84:8F:69:D1:FC:42"
IP Address: "FE80::34D5:3E98:C8BD:9A20%12"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
IP Address: "169.254.154.32"
Netmask: ""
Broadcast: ""
HardwareAddress: "58:91:CF:33:A6:75"
IP Address: "FE80::50B7:7B6F:A027:3732%10"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
IP Address: "169.254.55.50"
Netmask: ""
Broadcast: ""
HardwareAddress: "00:50:56:C0:00:01"
IP Address: "FE80::E009:E055:7443:B876%17"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
IP Address: "192.168.24.1"
Netmask: "255.255.255.0"
Broadcast: "192.168.24.255"
HardwareAddress: "00:50:56:C0:00:08"
IP Address: "FE80::C910:AC4A:1562:3F86%18"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
IP Address: "192.168.112.1"
Netmask: "255.255.255.0"
Broadcast: "192.168.112.255"
HardwareAddress: ""
IP Address: "::1"
Netmask: "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"
Broadcast: ""
IP Address: "127.0.0.1"
Netmask: ""
Broadcast: ""
HardwareAddress: "00:00:00:00:00:00:00:E0"
IP Address: "FE80::5EFE:C0A8:64%22"
Netmask: "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"
Broadcast: ""
HardwareAddress: "00:00:00:00:00:00:00:E0"
IP Address: "FE80::5EFE:C0A8:7001%19"
Netmask: "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"
Broadcast: ""
HardwareAddress: "00:00:00:00:00:00:00:E0"
IP Address: "FE80::100:7F:FFFE%14"
Netmask: "FFFF:FFFF:FFFF:FFFF::"
Broadcast: ""
HardwareAddress: "00:00:00:00:00:00:00:E0"
IP Address: "FE80::5EFE:C0A8:1801%21"
Netmask: "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"
Broadcast: ""
问题是,我怎样来提取有效的MAN地址和IP呢,我通过MAC地址扫描器得到第一个MAC地址和IP是有效的,其他的 哪些怎么去屏蔽掉呢。