我使用inssider和kismac来检查网络中的wifi室内和室外接入点。但这两个工具都没有提供有关当前连接的接入点的IP的任何信息。它看到Windows中的netstumbler有一个显示IP地址和子网的选项,但是,尽管它们有字段,但它不显示任何内容。我找不到满足此要求的任何应用程序。
有没有办法找到我的wifi网络中最近的接入点的IP地址?以编程方式或有任何应用程序?
在python,objective c,java中有任何方法,其中对ap的ip-address的请求返回它。
我使用osx 10.9
答案 0 :(得分:0)
使用以下方式实现
public String getIpAddr() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipString = String.format(
"%d.%d.%d.%d",
(ip & 0xff),
(ip >> 8 & 0xff),
(ip >> 16 & 0xff),
(ip >> 24 & 0xff));
return ipString;
}
请注意:您需要在AndroidManifest.xml中添加android.permission.INTERNET和android.permission.ACCESS_WIFI_STATE以访问代码。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
对于谷歌玩类似的应用程序看https://play.google.com/store/apps/details?id=com.roamingsoft.manager&hl=en
答案 1 :(得分:0)
如果没有连接它,你就无法获得AP的IP。
您可以通过以下
获取已连接AP的IPDhcpInfo dhcp;
WifiManager wifii;
wifii = (WifiManager) getSystemService(Context.WIFI_SERVICE);
dhcp = wifii.getDhcpInfo();
s_dns1 = "DNS 1: " + String.valueOf(dhcp.dns1);
s_dns2 = "DNS 2: " + String.valueOf(dhcp.dns2);
s_gateway = "Default Gateway: " + String.valueOf(dhcp.gateway);
s_ipAddress = "IP Address: " + String.valueOf(dhcp.ipAddress);
s_leaseDuration = "Lease Time: " + String.valueOf(dhcp.leaseDuration);
s_netmask = "Subnet Mask: " + String.valueOf(dhcp.netmask);
s_serverAddress = "Server IP: " + String.valueOf(dhcp.serverAddress);