
CoWitness — это мощный инструмент для тестирования веб-приложений, который повышает точность и эффективность ваших тестов. Он позволяет имитировать HTTP-сервер и DNS-сервер, обеспечивая полные ответы и ценную информацию в процессе тестирования.

CoWitness — это инструмент, предназначенный для работы в качестве HTTP-, HTTPS- и DNS-сервера. Он позволяет обслуживать веб-страницы, регистрировать HTTP-запросы и настраивать DNS-ответы. Этот README содержит обзор функций и инструкции по компиляции и использованию инструмента CoWitness.
HTTP-сервер: CoWitness включает HTTP-сервер, который прослушивает порт 80. Он может обслуживать статические файлы из текущего рабочего каталога. Каждый HTTP-запрос регистрируется, включая IP-адрес клиента, запрошенный ресурс и пользовательский агент.
HTTPS-сервер: В дополнение к HTTP-серверу CoWitness также предоставляет HTTPS-сервер, который прослушивает порт 443. Как и HTTP-сервер, он обслуживает статические файлы и регистрирует каждый запрос.
DNS-сервер: CoWitness работает как DNS-сервер, прослушивая порт 53. Он позволяет настраивать DNS-ответы, включая NS- и A-записи. DNS-запросы регистрируются, включая IP-адрес клиента и запрошенный домен.
Журналирование: CoWitness создает файлы журналов для HTTP- и DNS-запросов. Журналы добавляются к существующим файлам, что позволяет отслеживать и анализировать активность сервера.
Тихий режим: CoWitness может работать в тихом режиме при передаче аргумента командной строки -q. В этом режиме 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 в соответствии со своими потребностями. Вот некоторые возможные изменения:
Изменить порты по умолчанию: См. справку по использованию для флагов CLI, чтобы изменить порты по умолчанию
Изменить пути к файлам журналов: Вы можете изменить пути к файлам журналов HTTP и DNS (http.log и dns.log), обновив вызовы os.OpenFile в исходном коде.
Мы приветствуем вклад и отзывы сообщества. Если вы столкнулись с какими-либо проблемами или у вас есть предложения по улучшению, пожалуйста, откройте issue или отправьте pull request в наш репозиторий GitHub!
CoWitness распространяется под лицензией MIT.