【问题标题】:How to capture the actual data that is being transfred between Web Server and WebService如何捕获在 Web 服务器和 Web 服务之间传输的实际数据
【发布时间】:2015-08-28 15:45:16
【问题描述】:

我编写了允许我与 REST API 通信的 PHP 代码。

我的 PHP 调用发出 cURL 调用以与 API 服务通信。但是,我遇到了一个奇怪的问题,即 API 接收的数据不是使用 cURL 发送的数据。

我想设置某种类型的中间人,以确保我从 Apache 发送的请求与 API 接收的数据相同。

我感兴趣的信息是

  1. 请求/接收的标头
  2. 请求/接收的正文

我正在考虑破坏 Apache 服务器上的 Wireshark,以捕获从我的 Apache 到 API 的数据包,以及从 API 接收到 Apache 的所有内容。

在 Apache 服务器“一台 Windows 7 机器”上安装 Wireshark 后,我看到了很多数据。

我如何告诉 Wireshark 只捕获从 Apache 到 API 的数据以及从 API 到 Apache 的数据?

感谢您的帮助。

【问题讨论】:

    标签: php apache api curl wireshark


    【解决方案1】:

    有许多 API 测试工具,从非常易于使用的浏览器插件开始,到一些非常复杂的工具,如 Apache Jmeter。这个想法是从您的测试软件调用 API 并分析请求和响应。如果你在 Windows 上,你可以使用 Fiddler 之类的东西来拦截从你的机器发出的包。如果您可以访问客户端服务器,我假设各种操作系统都有工具可以拦截传出的包并分析它们,但您必须在谷歌上搜索。

    【讨论】:

      【解决方案2】:

      要在 Wireshark 中过滤 HTTP 结果,只需在过滤字段中输入 http 并点击应用

      为了更好看,只需在 HTTP 请求之前开始捕获并在之后停止它

      之后,如果您知道 API 服务器的 IP,您可以通过以下方式进一步过滤:
      http && ip.dst == X.X.X.X

      【讨论】:

      • 非常好的统计点。我现在正在使用这个过滤器http &&( ip.dst == 10.0.4.44 || ip.dst == 10.0.4.18) 我可以按顺序看到它们吗?请求/响应?
      • 按 IP 过滤看这个:stackoverflow.com/questions/4043406/…
      • 我想按发送请求的时间和根据该请求收到的响应进行过滤。对于每个请求,我希望直接在其下方看到响应。我不知道该怎么做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 2016-08-30
      • 2011-01-09
      • 1970-01-01
      相关资源
      最近更新 更多