浏览器我写了一个测试程序来捕获用于给定域名的数据包。 我正在使用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