
CoWitness는 테스트 작업의 정확성과 효율성을 향상시키는 강력한 웹 애플리케이션 테스트 도구입니다. HTTP 서버와 DNS 서버를 모방할 수 있어 테스트 과정에서 완전한 응답과 유용한 통찰력을 제공합니다.

CoWitness는 HTTP, HTTPS 및 DNS 서버로 작동하도록 설계된 도구입니다. 웹 페이지를 제공하고, HTTP 요청을 기록하며, DNS 응답을 사용자 정의할 수 있습니다. 이 README는 CoWitness 도구의 기능 개요와 컴파일 및 사용 방법에 대한 지침을 제공합니다.
HTTP 서버: CoWitness는 80 포트에서 수신 대기하는 HTTP 서버를 포함합니다. 현재 작업 디렉토리에서 정적 파일을 제공할 수 있습니다. 각 HTTP 요청은 클라이언트 IP 주소, 요청된 리소스 및 사용자 에이전트를 포함하여 기록됩니다.
HTTPS 서버: HTTP 서버 외에도 CoWitness는 443 포트에서 수신 대기하는 HTTPS 서버를 제공합니다. HTTP 서버와 유사하게 정적 파일을 제공하고 각 요청을 기록합니다.
DNS 서버: CoWitness는 53 포트에서 수신 대기하는 DNS 서버로 작동합니다. NS 및 A 레코드를 포함한 DNS 응답을 사용자 정의할 수 있습니다. 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 플래그에 대한 사용법 도움말을 참조하여 기본 포트를 변경하세요.
로그 파일 경로 수정: 소스 코드에서 os.OpenFile 호출을 업데이트하여 HTTP 및 DNS 로그 파일(http.log 및 dns.log)의 경로를 변경할 수 있습니다.
커뮤니티의 기여와 피드백을 환영합니다. 문제가 발생하거나 개선 제안이 있으면 GitHub 저장소에 이슈를 열거나 풀 리퀘스트를 제출해 주세요!
CoWitness는 MIT License에 따라 배포됩니다.