我可以使用什么工具来监听HTTP / HTTPS流量?


23

我正在寻找一种命令行工具,该工具可以拦截HTTP / HTTPS请求,提取诸如以下内容的信息:(内容,目标等),执行各种分析任务,最后确定是否应删除该请求。法律要求必须转发给申请。

一种工具,在本质上是相似的tcpdumpWireshark的,或Snort的,但在HTTP级别运行。

参考文献

Answers:


20

尝试mitmproxy

  • mitmproxy是HTTP的支持SSL的中间人代理。它提供了一个控制台界面,该界面允许即时检查和编辑交通流。

  • mitmdump是mitmproxy的命令行版本,具有相同的功能,但没有用户界面。将tcpdump用于HTTP。

特征

  • 拦截HTTP请求和响应,并即时对其进行修改。
  • 保存完整的HTTP对话,以供以后重播和分析。
  • 重播HTTP对话的客户端。
  • 重播先前记录的服务器的HTTP响应。
  • 反向代理模式将流量转发到指定的服务器。
  • 使用Python对HTTP流量进行脚本化更改。
  • 用于拦截的SSL证书是即时生成的。

屏幕截图

   样本ss

我设置了一个示例Jekyll Bootstrap应用,该应用正在本地主机上的端口4000上监听。为了拦截流量,我将执行以下操作:

% mitmproxy --mode reverse:http://localhost:4000 -p 4001

然后从我的Web浏览器(http://localhost:4001)在端口4001上连接到我的mitmproxy ,导致出现mitmproxy:

   s的mitmproxy w / JB#1

然后,您可以选择任何GET结果以查看与此相关的标题信息GET

   s的mpmproxy w / JB#2

参考文献


3

在某些情况下,您可以使用接受传入HTTP请求并发出传出HTTPS请求的代理。举例来说,我想捕获git和github.com 之间的流量。我用过mitmproxy

mitmproxy -s httpser.py

在哪里httpser.py

def request(context, flow):
  flow.request.scheme = 'https'
  flow.request.port = 443

然后我git像这样跑:

export http_proxy="http://127.0.0.1:8080/"
git clone http://github.com/oxplot/difftr

现在,使用wireshark监听localhost,一个可以捕捉普通的流量。没有代理,github将重定向git到使用HTTPS。


2

mitmproxy/mitmdump

tcpdump对于HTTPS 等于mitmdump。步骤如下:

  1. 安装mitmproxy软件包(macOS:)brew install mitmproxy
  2. 通过以下命令安装mitmproxy CA证书

    $ mitmdump --mode reverse:http://mitm.it/ -p 8080
    $ wget --content-disposition http://localhost:8080/cert/pem
    $ open mitmproxy-ca-cert.pem
    # Open, install and mark the certificate as trusted.
    

现在,这是关于如何测试反向代理的简单测试:

  1. 运行:mitmdump --mode reverse:https://example.com/ -p 4433
  2. 在另一个外壳中,运行:curl https://localhost:4433

    现在,您应该看到页面源代码,并且mitmdump命令应该产生如下输出:

    Proxy server listening at http://*:4433
    [::1]:49446: clientconnect
    [::1]:49446: GET https://example.com/ HTTP/2.0
              << 200  1.24k
    [::1]:49446: clientdisconnect
    

对于所有流量,只需运行:mitmdumpmitmproxy

请参阅:mitmproxy文档页面以获取更多详细信息。


查尔斯·Proxy

如果您使用的是macOS,还可以使用Charles Proxy应用(GUI)来查看主机之间的所有HTTP和SSL / HTTPS通信。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.