Wireshark - 捕获 HTTP 请求的所有数据包

网络工程 线鲨 dns
2022-02-19 05:27:27

我想向我以前从未访问过的网站发起 HTTP 请求。我想提取与此请求相关的所有数据包;所以 DNS 数据包、TCP 数据包等等。

有没有办法把所有这些都捡起来?我发现我可以通过网站的 IP 地址进行过滤,但这并没有给我 DNS 数据包。我怎样才能得到所有相关的数据包?

2个回答

试试这个:

(ip.addr==192.0.2.4) and (http or dns)

192.0.2.4是您电脑的地址。

编辑:您可以包括您的 DNS 服务器和网站的地址

(ip.addr==<nameserver> and DNS) or (ip.addr==<website> and http)

我相信您首先使用等效的 Firefox 的 Web 开发人员部分会有更多的运气。因为从用户的角度来看,对网站的一个请求可能意味着在其他各种网站上的大量网络流量,以加载图像、脚本、CSS 等。因此,仅对一个 IP 进行过滤会使您最终错过很多交互。

浏览器应该向您显示为访问您的网站而发出的所有 HTTP 请求。之后,您可以在网络级别重做以捕获所有流量等。

另一种方式:确保有一台“安静”的计算机,没有任何额外的流量或其他浏览等(或最小流量),然后仅在您的 HTTP 请求时捕获所有网络数据包,然后在该过滤器之后出你真正需要的东西。否则,如果您事先过滤太多,您可能永远不会知道自己错过了什么。

顺便说一句:DNS 也使用 UDP!并且您的 DNS 数据包会发送到您的本地递归 DNS 服务器(除非您在同一台计算机上运行自己的递归 DNS 服务器?),因此这与网站 IP 等没有任何关系。