瀏覽器我寫了一個測試程序來捕獲用於給定域名的數據包。 我正在使用gethostbyname()來檢索ip地址和pcap來捕獲目的地爲該ip地址的數據包。 pcap_loop()計數設置爲-1,因此它應該保持捕獲。IP地址不同於連接到
從理論上講,從我的電腦發送到該IP地址的所有數據包都將被捕獲,無論該域名是通過網絡瀏覽器訪問還是僅通過ping它,對吧?
經過測試,雖然許多網站都是如此,但它不適用於像google或ebay這樣的高流量網站。這意味着如果我ping從gethostbyname()檢索到的IP地址,ping數據包將被程序捕獲,但如果我在firefox上訪問google.com,則不會捕獲數據包。這表明可能會有與google.com相同的域名有不同的IP地址。
如果是這樣的話,爲什麼DNS服務器返回google.com不同的IP,而其他是相同的? gethostbyname()和web瀏覽器的請求之間有什麼不同(如果有的話)?
在此先感謝。
你捕獲流量** **所有用'的gethostbyname()'或只是第一個返回的IP地址? – Celada
是不是gethostbyname()只返回struct hostent中的一個IP地址? – AuA
不,它返回它們的數組。順便說一句,你應該考慮使用'getaddrinfo()'而不是'gethosybyname()'。 'gethostbyname()'被棄用和廢棄。 – Celada