
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.1Ctrl+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: プログラムのバージョン番号を表示するためにこのフラグを使用します。