小编Gre*_*hyn的帖子

无法在Android上进行反向DNS查找

我有一个Android设备连接到Wifi网络与IP地址.我在我的Linux计算机上对此IP地址进行了NS查找,并验证该IP地址是否有相应的主机名.

我有一段Java代码,在我的Windows PC上运行时确实可以反向DNS查找(返回主机名):

String dnSuffix;
String ipAddress = "10.228.59.217";
InetAddress inetAddr;
try {
    //inetAddr = InetAddress.getLocalHost();
    inetAddr = InetAddress.getByName(ipAddress);
    //System.out.println("inetAddr = " + inetAddr);
    Log.v(LOG_TAG, "inetAddr = " + inetAddr);
    if (inetAddr != null) {
        dnSuffix = inetAddr.getHostName();
        //System.out.println("dnSuffix is " + dnSuffix);
        Log.v(LOG_TAG,"dnSuffix is " + dnSuffix); 
    }
} catch (UnknownHostException e) {
    //System.out.println("Error getting DN suffix: " + e.getMessage());
    Log.v(LOG_TAG,"Error getting DN suffix: " + e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

dnSuffix 是Windows上预期的主机名.

但是在Android上,它会返回一个IP地址而不是一个主机名,这表明它失败了.

我在我的应用程序中拥有了我认为需要的所有权限:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
2401
查看次数

标签 统计

android ×1