2012-03-12 27 views
1

我想從DNS中檢索特定計算機的FQDN,但在我的環境中使用主機名時使用nslookup我得到它的FQDN,但是當我嘗試此代碼時Java的我只得到主機名回:InetAddress無法檢索FQDN,而nslookup能夠

InetAddress.getByName("Host name or address").getCanonicalHostName()

什麼可以原因? 是否有更好的方法從主機名獲取FQDN而無需憑證或連接到LDAP服務器?

回答

0

這是您系統配置的問題。

從的Javadoc:

如果有安全管理器,此方法首先用hostname調用其checkConnect方法和-1作爲參數,看是否調用代碼被允許知道此IP地址的主機名即連接到主機。如果操作不被允許,它將返回IP地址的文本表示。

getCanonicalHostName

你既可以嘗試修改系統設置,允許FQDN得到解決或嘗試執行ping命令,分析它,並得到了主機的那個。

+0

你知道什麼設置可以防止這種情況嗎?在DNS中的東西?客戶端有什麼?爲什麼這個設置不能阻止nslookup找到FQDN? – RonZ 2012-03-12 14:58:15

+0

我不是100%確定(自己從來沒有遇到過問題),但我相信這可能會有所幫助:[link](http://docs.oracle.com/cd/E19534-01/819-3201 /gboce/index.html) – 2012-03-12 19:51:40

+0

謝謝,但無法使其工作... – RonZ 2012-03-18 08:11:56