有没有办法找到我的wifi网络中最近的接入点的IP地址?

时间:2014-01-13 06:51:30

标签: java python objective-c network-programming network-protocols

我使用inssider和kismac来检查网络中的wifi室内和室外接入点。但这两个工具都没有提供有关当前连接的接入点的IP的任何信息。它看到Windows中的netstumbler有一个显示IP地址和子网的选项,但是,尽管它们有字段,但它不显示任何内容。我找不到满足此要求的任何应用程序。

有没有办法找到我的wifi网络中最近的接入点的IP地址?以编程方式或有任何应用程序?

在python,objective c,java中有任何方法,其中对ap的ip-address的请求返回它。

我使用osx 10.9

2 个答案:

答案 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的IP
DhcpInfo 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);