使用PHP从WMI查询中恢复IP地址
问题描述:
我试图获取一个脚本来检索网络上远程主机的NIC卡信息。使用PHP从WMI查询中恢复IP地址
这里是我的查询:
$wmi_networkadapter = $obj->ExecQuery("Select * from Win32_NetworkAdapter WHERE NetConnectionID LIKE 'Local Area Connection'");
这里的输出:
foreach ($wmi_networkadapter as $wmi_call) {
//Caption
$Caption = $wmi_call->Caption;
echo "<b>Caption:</b> $Caption<br>";
//MACAddress
$MACAddress = $wmi_call->MACAddress;
echo "<b>MACAddress:</b> $MACAddress df<br>";
}
我能得到MACADDRESS和字幕(NIC的名称),但我无法弄清楚如何获得IP地址。谢谢!
答
好的。我能够获得IP地址。
使用此查询:
$wmi_networkadapter = $obj->ExecQuery("Select * from Win32_NetworkAdapterConfiguration WHERE IPENabled = 'True'");
PHP:
foreach ($wmi_networkadapter as $wmi_call) {
//Caption
$Caption = $wmi_call->Caption;
echo "<b>Caption:</b> $Caption<br>";
//MACAddress
$MACAddress = $wmi_call->MACAddress;
echo "<b>MACAddress:</b> $MACAddress<br>";
//IP ADDRESS
$ip = $wmi_call->IPAddress;
foreach ($ip as $key => $value) {
echo $value;
}
}
答
我没有任何具体的使用WMI的经验,但调用var_dump($wmi_call)
时会得到什么结果?
对象(变体)#10(0){} – DanielOlivasJr 2013-02-15 21:53:57
怎么样的var_dump($ wmi_call-> NetworkAddresses)?此链接也可能有帮助,特别是“..确定哪个IP地址已分配给给定的网络连接?”部分。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa394595%28v=vs.85%29.aspx – jbq 2013-02-15 23:11:22