
DNS 트래픽 스니퍼 및 분석기로, DNS 쿼리의 모니터링, 필터링 및 이상 징후 탐지를 위해 사용됩니다. 주요 기능으로는 PCAP 내보내기, DoH 지원, 그리고 스푸핑 시도를 식별하는 DNS 방화벽 모드가 포함됩니다.
DNSWatch는 네트워크에서 DNS(Domain Name System) 트래픽을 모니터링하고 분석하도록 설계된 강력한 패킷 스니핑 도구입니다. 이 스크립트는 사용자가 DNS 활동을 효율적으로 이해하고 관리할 수 있도록 포괄적인 기능 세트를 제공합니다. 네트워크 관리자, 사이버 보안 전문가 또는 호기심 많은 매니아이든, DNSWatch는 DNS 요청에 대한 인사이트를 얻고 이상 징후를 탐지하며 네트워크 보안을 강화할 수 있도록 지원합니다.
git clone https://github.com/HalilDeniz/DNSWatch.git
pip install -r requirements.txt
$ python3 dnswatch.py [-h] [-i INTERFACE] [-v] [-t TARGET_IP] [-d] [--doh] [-D TARGET_DOMAINS [TARGET_DOMAINS ...]] [-p FILTER_PORT] [-s FILTER_SRC_IP] [-r FILTER_DST_IP] [--dns-type DNS_TYPE] [--pcap-file PCAP_FILE] [--firewall] [--threshold THRESHOLD] [--window-size WINDOW_SIZE] [--version]
-i, --interface: 청취할 네트워크 인터페이스를 지정하는 데 사용됩니다. 예: -i eth0-v, --verbose: 상세 출력을 얻으려면 이 플래그를 사용하세요.-t, --target-ip: 모니터링할 특정 IP 주소를 지정하는 데 사용됩니다. 예: -t 8.8.8.8-d, --analyze-dns-type: DNS 유형을 분석하려면 이 플래그를 사용하세요.--doh: DNS 확인을 위해 DNS over HTTPS(DoH)를 사용합니다.-D, --target-domains: 모니터링할 대상 도메인을 지정하는 데 사용됩니다. 공백으로 구분된 여러 도메인 이름 목록을 허용합니다. 예: -D example.com example.org-p, --filter-port: 이 플래그 뒤에 포트 번호를 사용하여 특정 포트로 필터링합니다. 예: -p 53-s, --filter-src-ip: 특정 소스 IP 주소로 필터링하려면 이 플래그를 사용하세요. 예: -s 192.168.1.1스니핑 과정을 중지하려면 Ctrl+C를 누르세요.
DNSWatch의 사용 예제는 다음과 같습니다: 여기에서 확인하세요
DNSWatch는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
이 도구는 교육 및 테스트 목적으로만 사용됩니다. 악의적인 활동에 사용해서는 안 됩니다.
저를 지원해 주셔서 감사합니다! 여러분의 지원은 DNSWatch와 같은 유용한 도구를 만들고 새로운 프로젝트를 개발하는 데 더 많은 시간과 노력을 집중할 수 있게 해줍니다. 기여함으로써 기존 도구를 개선하는 데 도움을 줄 뿐만 아니라 새로운 아이디어와 혁신을 고무시킵니다. 여러분의 지원은 이 프로젝트와 미래의 노력의 성장에 중요한 역할을 합니다. 함께 계속해서 구축하고 배워 나갑시다. 감사합니다!"
-r, --filter-dst-ip: 특정 대상 IP 주소로 필터링하려면 이 플래그를 사용하세요. 예: -r 8.8.4.4--dns-type: 이 플래그 뒤에 DNS 유형을 사용하여 특정 DNS 유형으로 필터링합니다. 예: --dns-type 1 (A 유형)--pcap-file: 캡처된 패킷을 PCAP 파일로 저장하려면 이 플래그를 사용하세요. 예: --pcap-file captured_packets.pcap--firewall: DNS 방화벽 모드를 활성화합니다.--threshold: DNS 쿼리 수에 대한 임계값을 설정하려면 이 플래그를 사용하세요. 예: --threshold 50--window-size: 윈도우 크기(초)를 설정하려면 이 플래그를 사용하세요. 예: --window-size 60--version: 프로그램 버전 번호를 표시하려면 이 플래그를 사용하세요.