Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Re2Pcap — 将原始HTTP请求/响应转换为PCAP文件,用于测试Snort IDS规则和网络安全分析。支持Docker部署和命令行使用。 | Kitploit
工具/GitHubGitHub/cisco-talos/re2pcap
数据包嗅探与分析漏洞分析IDS/IPS规避网络安全
GitHubcisco-talos/re2pcap

Re2Pcap

将原始HTTP请求/响应转换为PCAP文件,用于测试Snort IDS规则和网络安全分析。支持Docker部署和命令行使用。

查看仓库
5922195年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Re2Pcap: 在数秒内从原始HTTP请求或响应创建PCAP文件

Re2Pcap 是 Request2Pcap 和 Response2Pcap 的缩写。社区用户可以使用 Re2Pcap 快速创建 PCAP 文件,并针对 Snort 规则进行测试。

Re2Pcap 允许你快速为如下所示的原始HTTP请求创建 PCAP 文件:

POST /admin/tools/iplogging.cgi HTTP/1.1
Host: 192.168.13.31:80
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/plain, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.13.31:80/admin/tools/iplogging.html
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 63
Cookie: token=1e9c07e135a15e40b3290c320245ca9a
Connection: close

tcpdumpParams=tcpdump -z reboot -G 2 -i eth0&stateRequest=start

使用方法

git clone https://github.com/Cisco-Talos/Re2Pcap.git
cd Re2Pcap/
./re2pcap.sh

或者

docker run --rm --cap-add NET_ADMIN -p 5000:5000 --name re2pcap amitraut/re2pcap

在浏览器中打开 localhost:5000 访问 Re2Pcap,或使用 Re2Pcap-cmd 脚本与 Re2Pcap 容器交互,在当前工作目录获取 PCAP 文件。

依赖要求

  • Docker
  • HTTP 原始请求/响应
  • Web 浏览器(为获得最佳效果,请使用 Chromium 内核的浏览器)

优势

  • 易于部署,无需复杂的多虚拟机环境
  • Re2Pcap 运行在基于 Alpine Linux 的 Docker 镜像上,体积小于 100 MB :D
  • 允许你将模拟的原始 HTTP 请求和响应转储到 PCAP 中

Dockerfile

FROM alpine

# 获取所需依赖并为 Re2Pcap 进行设置
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && apk add python3 tcpdump tcpreplay
RUN pip3 install --upgrade pip
RUN pip3 install pexpect flask requests httpretty requests-toolbelt

COPY Re2Pcap/ /Re2Pcap
RUN cd Re2Pcap && chmod +x Re2Pcap.py

WORKDIR /Re2Pcap
EXPOSE 5000/tcp

# 新容器启动时运行应用
CMD ["/usr/bin/python3", "Re2Pcap.py"]

操作演示

  • 视频演示展示了使用 Re2Pcap 网页界面为 Sierra Wireless AirLink ES450 ACEManager iplogging.cgi 命令注入漏洞 创建 PCAP 的过程
Re2Pcap 演示操作指南
  • 使用 Re2Pcap-cmd 脚本为 Sierra Wireless AirLink ES450 ACEManager iplogging.cgi 命令注入漏洞 创建 PCAP 的视频演示
Re2Pcap-cmd 演示

Re2Pcap 工作流程

Re2Pcap 工作流程

如上图所示,Re2Pcap 是基于 Alpine Linux 的 Python3 应用程序,带有 Flask 网页界面。

Re2Pcap 将输入数据解析为原始 HTTP 请求或响应,并在捕获数据包的同时实际执行客户端/服务器交互。交互结束后,Re2Pcap 将捕获的数据包呈现为 PCAP 文件。

建议

  • 请使用 Linux 作为宿主操作系统,因为 Re2Pcap 在 Linux 上经过了充分测试。
  • 如果为 Host: somedomain:5000(即端口 5000)创建 PCAP,请修改 Re2Pcap.py 中的 app.run 调用,将 Flask 应用程序运行在其他端口上,否则 PCAP 会包含 Flask 应用程序的响应。

局限性

  • 如果原始 HTTP 请求没有 Accept-Encoding: 头部,则会在请求中添加 Accept-Encoding: identity。

    • Python requests 库中对此存在已知 问题。以下是该问题的关闭说明:

    这确实相当糟糕。Accept-Encoding: identity 始终是有效的,RFC 如此规定。发送它应该是完全无害的。否则,移除这个就需要我们替换 httplib。这是一项相当多的工作。=(

  • Re2Pcap 生成的 PCAP 中的源和目标 IP 如下:

    • 源 IP: 10.10.10.1
    • 目标 IP: 172.17.0.2(或 Re2Pcap 容器的 IP 地址)

    请使用 tcprewrite -D 选项根据需要将目标 IP 修改为其他地址。你也可以使用 tcpprep 和 tcprewrite 设置其他端点 IP。由于 tcprewrite 的结果不一致,我使用了另一种方法来设置不同的源/目标 IP。

  • 如果指定 HTTP/1.1 302 FOUND 作为响应,生成的 PCAP 会尝试尽可能多的重试以访问 Location: 头部指定的资源。如果不需要这些额外的干扰流,请在测试中使用 Wireshark 导出第一个 HTTP 流。


希望你觉得 Re2Pcap 有用。如果遇到问题,请提供你的输入并创建一个 issue。谢谢!:)

享受吧 😊

下载工具