描述抓包软件数据的获取进行简单的描述
1个回答
关注
展开全部
假如我们需要抓取客户端的数据包,需要监控客户端与服务器交互之间的网络节点,监控其中任意一个网络节点(网卡),获取所有经过网卡中的数据,对这些数据按照网络协议进行解析,这就是抓包的基本原理。而中间的网络节点不受我们控制,是基本无法实现抓包的,因此只能在客户端与服务器之间进行抓包。① 当采用抓包工具抓取 HTTP 数据包时,过程较为简单:首先抓包工具会提出代理服务,客户端需要连接该代理;客户端发出 HTTP 请求时,会经过抓包工具的代理,抓包工具将请求的原文进行展示;抓包工具使用该原文将请求发送给服务器;服务器返回结果给抓包工具,抓包工具将返回结果进行展示;抓包工具将服务器返回的结果原样返回给客户端。这里抓包工具相当于透明人,数据经过的时候它一只手接到数据,然后另一只手把数据传出去。② 当抓取 HTTPS 数据包时:客户端连接抓包工具提供的代理服务,并安装抓包工具的根证书;客户端发出 HTTPS 请求,抓包工具模拟服务器与客户端进行 TLS 握手交换密钥等流程;
咨询记录 · 回答于2022-11-23
描述抓包软件数据的获取进行简单的描述
假如我们需要抓取客户端的数据包,需要监控客户端与服务器交互之间的网络节点,监控其中任意一个网络节点(网卡),获取所有经过网卡中的数据,对这些数据按照网络协议进行解析,这就是抓包的基本原理。而中间的网络节点不受我们控制,是基本无法实现抓包的,因此只能在客户端与服务器之间进行抓包。① 当采用抓包工具抓取 HTTP 数据包时,过程较为简单:首先抓包工具会提出代理服务,客户端需要连接该代理;客户端发出 HTTP 请求时,会经过抓包工具的代理,抓包工具将请求的原文进行展示;抓包工具使用该原文将请求发送给服务器;服务器返回结果给抓包工具,抓包工具将返回结果进行展示;抓包工具将服务器返回的结果原样返回给客户端。这里抓包工具相当于透明人,数据经过的时候它一只手接到数据,然后另一只手把数据传出去。② 当抓取 HTTPS 数据包时:客户端连接抓包工具提供的代理服务,并安装抓包工具的根证书;客户端发出 HTTPS 请求,抓包工具模拟服务器与客户端进行 TLS 握手交换密钥等流程;
客户端使用与抓包工具协定好的密钥加密数据后发送给抓包工具;抓包工具使用与客户端协定好的密钥解密数据,并将结果进行展示;抓包工具将解密后的客户端数据,使用与服务器协定好的密钥进行加密后发送给目标服务器;服务器解密数据后,做对应的逻辑处理,然后将返回结果使用与抓包工具协定好的密钥进行加密发送给抓包工具;抓包工具将服务器返回的结果,用与服务器协定好的密钥解密,并将结果进行展示;抓包工具将解密后的服务器返回数据,使用与客户端协定好的密钥进行加密后发送给客户端;客户端解密数据。这个时候抓包工具对客户端来说相当于服务器,对服务器来说相当于客户端。在这个传输过程中,客户端会以为它就是目标服务器,服务器也会以为它就是请求发起的客户端。