
CoWitness 是一款旨在充当 HTTP、HTTPS 和 DNS 服务器的工具。它允许你提供网页服务、记录 HTTP 请求以及自定义 DNS 响应。本 README 提供了功能概述以及如何编译和使用 CoWitness 工具的说明。
HTTP 服务器:CoWitness 包含一个监听 80 端口 的 HTTP 服务器。它可以提供当前工作目录下的静态文件。每个 HTTP 请求都会被记录,包括客户端的 IP 地址、请求的资源以及用户代理。
HTTPS 服务器:除了 HTTP 服务器外,CoWitness 还提供一个监听 443 端口的 HTTPS 服务器。与 HTTP 服务器类似,它提供静态文件并记录每个请求。
DNS 服务器:CoWitness 充当 DNS 服务器,监听 53 端口。它允许你自定义 DNS 响应,包括 NS 和 A 记录。DNS 请求会被记录,包括客户端的 IP 地址和请求的域名。
日志记录:CoWitness 会为 HTTP 和 DNS 请求创建日志文件。日志会追加到现有文件中,方便你跟踪和分析服务器活动。
静默模式:通过传递 -q 命令行参数,CoWitness 可以以静默模式运行。在此模式下,不会显示 ASCII 艺术横幅。
使用 CoWitness 之前,请确保满足以下要求:
按照以下步骤安装和编译 CoWitness:
git clone https://github.com/your-username/CoWitness.git
cd CoWitness
make -f Makefile build
此命令将编译 CoWitness 源码,并创建适用于 amd64 和 arm64 的可执行文件。
要在远程服务器上使用 CoWitness,请执行以下步骤:
通过 SSH 连接到远程服务器:
ssh username@your-server-ip
安装 CoWitness 的简单方法是使用 此处 的自动打包构建, 然后你可以通过 curl 或 wget 将其下载到你的系统,或者使用 scp 从你的系统传输文件。
cowitness
你可以根据自身需求自定义 CoWitness。以下是一些可能的修改:
更改默认端口:查看命令行参数的使用帮助以更改默认端口。
修改日志文件路径:你可以通过更改源码中 os.OpenFile 调用的路径来修改 HTTP 和 DNS 日志文件(http.log 和 dns.log)的路径。
我们欢迎来自社区的贡献和反馈。如果你遇到任何问题或有改进建议,请在 GitHub 仓库中提交问题或拉取请求!
CoWitness 基于 MIT 许可证 发布。