Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PYDNS-Scanner — Un scanner DNS moderne et haute performance doté d'une belle interface utilisateur en terminal (TUI) construite avec Textual. Cet outil peut scanner des millions d'adresses IP pour trouver des serveurs DNS fonctionnels, avec des tests optionnels de proxy Slipstream et un téléchargement automatique du client multi-plateforme. | Kitploit
Outils/GitHubGitHub/xullexer/pydns-scanner
ReconnaissanceCartographie RéseauAnalyse des VulnérabilitésCollecte d'InformationsTests d'IntrusionAnalyse DNS
GitHubxullexer/pydns-scanner

PYDNS-Scanner

Voir le dépôt
40349il y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Un scanner DNS moderne et haute performance doté d'une belle interface utilisateur en terminal (TUI) construite avec Textual. Cet outil peut scanner des millions d'adresses IP pour trouver des serveurs DNS fonctionnels, avec des tests optionnels de proxy Slipstream et un téléchargement automatique du client multi-plateforme.

Partager

PYDNS Scanner




Python License Platform Telegram

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

Un scanner DNS moderne et haute performance avec une magnifique interface utilisateur en terminal (TUI) construite avec Textual.
Cet outil peut scanner des millions d'adresses IP pour trouver des serveurs DNS fonctionnels avec trois modes de scan — Slipstream, SlipNet (DNSTT, NoiseDNS) et DNS Scan — plus une notation automatique des types DNS et un téléchargement multi-plateforme du client.

🆕 v2.0.0 : Support SlipNet, mode DNS Scan, scan multi-plage bidirectionnel, paramètres avancés et amélioration majeure des performances !

🎉 Nouveautés de la v2.0.0

🌐 Trois modes de scan

  • Slipstream — Test proxy classique avec support SOCKS5
  • SlipNet — Support complet des configurations SlipNet pour les tunnels DNSTT et NoiseDNS avec authentification SOCKS5 / SSH et méthode d'authentification détectée automatiquement
  • DNS Scan — Nouveau mode léger : insérez simplement un domaine, définissez la concurrence et scannez — pas de test proxy, pas d'authentification. Teste la sécurité, les types DNS, le ping, l'IP résolue, EDNS0, etc.

🔀 Nouvelle stratégie de scan — Multi-plage bidirectionnel

Le scanner scanne désormais depuis le début et la fin de chaque plage IP simultanément sur plusieurs plages, combiné à un mélange aléatoire — performances plus rapides et meilleure chance de trouver des serveurs DNS fonctionnels par rapport au scan linéaire.

�️ Notation et vérification automatique des types DNS

Tous les types DNS (A, AAAA, MX, TXT, NS) sont automatiquement testés et notés par serveur — même système de notation que le scanner SlipNet.

⚙️ Nouvelle section Avancé

Paramètres de scan entièrement personnalisables :

  • Seuil minimum de ping proxy pour le test proxy
  • Délai d'attente de connexion DNS
  • Délai d'attente du test proxy de bout en bout
  • Nombre de tests proxy parallèles
  • Étapes de mélange personnalisées
  • URL de test proxy + code de statut de réponse attendu
  • Définir MTU (remplacement expérimental du MTU au niveau OS)
  • Taille de requête pour SlipNet (DNSTT / NoiseDNS)

🎨 Améliorations UX

  • Statistiques de scan améliorées — Affichage repensé des statistiques avec une mise en page plus claire
  • Meilleur tableau des résultats — Rédaction et formatage améliorés dans le tableau des résultats
  • Nouvelle interface de statut du test proxy — Retour en temps réel sur le test proxy
  • Meilleure détection des IP filtrées — Identification plus précise des IP filtrées
  • Section de journal toujours visible — Le panneau de journal n'est plus activable/désactivable ; toujours affiché pendant les scans

🔧 Expérimental : Définir le MTU de l'OS

Scannez avec une valeur MTU spécifiée pour un réglage réseau avancé.

⚡ Performances

  • Performances de scan globales significativement plus élevées
  • Détection automatique de la méthode d'authentification pour SlipNet (DNSTT / NoiseDNS)

⚙️ Corrections de bogues

  • Correction du gel de l'interface après le scan de grandes plages DNS
  • Correction de la baisse de vitesse après plus de 500 000 IP scannées
  • Correction de la fuite mémoire lors de scans longs
  • Mise à jour des dépendances pour résoudre les alertes de vulnérabilité de faible gravité de Dependabot

✨ Fonctionnalités

  • 🌐 Trois modes de scan — Slipstream (test proxy), SlipNet (tunnels DNSTT / NoiseDNS), DNS Scan (léger, sans proxy/auth)
  • 🔀 Scan multi-plage bidirectionnel — Scanne depuis le début et la fin de chaque plage IP simultanément avec mélange aléatoire pour une découverte plus rapide
  • 🧪 Notation automatique des types DNS — Tous les types DNS (A, AAAA, MX, TXT, NS) testés et notés automatiquement par serveur
  • ⚙️ Paramètres avancés — Personnalisez le seuil de ping proxy, le délai d'attente DNS, le délai d'attente de bout en bout du proxy, le nombre de proxy parallèles, les étapes de mélange, l'URL de test, le MTU et la taille de requête
  • 🔐 Test de sécurité — Détecte les serveurs détournés, filtrés, résolveurs ouverts et DNSSEC par serveur
  • 🌐 Colonne IP résolue — Teste chaque serveur DNS en résolvant google.com, résultat affiché dans le tableau
  • 📡 Détection FAI — Numéro AS et nom de l'organisation via ip-api.com
  • 🌍 Détection IPv4 / IPv6 — Signale les versions IP supportées par chaque serveur
  • 📶 Détection EDNS0 — Teste et affiche le support de l'extension EDNS0
  • 🔌 Slipstream Rust Plus — Tests proxy plus rapides avec corrections de faux positifs et test SOCKS5 indépendant
  • 🔗 Support SlipNet — Test de tunnels DNSTT / NoiseDNS avec authentification SOCKS5 / SSH et méthode d'authentification détectée automatiquement
  • 🧮 Tri multi-clés intelligent — Trie automatiquement par passage proxy → DNSSEC → ping pour les meilleurs serveurs en premier
  • ⚡ Haute performance — Scan asynchrone avec concurrence configurable
  • ⏸️ Pause / Reprise / Mélanger — Contrôle complet du scan en direct
  • 📊 Statistiques en temps réel — Compteurs en direct des passages/échecs/trouvés mis à jour tout au long du scan
  • 🔍 Détection DNS intelligente — Détecte les serveurs DNS fonctionnels même avec des réponses NXDOMAIN / NODATA
  • 🎲 Support de sous-domaines aléatoires — Évite les réponses mises en cache avec des sous-domaines aléatoires
  • 🌐 Plusieurs types DNS — Prend en charge les enregistrements A, AAAA, MX, TXT, NS
  • 📝 Panneau de journal toujours actif — La section journal est toujours visible pendant les scans

📋 Prérequis

Version Python

  • Python 3.11 ou supérieur

Dépendances```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:~
### Optionnel
- **Slipstream Client** - Pour la fonctionnalité de test de proxy (5 tests simultanés)
  - **Téléchargement automatique** : L'application détecte automatiquement votre plateforme et télécharge le client approprié
  - **Détection intelligente** : Détecte les installations existantes (y compris les noms de fichiers hérités)
  - **Support de reprise** : Les téléchargements partiels sont sauvegardés et peuvent être repris lors d'une nouvelle tentative
  - Plateformes prises en charge :
    - 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`
  - Téléchargement manuel disponible sur : [versions de slipstream-rust-plus-deploy](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest)

### 📦 Clients Slipstream inclus

Des binaires précompilés du client Slipstream (issus du projet plus rapide [Fox-Fig/slipstream-rust-plus-deploy](https://github.com/Fox-Fig/slipstream-rust-plus-deploy)) sont inclus dans le dossier `slipstream-client/` pour toutes les plateformes :

| Plateforme | Chemin | Description |
|----------|------|-------------|
| **Linux x86_64** | `slipstream-client/linux/slipstream-client-linux-amd64` | Binaire Linux x86_64 |
| **Linux ARM64** | `slipstream-client/linux/slipstream-client-linux-arm64` | Binaire Linux ARM64 (Raspberry Pi, serveurs ARM) |
| **Android/Termux** | `slipstream-client/android/slipstream-client-linux-arm64` | Android ARM64 (compatible Termux) |
| **Windows** | `slipstream-client/windows/slipstream-client-windows-amd64.exe` | Exécutable 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 |

> **⚠️ Note Windows :** Le client Windows nécessite les DLL OpenSSL (`libcrypto-3-x64.dll` et `libssl-3-x64.dll`) qui sont incluses dans le dossier `slipstream-client/windows/`. Lors de l'utilisation du téléchargement automatique, ces DLL sont téléchargées automatiquement avec l'exécutable Windows.

#### 📥 Archives tout-en-un

Pour plus de commodité, des archives compressées contenant tous les binaires de plateformes sont disponibles :

- **`slipstream-client/slipstream-client-all-platforms.tar.gz`** - Meilleure compression (recommandée)
- **`slipstream-client/slipstream-client-all-platforms.zip`** - Format convivial pour Windows

Ces archives incluent les clients Linux, Windows et macOS en un seul téléchargement.

### Optionnel
- **SlipNet Client** — Pour les tests de tunnel SlipNet (DNSTT / NoiseDNS)
  - **Téléchargement automatique** : L'application détecte automatiquement votre plateforme et télécharge le client SlipNet approprié
  - **Détection intelligente** : Détecte les installations existantes
  - **Support de reprise** : Les téléchargements partiels sont sauvegardés et peuvent être repris lors d'une nouvelle tentative
  - Plateformes prises en charge :
    - 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`
  - Téléchargement manuel disponible sur : [versions de anonvector](https://github.com/anonvector/SlipNet/releases)

### 📦 Clients SlipNet inclus

Les binaires précompilés du client SlipNet (par [anonvector](https://github.com/anonvector/SlipNet/releases)) sont inclus dans le dossier `slipnet-client/` pour toutes les plateformes :

| Plateforme | Chemin | Description |
|----------|------|-------------|
| **Linux x86_64** | `slipnet-client/linux/slipnet-linux-amd64` | Binaire Linux x86_64 |
| **Linux ARM64** | `slipnet-client/linux/slipnet-linux-arm64` | Binaire Linux ARM64 (Raspberry Pi, serveurs ARM) |
| **Windows** | `slipnet-client/windows/slipnet-windows-amd64.exe` | Exécutable 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 |

## 🚀 Installation

### Méthode 1 : Installer depuis PyPI (Recommandé)

La façon la plus simple d'installer PYDNS Scanner :

#### En utilisant pip```bash
pip install pydns-scanner

Bureau — extras complets (expressions régulières plus rapides, presse-papiers, JSON rapide)```bash

pip install pydns-scanner[full]

root@kitploit:~
#### Utilisation de uv (plus rapide)```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:~
> **Remarque :** Sur Android/Termux, les packages d'extension C optionnels (`google-re2`, `orjson`, `pyperclip`) sont
> automatiquement ignorés — le scanner utilise les équivalents stdlib sans aucune intervention manuelle.

#### Utilisation du miroir (Pour les utilisateurs ayant un accès limité à 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

Exécution après installation```bash

pydns-scanner

root@kitploit:~
### Méthode 2 : Exécuter à partir des sources (Manuelle)

Si vous souhaitez exécuter le code directement depuis le dépôt :

#### Étape 1 : Cloner le dépôt```bash
git clone https://github.com/xullexer/PYDNS-Scanner.git
cd PYDNS-Scanner

Étape 2 : Installer les dépendances

Utiliser uv (Recommandé - Rapide !)```bash uv pip install -r requirements.txt

root@kitploit:~
**Utilisation de pip**```bash
pip install -r requirements.txt

Utilisation du miroir (Pour les utilisateurs ayant un accès limité à 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:~
#### Étape 3: Exécuter l'application```bash
python -m python

🎮 Utilisation

Utilisation de base

Depuis PyPI :```bash pydns-scanner

root@kitploit:~
**Depuis la source :**```bash
python -m python

Cela lancera l'interface TUI interactive où vous pouvez configurer :

  • CIDR File : Chemin vers le fichier contenant les plages IP (notation CIDR)
  • Domain : Domaine à interroger (ex. google.com)
  • DNS Type : Type d'enregistrement (A, AAAA, MX, TXT, NS)
  • Concurrency : Nombre de workers parallèles (par défaut : 100)
  • Random Subdomain : Ajouter un préfixe aléatoire pour éviter les réponses mises en cache
  • Scan Mode : Choisir Slipstream (test proxy), SlipNet (DNSTT/NoiseDNS) ou DNS Scan (léger)

Format du fichier CIDR

Créez un fichier texte avec une plage CIDR par ligne :```

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:~
### Exemple de workflow

1. **Lancez l'application** :   ```bash
   python dnsscanner_tui.py
  1. Configurer les paramètres de scan :

    • Cliquez sur "📂 Browse" pour sélectionner votre fichier CIDR
    • Saisissez le domaine (ex. google.com)
    • Définir la concurrence (recommandé : 100-500)
    • Activez les options selon vos besoins
  2. Démarrer le scan :

    • Cliquez sur "🚀 Démarrer le scan"
    • Regardez la progression et les résultats en temps réel
    • Utilisez "⏸ Pause" pour mettre le scan en pause à tout moment
    • Utilisez "▶ Reprendre" pour continuer là où vous vous êtes arrêté
  3. Afficher les résultats :

    • Trié par temps de réponse (le plus rapide en premier)
    • Vert = rapide (<100ms)
    • Jaune = moyen (100-300ms)
    • Rouge = lent (>300ms)
  4. Enregistrer les résultats :

    • Les résultats sont automatiquement enregistrés dans results/TIMESTAMP.csv
    • Appuyez sur c ou cliquez sur "💾 Enregistrer les résultats" pour enregistrer manuellement

⌨️ Raccourcis clavier

🎮 Boutons de contrôle

Pendant un scan actif :

  • ⏸ Pause - Mettre le scan en pause sans perdre la progression
  • ▶ Reprendre - Continuer le scan à partir de là où vous vous êtes arrêté
  • 💾 Enregistrer les résultats - Enregistrer manuellement les résultats actuels
  • 🛑 Quitter - Quitter l'application

🎛️ Configuration

Journalisation

La journalisation est désactivée par défaut pour garder l'interface propre et éviter des écritures disque inutiles.

Pour activer la journalisation, modifiez 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:~
Lorsque activé :
- Les logs sont sauvegardés dans `logs/dnsscanner_TIMESTAMP.log`
- Rotation automatique à 50 Mo
- Compressé automatiquement (zip)
- Inclut les détails de niveau DEBUG

### Paramètres de concurrence

Ajustez en fonction de votre système et réseau :

- **Faible (50-100)** : Conservateur, adapté aux systèmes lents
- **Moyen (100-300)** : Performance équilibrée
- **Élevé (300-500)** : Scan rapide, nécessite un bon matériel
- **Très élevé (500+)** : Vitesse maximale, peut atteindre les limites des ressources

### Test Slipstream

Le scanner prend en charge les tests parallèles du proxy Slipstream avec téléchargement automatique :```python
# In __init__ method
self.slipstream_max_concurrent = 5  # Max parallel proxy tests
self.slipstream_base_port = 10800   # Base port (uses 10800, 10801, 10802)

Fonctionnalités de téléchargement automatique :

  • Détection de plateforme (Windows/Linux/macOS + architecture)
  • Barre de progression avec vitesse de téléchargement
  • Reprise en cas d'interruption (conserve les fichiers .partial)
  • Nouvelle tentative avec backoff exponentiel (jusqu'à 5 tentatives)
  • Détection de nom de fichier hérité (slipstream-client.exe)

Délai d'attente DNS

Les requêtes DNS expirent après 2 secondes :```python

In _test_dns method

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

root@kitploit:~
## 📊 Format de sortie

Les résultats sont enregistrés au **format CSV** (`results/TIMESTAMP.csv`). Les colonnes s'adaptent aux tests activés :```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

Les colonnes facultatives (Proxy Test, Security, EDNS0) ne sont incluses que lorsque le test correspondant est activé dans les paramètres.

🔍 Comment ça marche

Logique de détection DNS

Le scanner considère un serveur comme « DNS fonctionnel » si :

  1. Réponse réussie : Renvoie une réponse DNS valide en moins de 2 secondes
  2. Réponses d'erreur DNS : Renvoie NXDOMAIN, NODATA ou NXRRSET en moins de 2 secondes
    • Ces erreurs signifient que le serveur DNS fonctionne, mais que l'enregistrement n'existe pas

Cette approche détecte plus de serveurs DNS fonctionnels que les outils qui n'acceptent que les réponses réussies.

Optimisations des performances

  • Génération de flux d'IP : Les IP sont générées à la volée à partir des plages CIDR
  • Traitement par lots : Traite les IP par lots de 500
  • E/S asynchrones : Requêtes DNS non bloquantes utilisant aiodns
  • Contrôle par sémaphore : Limite les opérations simultanées pour éviter l'épuisement des ressources
  • Mappage mémoire : Lecture rapide des fichiers CIDR en utilisant mmap lorsque possible

Fonctionnalité de sous-domaine aléatoire

Lorsqu'elle est activée, les requêtes utilisent des préfixes aléatoires :``` original: google.com random: a1b2c3d4.google.com

root@kitploit:~
**Cas d'utilisation** : Contourner les réponses DNS mises en cache
**Prérequis** : Le domaine cible doit avoir un DNS générique (`*.example.com`)

## 📂 Structure du projet```
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

🐛 Dépannage

"No module named 'textual'"```bash

pip install textual

root@kitploit:~
### Erreur "Fichier non trouvé"
- Assurez-vous que le chemin du fichier CIDR est correct
- Utilisez le chemin absolu ou le chemin relatif depuis l'emplacement du script
- Utilisez l'explorateur de fichiers intégré (bouton 📂 Parcourir)

### Scan lent
- Réduisez la valeur de simultanéité
- Vérifiez la bande passante réseau
- Vérifiez les paramètres de délai d'attente DNS

### Utilisation élevée de la mémoire
- Le scanner utilise le streaming pour minimiser l'utilisation mémoire
- Si les problèmes persistent, réduisez la taille des blocs dans `_stream_ips_from_file`

### Échec du téléchargement de Slipstream
- **Problèmes réseau** : L'application réessaie automatiquement jusqu'à 5 fois avec un backoff exponentiel
- **Reprendre** : Les téléchargements partiels sont sauvegardés sous forme de fichiers `.partial` – exécutez à nouveau pour reprendre
- **Téléchargement manuel** : Téléchargez depuis [slipstream-rust-plus-deploy releases](https://github.com/Fox-Fig/slipstream-rust-plus-deploy/releases/latest)
- **Consultez les journaux** : Activez la journalisation (voir section Configuration) pour des informations détaillées sur les erreurs
- **Pare-feu** : Assurez-vous que l'accès à GitHub est autorisé

### Slipstream non détecté
- Vérifiez que le répertoire spécifique à la plateforme existe (`slipstream-client/windows/`, etc.)
- Vérifiez que le nom de fichier correspond (prend en charge les noms nouveaux et anciens)
- Pour les installations anciennes : Utilisez `slipstream-client.exe` (détection automatique)
- Activez la journalisation pour voir le processus de détection

### Échec des tests Slipstream
- Vérifiez que l'exécutable a les bonnes permissions (Linux/macOS : `chmod +x`)
- Vérifiez que les ports 10800-10802 sont disponibles
- Consultez les journaux (si activés) dans le répertoire `logs/`
- Testez manuellement la connectivité aux serveurs DNS

## 📝 Journalisation

**Par défaut : Désactivé** – Aucun journal n'est créé pour garder votre système propre.

**Pour activer la journalisation :**

1. Modifiez `python/dnsscanner_tui.py`
2. Décommentez la section `logger.add()`
3. Les journaux sont sauvegardés dans `logs/dnsscanner_TIMESTAMP.log`

**Niveaux de journalisation :**
- **DEBUG** : Résultats détaillés des requêtes DNS, progression du téléchargement
- **INFO** : Progression du scan et statistiques
- **WARNING** : Problèmes non critiques, tentatives de nouvelle tentative
- **ERROR** : Échecs critiques, erreurs de téléchargement

## 🌍 Trouver des listes CIDR

### Plages IP par pays

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

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

### Exemple d'utilisation```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

🤝 Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à soumettre des pull requests ou à ouvrir des issues.

Configuration de développement```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:~
## 📄 Licence

Ce projet est sous licence MIT.

## 👨‍💻 Auteur

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

## 🙏 Remerciements

- Construit avec [Textual](https://github.com/Textualize/textual) par Textualize
- Résolution DNS via [aiodns](https://github.com/saghul/aiodns)
- Inspiré par le besoin de découverte efficace de serveurs DNS
- Merci à [**anonvector**](https://github.com/anonvector) pour le développement de **SlipNet CLI** — les binaires clients SlipNet inclus dans ce projet proviennent de son travail
- Le code Python est désormais **modulaire** et plus facile à développer et à maintenir

## 📈 Notes de performance

Performances testées sur divers systèmes :

- **Petit scan** (1 000 adresses IP) : ~10 à 30 secondes
- **Scan moyen** (50 000 adresses IP) : ~5 à 10 minutes
- **Grand scan** (1 M+ adresses IP) : ~1 à 3 heures

*Les résultats varient selon la vitesse du réseau, les réglages de concurrence et les ressources système.*

## 🔐 Considérations de sécurité

- Utilise un générateur de nombres aléatoires cryptographiquement sûr (`secrets.SystemRandom`)
- Aucun identifiant ou donnée sensible n’est journalisé
- Les requêtes DNS sont standards sur UDP/TCP port 53
- Le test de proxy Slipstream est optionnel et désactivé par défaut

## 💝 Soutenir le projet

Si vous trouvez ce projet utile, envisagez de soutenir son développement :

### Dons en cryptomonnaies

- **Bitcoin (BTC)**  
  `bc1qpya0kc2uh0mc08c7nuzrqkpsqjr36mrwscgpxr`

- **Solana (SOL)**  
  `J1XzZfizQ6mgYiyxpLGWU52kHBF1hm2Tb9AZ5FaRj8tH`

- **Ethereum (ETH)**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **Binance Smart Chain (BNB/BSC)**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **Tron (TRX)**  
  `TYBZFr8WUsjgfrXrqmrdF5EXPXo7QdimA8`

- **Ethereum Base**  
  `0x26D9924B88e71b5908d957EA4c74C66989c253cb`

- **TON (Telegram Open Network)**  
  `UQBcI_ZZGQq3fcNzTkL-zszgFR5HpRDLFHYRZffizriiScxJ`

---

**Bon scan ! 🚀**
Télécharger l’outil
  • 🌍 Téléchargement automatique multi-plateforme — Télécharge automatiquement le client Slipstream correct pour votre plateforme
  • 📥 Reprise des téléchargements — Reprise intelligente des téléchargements en cas d'interruption réseau avec logique de réessai
  • 💾 Sauvegarde automatique des résultats — Exportation CSV automatique avec détails par serveur
  • 📁 Gestion CIDR — IPs Iran intégrées + sélecteur de fichier personnalisé
  • 🚀 Efficace en mémoire — Génération d'IP en flux sans charger toutes les IP en mémoire
  • 🔔 Alertes sonores — Son de scintillement optionnel lors d'un test proxy réussi
  • 🔧 MTU expérimental — Définir le MTU au niveau OS pour le scan réseau avancé
  • ToucheMomentAction
    sÉcran de configurationDémarrer le scan
    qÀ tout momentQuitter l'application
    cPendant le scanEnregistrer les résultats
    pPendant le scanMettre en pause
    rEn pauseReprendre le scan
    xEn pauseMélanger les IP restantes