Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/xullexer/pydns-scanner
ReconnaissanceNetwork MappingVulnerability AnalysisInformation GatheringPenetration TestingDNS Analysis
GitHubxullexer/pydns-scanner

PYDNS-Scanner

현대적이고 고성능의 DNS 스캐너로, Textual로 구축된 아름다운 터미널 사용자 인터페이스(TUI)를 갖추고 있습니다. 이 도구는 수백만 개의 IP 주소를 스캔하여 작동하는 DNS 서버를 찾을 수 있으며, 선택적 Slipstream 프록시 테스트와 자동 멀티 플랫폼 클라이언트 다운로드 기능을 제공합니다.

저장소 보기
403494개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
PYDNS-Scanner — 현대적이고 고성능의 DNS 스캐너로, Textual로 구축된 아름다운 터미널 사용자 인터페이스(TUI)를 갖추고 있습니다. 이 도구는 수백만 개의 IP 주소를 스캔하여 작동하는 DNS 서버를 찾을 수 있으며, 선택적 Slipstream 프록시 테스트와 자동 멀티 플랫폼 클라이언트 다운로드 기능을 제공합니다. | Kitploit

PYDNS Scanner




Python License Platform Telegram

🇺🇸 English    |    🇮🇷 فارسی    |    🇨🇳 中文

Textual로 구축된 아름다운 TUI(터미널 사용자 인터페이스)를 갖춘 현대적이고 고성능의 DNS 스캐너입니다.
이 도구는 세 가지 스캔 모드(Slipstream, SlipNet(DNSTT, NoiseDNS), DNS Scan)를 사용하여 수백만 개의 IP 주소를 스캔하여 작동하는 DNS 서버를 찾을 수 있으며, 자동 DNS 유형 점수 매기기 및 멀티 플랫폼 클라이언트 다운로드를 지원합니다.

🆕 v2.0.0: SlipNet 지원, DNS Scan 모드, 양방향 다중 범위 스캔, 고급 설정, 주요 성능 향상!

🎉 v2.0.0의 새로운 기능

🌐 세 가지 스캔 모드

  • Slipstream — SOCKS5를 지원하는 클래식 프록시 테스트
  • SlipNet — SOCKS5/SSH 인증 및 자동 감지 인증 방식을 사용하는 DNSTT 및 NoiseDNS 터널에 대한 전체 SlipNet 구성 지원
  • DNS Scan — 새로운 경량 모드: 도메인을 입력하고 동시성을 설정한 후 스캔만 하면 됩니다. 프록시 테스트나 인증이 필요 없습니다. 보안, DNS 유형, 핑, 확인된 IP, EDNS0 등을 테스트합니다.

🔀 새로운 스캔 전략 — 양방향 다중 범위

스캐너는 이제 여러 범위에 걸쳐 각 IP 범위의 시작과 끝에서 동시에 스캔하며 무작위 셔플과 결합되어 선형 스캔에 비해 더 빠른 성능과 작동하는 DNS 서버를 찾을 확률이 높아집니다.

🧪 자동 DNS 유형 확인 + 점수 매기기

모든 DNS 유형(A, AAAA, MX, TXT, NS)이 서버별로 자동으로 테스트되고 점수가 매겨집니다. SlipNet 스캐너와 동일한 점수 시스템입니다.

⚙️ 새로운 고급 설정

완전히 사용자 정의 가능한 스캔 매개변수:

  • 프록시 테스트 최소 프록시 핑 임계값
  • DNS 연결 시간 초과
  • 프록시 종단 간 테스트 시간 초과
  • 병렬 프록시 테스트 수
  • 사용자 정의 셔플 단계
  • 프록시 테스트 URL + 예상 응답 상태 코드
  • MTU 설정 (실험적인 OS 수준 MTU 재정의)
  • SlipNet용 쿼리 크기 (DNSTT / NoiseDNS)

🎨 UX 개선

  • 향상된 스캔 통계 — 더 명확한 레이아웃으로 재설계된 통계 표시
  • 향상된 결과 테이블 — 결과 테이블의 작성 및 서식 개선
  • 새로운 프록시 테스트 상태 UI — 실시간 프록시 테스트 피드백
  • 향상된 필터링된 IP 감지 — 필터링된 IP의 더 정확한 식별
  • 로그 섹션 항상 표시 — 로그 패널을 더 이상 전환할 수 없음. 스캔 중 항상 표시됨.

🔧 실험적: OS MTU 설정

고급 네트워크 튜닝을 위해 지정된 MTU 값으로 스캔합니다.

⚡ 성능

  • 전반적으로 크게 향상된 스캔 성능
  • SlipNet (DNSTT / NoiseDNS)에 대한 인증 방식 자동 감지

⚙️ 버그 수정

  • 대규모 DNS 범위 스캔 후 UI 멈춤 현상 수정
  • 50만 개 이상의 IP 스캔 후 속도 저하 수정
  • 장시간 스캔 중 메모리 누수 수정
  • Dependabot의 낮은 심각도 취약점 경고를 해결하기 위해 종속성 업데이트

✨ 기능

  • � 세 가지 스캔 모드 — Slipstream(프록시 테스트), SlipNet(DNSTT / NoiseDNS 터널), DNS Scan(경량, 프록시/인증 없음)
  • 🔀 양방향 다중 범위 스캔 — 더 빠른 발견을 위해 각 IP 범위의 시작과 끝에서 동시에 무작위 셔플로 스캔
  • 🧪 자동 DNS 유형 점수 매기기 — 모든 DNS 유형(A, AAAA, MX, TXT, NS)이 서버별로 자동 테스트 및 점수 매겨짐
  • ⚙️ 고급 설정 — 프록시 핑 임계값, DNS 시간 초과, 프록시 E2E 시간 초과, 병렬 프록시 수, 셔플 단계, 테스트 URL, MTU 및 쿼리 크기 사용자 정의
  • 🔐 보안 테스트 — 서버별로 하이재킹, 필터링, 오픈 리졸버, DNSSEC 탐지
  • 🌐 확인된 IP 열 — google.com을 확인하여 각 DNS 서버 테스트, 결과가 테이블에 표시됨
  • 📡 ISP 탐지 — ip-api.com을 통한 AS 번호 및 조직 이름
  • 🌍 IPv4 / IPv6 탐지 — 각 서버가 지원하는 IP 버전 보고
  • 📶 EDNS0 탐지 — EDNS0 확장 지원 테스트 및 표시
  • 🔌 Slipstream Rust Plus — 위양성 수정 및 독립적인 SOCKS5 테스트를 통한 더 빠른 프록시 테스트
  • 🔗 SlipNet 지원 — SOCKS5/SSH 인증 및 자동 감지 인증 방식을 사용한 DNSTT/NoiseDNS 터널 테스트
  • 🧮 스마트 다중 키 정렬 — 최고의 서버를 먼저 표시하기 위해 프록시 통과 → DNSSEC → 핑 순서로 자동 정렬
  • ⚡ 고성능 — 구성 가능한 동시성을 사용한 비동기 스캔
  • ⏸️ 일시 중지/재개/셔플 — 전체 라이브 스캔 제어
  • 📊 실시간 통계 — 스캔 전체에 걸쳐 업데이트되는 실시간 통과/실패/발견 카운터
  • 🔍 스마트 DNS 탐지 — NXDOMAIN/NODATA 응답에서도 작동하는 DNS 서버 탐지
  • 🎲 무작위 하위 도메인 지원 — 무작위 하위 도메인으로 캐시된 응답 방지
  • 🌐 다중 DNS 유형 — A, AAAA, MX, TXT, NS 레코드 지원
  • 📝 항상 켜져 있는 로그 패널 — 스캔 중 로그 섹션이 항상 표시됨
  • 🌍 멀티 플랫폼 자동 다운로드 — 플랫폼에 맞는 올바른 Slipstream 클라이언트 자동 다운로드
  • 📥 다운로드 재개 — 재시도 로직으로 네트워크 중단 시 스마트 다운로드 재개
  • 💾 자동 결과 저장 — 서버별 세부 정보가 포함된 자동 CSV 내보내기
  • 📁 CIDR 관리 — 내장 이란 IP + 사용자 정의 파일 선택기
  • 🚀 메모리 효율적 — 모든 IP를 메모리에 로드하지 않고 스트리밍 IP 생성
  • 🔔 오디오 알림 — 프록시 테스트 성공 시 선택적 반짝임 소리
  • 🔧 실험적 MTU — 고급 네트워크 스캔을 위한 OS 수준 MTU 설정

📋 요구 사항

Python 버전

  • Python 3.11 이상

종속성```bash

Core dependencies (always installed — works on every platform including Android/Termux)

textual>=0.47.0 # TUI framework aiodns>=3.1.0 # Async DNS resolver httpx[socks]>=0.25.0 # HTTP client with SOCKS5 support for proxy testing loguru>=0.7.0 # Advanced logging

Optional "full" extras (pip install pydns-scanner[full]) — desktop only

google-re2>=1.0 # Fast RE2 regex engine (falls back to stdlib re) orjson>=3.9.0 # Fast JSON serialization (falls back to stdlib json) pyperclip>=1.8.0 # Clipboard support (silently disabled when absent)

root@kitploit:~
### 선택사항
- **Slipstream 클라이언트** — 프록시 테스트 기능용 (5개 동시 테스트)
  - **자동 다운로드**: 애플리케이션이 자동으로 플랫폼을 감지하여 올바른 클라이언트를 다운로드합니다
  - **스마트 감지**: 기존 설치를 감지합니다 (레거시 파일명 포함)
  - **이어받기 지원**: 부분 다운로드를 저장하고 재시도 시 이어받기를 지원합니다
  - 지원 플랫폼:
    - Linux (x86_64): `slipstream-client-linux-amd64`
    - Linux (ARM64): `slipstream-client-linux-arm64`
    - Windows (x86_64): `slipstream-client-windows-amd64.exe`
    - macOS (ARM64): `slipstream-client-darwin-arm64`
    - macOS (Intel): `slipstream-client-darwin-amd64`
    - Android (ARM64): `slipstream-client-linux-arm64`
  - 수동 다운로드 가능: [slipstream-rust-plus-deploy 릴리스](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest)

### 📦 번들된 Slipstream 클라이언트

미리 컴파일된 Slipstream 클라이언트 바이너리 (더 빠른 [Fox-Fig/slipstream-rust-plus-deploy](https://github.com/Fox-Fig/slipstream-rust-plus-deploy)에서 제공)는 모든 플랫폼용으로 `slipstream-client/` 폴더에 포함되어 있습니다:

| 플랫폼 | 경로 | 설명 |
|----------|------|-------------|
| **Linux x86_64** | `slipstream-client/linux/slipstream-client-linux-amd64` | Linux x86_64 바이너리 |
| **Linux ARM64** | `slipstream-client/linux/slipstream-client-linux-arm64` | Linux ARM64 바이너리 (Raspberry Pi, ARM 서버) |
| **Android/Termux** | `slipstream-client/android/slipstream-client-linux-arm64` | Android ARM64 (Termux 호환) |
| **Windows** | `slipstream-client/windows/slipstream-client-windows-amd64.exe` | Windows x86_64 실행 파일 |
| **macOS ARM** | `slipstream-client/mac/slipstream-client-darwin-arm64` | macOS Apple Silicon (M1/M2/M3/M4) |
| **macOS Intel** | `slipstream-client/mac/slipstream-client-darwin-amd64` | macOS Intel x86_64 |

> **⚠️ Windows 참고:** Windows 클라이언트는 OpenSSL DLL (`libcrypto-3-x64.dll` 및 `libssl-3-x64.dll`)이 필요하며, 이 파일들은 `slipstream-client/windows/` 폴더에 포함되어 있습니다. 자동 다운로드를 사용하면 Windows 실행 파일과 함께 이러한 DLL이 자동으로 다운로드됩니다.

#### 📥 올인원 아카이브

편의를 위해 모든 플랫폼 바이너리를 포함한 압축 아카이브가 제공됩니다:

- **`slipstream-client/slipstream-client-all-platforms.tar.gz`** — 최고 압축률 (권장)
- **`slipstream-client/slipstream-client-all-platforms.zip`** — Windows 친화적 형식

이 아카이브에는 Linux, Windows 및 macOS 클라이언트가 단일 다운로드에 포함되어 있습니다.

### 선택사항
- **SlipNet 클라이언트** — SlipNet (DNSTT / NoiseDNS) 터널 테스트용
  - **자동 다운로드**: 애플리케이션이 자동으로 플랫폼을 감지하여 올바른 SlipNet 클라이언트를 다운로드합니다
  - **스마트 감지**: 기존 설치를 감지합니다
  - **이어받기 지원**: 부분 다운로드를 저장하고 재시도 시 이어받기를 지원합니다
  - 지원 플랫폼:
    - Linux (x86_64): `slipnet-linux-amd64`
    - Linux (ARM64): `slipnet-linux-arm64`
    - Windows (x86_64): `slipnet-windows-amd64.exe`
    - macOS (ARM64): `slipnet-darwin-arm64`
    - macOS (Intel): `slipnet-darwin-amd64`
  - 수동 다운로드 가능: [anonvector 릴리스](https://github.com/anonvector/SlipNet/releases)

### 📦 번들된 SlipNet 클라이언트

미리 컴파일된 SlipNet 클라이언트 바이너리 ([anonvector](https://github.com/anonvector/SlipNet/releases) 제공)는 모든 플랫폼용으로 `slipnet-client/` 폴더에 포함되어 있습니다:

| 플랫폼 | 경로 | 설명 |
|----------|------|-------------|
| **Linux x86_64** | `slipnet-client/linux/slipnet-linux-amd64` | Linux x86_64 바이너리 |
| **Linux ARM64** | `slipnet-client/linux/slipnet-linux-arm64` | Linux ARM64 바이너리 (Raspberry Pi, ARM 서버) |
| **Windows** | `slipnet-client/windows/slipnet-windows-amd64.exe` | Windows x86_64 실행 파일 |
| **macOS ARM** | `slipnet-client/mac/slipnet-darwin-arm64` | macOS Apple Silicon (M1/M2/M3/M4) |
| **macOS Intel** | `slipnet-client/mac/slipnet-darwin-amd64` | macOS Intel x86_64 |

## 🚀 설치

### 방법 1: PyPI에서 설치 (권장)

PYDNS Scanner를 설치하는 가장 쉬운 방법:

#### pip 사용```bash
pip install pydns-scanner

데스크톱 — 전체 추가 기능 (더 빠른 정규식, 클립보드, 빠른 JSON)```bash

pip install pydns-scanner[full]

root@kitploit:~
#### uv 사용 (더 빠름)```bash
uv pip install pydns-scanner        # core
uv pip install pydns-scanner[full]   # desktop extras

Android / Termux```bash

pkg update && pkg install python pip install pydns-scanner # core only — always works on Termux pydns-scanner

root@kitploit:~
> **참고:** Android/Termux에서는 선택적 C-확장 패키지(`google-re2`, `orjson`, `pyperclip`)가 자동으로 건너뛰어집니다. — 스캐너는 별도의 수동 개입 없이 stdlib 대안으로 대체됩니다.

#### 미러 사용 (PyPI 접근이 제한된 사용자를 위해)```bash
# Runflare Mirror
pip install pydns-scanner -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com

# Or Alibaba Cloud Mirror
pip install pydns-scanner -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# Or TUNA Mirror
pip install pydns-scanner -i https://pypi.tuna.tsinghua.edu.cn/simple

설치 후 실행```bash

pydns-scanner

root@kitploit:~
---

### 방법 2: 소스에서 실행 (수동)

리포지토리에서 코드를 직접 실행하려면:

#### 1단계: 리포지토리 복제```bash
git clone https://github.com/xullexer/PYDNS-Scanner.git
cd PYDNS-Scanner

2단계: 종속성 설치

uv 사용 (권장 - 빠름!)```bash uv pip install -r requirements.txt

root@kitploit:~
**pip 사용하기**```bash
pip install -r requirements.txt

미러 사용하기 (PyPI 접근이 제한된 사용자를 위한)```bash

Runflare Mirror

pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com

Or Alibaba Cloud Mirror

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

Or TUNA Mirror

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

root@kitploit:~
#### 단계 3: 애플리케이션 실행```bash
python -m python

🎮 사용법

기본 사용법

PyPI에서:```bash pydns-scanner

root@kitploit:~
**소스에서:**```bash
python -m python

대화형 TUI를 실행하여 다음을 구성할 수 있습니다:

  • CIDR 파일: IP 범위가 포함된 파일 경로 (CIDR 표기법)
  • 도메인: 쿼리할 도메인 (예: google.com)
  • DNS 유형: 레코드 유형 (A, AAAA, MX, TXT, NS)
  • 동시성: 병렬 작업자 수 (기본값: 100)
  • 무작위 서브도메인: 캐시된 응답을 피하기 위해 무작위 접두사 추가
  • 스캔 모드: Slipstream (프록시 테스트), SlipNet (DNSTT/NoiseDNS), 또는 DNS 스캔 (경량) 중 선택

CIDR 파일 형식

한 줄에 하나의 CIDR 범위를 포함하는 텍스트 파일을 생성하세요:

root@kitploit:~
192.168.1.0/24
10.0.0.0/8

Comments start with

1.1.1.0/24 8.8.8.0/24 178.22.122.0/24 185.51.200.0/22

root@kitploit:~
### 예제 워크플로우

1. **애플리케이션 실행**:   ```bash
   python dnsscanner_tui.py
  1. 스캔 매개변수 구성:

    • "📂 찾아보기"를 클릭하여 CIDR 파일 선택
    • 도메인 입력 (예: google.com)
    • 동시 실행 수 설정 (권장: 100-500)
    • 필요에 따라 옵션 활성화
  2. 스캔 시작:

    • "🚀 스캔 시작" 클릭
    • 실시간 진행 상황 및 결과 확인
    • "⏸ 일시 정지"를 사용하여 언제든지 스캔 일시 정지
    • "▶ 재개"를 사용하여 일시 정지한 지점에서 계속 진행
  3. 결과 보기:

    • 응답 시간별 정렬 (가장 빠른 순)
    • 녹색 = 빠름 (<100ms)
    • 노란색 = 보통 (100-300ms)
    • 빨간색 = 느림 (>300ms)
  4. 결과 저장:

    • 결과는 자동으로 results/TIMESTAMP.csv에 저장됨
    • c 키를 누르거나 "💾 결과 저장"을 클릭하여 수동 저장

⌨️ 키보드 단축키

🎮 제어 버튼

활성 스캔 중:

  • ⏸ 일시 정지 - 진행 상황을 잃지 않고 스캔 일시 정지
  • ▶ 재개 - 일시 정지한 지점에서 스캔 계속
  • 💾 결과 저장 - 현재 결과를 수동으로 저장
  • 🛑 종료 - 애플리케이션 종료

🎛️ 구성

로깅

로깅은 기본적으로 비활성화되어 있어 인터페이스를 깔끔하게 유지하고 불필요한 디스크 쓰기를 방지합니다.

로깅을 활성화하려면 dnsscanner_tui.py를 편집하세요:```python

Configure logging (disabled by default)

logger.remove() # Remove default handler to disable logging

Uncomment the line below to enable file logging

logger.add( "logs/dnsscanner_{time}.log", rotation="50 MB", compression="zip", level="DEBUG", )

root@kitploit:~
활성화된 경우:
- 로그는 `logs/dnsscanner_TIMESTAMP.log`에 저장됩니다.
- 50MB에서 자동 회전
- 자동 압축 (zip)
- DEBUG 수준 세부 정보 포함

### 동시성 설정

시스템 및 네트워크에 따라 조정하세요:

- **Low (50-100)**: 보수적, 느린 시스템에 적합
- **Medium (100-300)**: 균형 잡힌 성능
- **High (300-500)**: 빠른 스캔, 좋은 하드웨어 필요
- **Very High (500+)**: 최대 속도, 리소스 제한에 도달할 수 있음

### 슬립스트림 테스트

스캐너는 자동 다운로드와 함께 병렬 슬립스트림 프록시 테스트를 지원합니다:```python
# In __init__ method
self.slipstream_max_concurrent = 5  # Max parallel proxy tests
self.slipstream_base_port = 10800   # Base port (uses 10800, 10801, 10802)

자동 다운로드 기능:

  • 플랫폼 감지 (Windows/Linux/macOS + 아키텍처)
  • 다운로드 속도를 표시하는 진행률 표시줄
  • 중단 시 재개 (.partial 파일 유지)
  • 지수 백오프로 재시도 (최대 5회)
  • 레거시 파일명 감지 (slipstream-client.exe)

DNS 시간 초과

DNS 쿼리는 2초 후 타임아웃됩니다:```python

In _test_dns method

resolver = aiodns.DNSResolver(nameservers=[ip], timeout=2.0, tries=1)

root@kitploit:~
## 📊 출력 형식

결과는 **CSV 형식**(`results/TIMESTAMP.csv`)으로 저장됩니다. 열은 활성화된 테스트에 따라 조정됩니다.```csv
DNS,Ping (ms),IPv4/IPv6,TCP/UDP,Security,EDNS0,Resolved IP,ISP
8.8.8.8,12,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS15169 Google LLC
1.1.1.1,15,IPv4/IPv6,TCP+UDP,DNSSEC,Yes,142.250.185.46,AS13335 Cloudflare Inc

Optional columns (Proxy Test, Security, EDNS0) are included only when the corresponding test is enabled in settings.

🔍 작동 방식

DNS 탐지 로직

스캐너는 다음 조건을 충족하는 서버를 '작동 중인 DNS'로 간주합니다:

  1. 성공 응답: 2초 이내에 유효한 DNS 응답 반환
  2. DNS 오류 응답: 2초 이내에 NXDOMAIN, NODATA 또는 NXRRSET 반환
    • 이러한 오류는 DNS 서버가 작동 중이지만 레코드가 존재하지 않음을 의미합니다.

이 접근 방식은 성공 응답만 허용하는 도구보다 더 많은 작동 중인 DNS 서버를 포착합니다.

성능 최적화

  • 스트리밍 IP 생성: IP는 CIDR 범위에서 즉시 생성됩니다.
  • 청크 처리: IP를 500개씩 배치로 처리합니다.
  • 비동기 I/O: aiodns를 사용한 논블로킹 DNS 쿼리
  • 세마포어 제어: 리소스 고갈을 방지하기 위해 동시 작업을 제한합니다.
  • 메모리 매핑: 가능한 경우 mmap을 사용한 빠른 CIDR 파일 읽기

무작위 하위 도메인 기능

활성화되면 쿼리에 무작위 접두사를 사용합니다:``` original: google.com random: a1b2c3d4.google.com

root@kitploit:~
**사용 사례**: 캐시된 DNS 응답 우회
**요구 사항**: 대상 도메인은 와일드카드 DNS(`*.example.com`)가 있어야 함

## 📂 프로젝트 구조```
PYDNS-Scanner/
├── README.md                          # English documentation
├── README-FA.md                       # Farsi documentation
├── README-ZH.md                       # Chinese documentation
├── RELEASE_NOTES.md                   # Release notes (EN / FA / ZH)
├── pyproject.toml                     # Python package configuration
├── requirements.txt                   # Python dependencies
├── pydns-scanner.spec                 # PyInstaller build spec
├── python/
│   ├── __init__.py                    # Package init
│   ├── __main__.py                    # Entry point (pydns-scanner CLI)
│   ├── dnsscanner_tui.py             # Main TUI application
│   ├── iran-ipv4.cidrs               # Sample Iranian CIDR file
│   ├── requirements.txt               # Python dependencies (source)
│   ├── scanner/                       # Modular scanner package
│   │   ├── __init__.py
│   │   ├── config_mixin.py           # Configuration mixin for TUI
│   │   ├── constants.py              # Shared constants
│   │   ├── extra_tests.py            # Security & EDNS0 tests
│   │   ├── ip_streaming.py           # Streaming IP generation from CIDR
│   │   ├── isp_cache.py              # ISP detection & caching
│   │   ├── proxy_testing.py          # Slipstream proxy testing
│   │   ├── results.py                # Result formatting & CSV export
│   │   ├── slipnet.py                # SlipNet (DNSTT/NoiseDNS) testing
│   │   ├── slipstream.py            # Slipstream client management
│   │   ├── utils.py                  # Utility functions
│   │   ├── widgets.py                # Custom TUI widgets
│   │   └── worker_pool.py           # Async worker pool
│   ├── slipstream-client/            # Bundled Slipstream binaries
│   │   ├── linux/
│   │   ├── windows/
│   │   ├── mac/
│   │   └── android/
│   └── slipnet-client/               # Bundled SlipNet binaries
│       ├── linux/
│       ├── windows/
│       └── mac/
├── results/                           # Scan results (auto-generated)
├── logs/                              # Application logs (when enabled)
└── static/                            # Static assets

🐛 문제 해결

"'textual' 모듈을 찾을 수 없음"```bash

pip install textual

root@kitploit:~
### "파일을 찾을 수 없음" 오류
- CIDR 파일 경로가 올바른지 확인
- 스크립트 위치 기준 절대 경로 또는 상대 경로 사용
- 내장 파일 브라우저 사용 (📂 찾아보기 버튼)

### 스캔 속도 느림
- 동시성 값 줄이기
- 네트워크 대역폭 확인
- DNS 타임아웃 설정 확인

### 높은 메모리 사용량
- 스캐너는 스트리밍을 사용하여 메모리 최소화
- 문제가 지속되면 `_stream_ips_from_file`에서 청크 크기 줄이기

### Slipstream 다운로드 실패
- **네트워크 문제**: 앱이 지수 백오프로 최대 5회 자동 재시도
- **재개**: 부분 다운로드는 `.partial` 파일로 저장됨 - 그냥 다시 실행하여 재개
- **수동 다운로드**: [slipstream-rust-plus-deploy 릴리스](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest)에서 다운로드
- **로그 확인**: 로깅 활성화 (환경설정 섹션 참조)하여 자세한 오류 정보 확인
- **방화벽**: GitHub 접근이 허용되는지 확인

### Slipstream이 감지되지 않음
- 플랫폼별 디렉토리(`slipstream-client/windows/` 등)가 존재하는지 확인
- 파일명 일치 확인 (신규 및 레거시 이름 모두 지원)
- 레거시 설치의 경우: `slipstream-client.exe` 사용 (자동 감지)
- 로깅을 활성화하여 감지 과정 확인

### Slipstream 테스트 실패
- 실행 파일에 올바른 권한이 있는지 확인 (Linux/macOS: `chmod +x`)
- 포트 10800~10802가 사용 가능한지 확인
- (활성화된 경우) `logs/` 디렉토리에서 로그 확인
- DNS 서버에 대한 연결 수동 테스트

## 📝 로깅

**기본값: 비활성화** - 시스템을 깨끗하게 유지하기 위해 로그가 생성되지 않습니다.

**로깅 활성화 방법:**

1. `python/dnsscanner_tui.py` 편집
2. `logger.add()` 섹션의 주석 해제
3. 로그는 `logs/dnsscanner_TIMESTAMP.log`에 저장됨

**로그 레벨:**
- **DEBUG**: 상세 DNS 쿼리 결과, 다운로드 진행 상황
- **INFO**: 스캔 진행 상황 및 통계
- **WARNING**: 중요하지 않은 문제, 재시도 시도
- **ERROR**: 치명적 오류, 다운로드 오류

## 🌍 CIDR 목록 찾기

### 국가별 IP 범위

**IPv4**:
- https://www.ipdeny.com/ipblocks/data/aggregated/

**IPv6**:
- https://www.ipdeny.com/ipv6/ipaddresses/aggregated/

### 사용 예시```bash
# Download Iran IPv4 ranges
wget https://www.ipdeny.com/ipblocks/data/aggregated/ir-aggregated.zone -O iran-ipv4.cidrs

# Use in scanner
python dnsscanner_tui.py
# Then select iran-ipv4.cidrs in the file browser

🤝 기여하기

기여를 환영합니다! 풀 리퀘스트를 제출하거나 이슈를 열어 주세요.

개발 환경 설정```bash

git clone https://github.com/xullexer/PYDNS-Scanner.git cd PYDNS-Scanner/python pip install -r requirements.txt python dnsscanner_tui.py

root@kitploit:~
## 📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 제공됩니다.

## 👨‍💻 작성자

- GitHub: [@xullexer](https://github.com/xullexer)

## 🙏 감사의 말

- [Textual](https://github.com/Textualize/textual) (Textualize)로 구축됨
- [aiodns](https://github.com/saghul/aiodns)를 통한 DNS 해석
- 효율적인 DNS 서버 탐색의 필요성에서 영감을 받음
- **SlipNet CLI**를 개발한 [**anonvector**](https://github.com/anonvector)에게 감사 — 이 프로젝트에 포함된 SlipNet 클라이언트 바이너리는 그들의 작업에서 비롯됨
- Python 코드베이스는 이제 **모듈화**되어 개발 및 유지보수가 더 쉬워짐

## 📈 성능 참고 사항

다양한 시스템에서 성능 테스트 완료:

- **소규모 스캔** (1,000 IP): 약 10~30초
- **중간 규모 스캔** (50,000 IP): 약 5~10분
- **대규모 스캔** (100만+ IP): 약 1~3시간

*결과는 네트워크 속도, 동시성 설정 및 시스템 리소스에 따라 다릅니다.*

## 🔐 보안 고려 사항

- 암호학적으로 안전한 난수 생성기(`secrets.SystemRandom`) 사용
- 자격 증명이나 민감한 데이터는 기록되지 않음
- DNS 쿼리는 표준 UDP/TCP 포트 53 사용
- Slipstream 프록시 테스트는 선택 사항이며 기본적으로 비활성화되어 있음

## 💝 프로젝트 지원

이 프로젝트가 유용하다고 생각되면 개발을 지원하는 것을 고려해 주세요:

### 암호화폐 기부

- **비트코인 (BTC)**  
  `bc1qpya0kc2uh0mc08c7nuzrqkpsqjr36mrwscgpxr`

- **솔라나 (SOL)**  
  `J1XzZfizQ6mgYiyxpLGWU52kHBF1hm2Tb9AZ5FaRj8tH`

- **이더리움 (ETH)**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **바이낸스 스마트 체인 (BNB/BSC)**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **트론 (TRX)**  
  `TYBZFr8WUsjgfrXrqmrdF5EXPXo7QdimA8`

- **이더리움 베이스**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **TON (텔레그램 오픈 네트워크)**  
  `UQBcI_ZZGQq3fcNzTkL-zszgFR5HpRDLFHYRZffizriiScxJ`

---

**즐거운 스캔 하세요! 🚀**
도구 다운로드
키사용 시기동작
s설정 화면스캔 시작
q언제든지애플리케이션 종료
c스캔 중결과 저장
p스캔 중스캔 일시 정지
r일시 정지 중스캔 재개
x일시 정지 중남은 IP 섞기