有没有办法使用 pyshark 在 pcap 文件中找到与特定 HTTP 响应相关的 HTTP 请求?

问题描述

我使用 pyshark 来解析 .pcapng 文件。我的目标是找到响应不是 200 OK(或包含错误)的 HTTP 请求(数据包号和 http 请求行)。

我的方法是找到所有作为 HTTP 响应的数据包,并且响应代码与(200 或 401)不同 - 我现在对 401 Unauthorized 不感兴趣 - 然后为每个数据包找到相关的 HTTP 请求。

通过将显示过滤器应用于我的捕获文件,我能够成功检索错误响应列表,如下所示:

cap = pyshark.FileCapture(file,display_filter='http.response.code!=200 && http.response.code!=401')

但是,我似乎找不到从响应数据包中检索 http 请求的方法。在 Wireshark 中,我可以通过选择 http 响应数据包并按下“跟随 TCP 流”来找到这些数据。我正在寻找实现我的方法的建议,或者寻找其他方法来检索相同的结果。

解决方法

比我想象的更早找到了解决方案! 我可以使用以下方法检索相应的请求数据包编号:

packet.http.request_in