2009-11-27 141 views

回答

1

如果你在Linux或Unix的平臺,嘗試尋找在man -k resolver,並尋找resolver男人頁面或功能的頁面一樣res_initres_search等。人。這些是DNS的unix API,看起來像,雖然沒有直接的方法來做你想做的事,但可以通過組合功能和它們返回的信息來收集信息,並且執行一些其他的數據按摩。

關於wireshark知道發生了什麼,它並不真正知道。它只是在數據包來回傳輸時進行監控並打印出它所看到的內容。解析器是知道的,這就是我所建議的API。

+0

是的,我檢查了nslookup的源代碼,並注意到他們正在使用解析器對象的_res。 – systemsfault 2009-11-28 09:31:49

0

我不認爲你可以找到它使用的,但它使用一個從/etc/resolv.conf中

+0

但nslookup可以找到,至少我可以看到哪些dns服務器,它從wireshark查詢,但我想找到它與編碼。其實我只是爲了好玩和學習的目的而嘗試。 – systemsfault 2009-11-27 18:00:08

0

如果你是在Linux上,你可以看看,從源頭上「挖」。基於它能夠打印出服務器地址,我認爲除了解析/etc/resolv.conf之外,還必須有一些手段來做到這一點。

在Windows上,有一個非常複雜的API用於此目的。

+0

是的,我知道挖和nslookup做同樣的事情(可能我會檢查他們的來源)/etc/resolv.conf包含我家的路由器的地址的地址,這是在一個DHCP配置通常。可能 – systemsfault 2009-11-27 17:58:36