> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/fr/reconnaissance/nmap.md).

# Nmap

Nmap est utilisé lors de la reconnaissance pour identifier les hôtes actifs, les ports ouverts, les versions des services, les systèmes d’exploitation, les résultats des scripts NSE et les chemins d’attaque potentiels.

{% hint style="info" %}
**Nmap**, qui signifie "*Network Mapper*", est un outil open source utilisé pour explorer et auditer les réseaux, ainsi que pour découvrir les hôtes et les services sur un réseau. Il a été créé à l’origine par Gordon Lyon, également connu sous le nom de Fyodor Vaskovich. Nmap fournit des capacités de scan réseau qui permettent aux utilisateurs de découvrir les appareils connectés à un réseau, d’identifier les services exécutés sur ces appareils et d’obtenir des informations détaillées sur la configuration du réseau.
{% endhint %}

#### Référence des commandes et options courantes :

## Référence des options Nmap

### Ciblage et découverte d’hôtes

| Option               | Description                                                                 |
| -------------------- | --------------------------------------------------------------------------- |
| `10.10.10.0/24`      | Plage réseau cible.                                                         |
| `-sL`                | Scan de liste. Liste les cibles sans les analyser.                          |
| `-sn`                | Désactive le scan de ports et effectue uniquement la découverte d’hôtes.    |
| `-Pn`                | Traite les hôtes comme en ligne et ignore les sondes de découverte d’hôtes. |
| `-n`                 | Désactive la résolution DNS.                                                |
| `-PE`                | Effectue la découverte d’hôtes à l’aide de requêtes ICMP Echo.              |
| `--disable-arp-ping` | Désactive les requêtes ARP ping sur les réseaux locaux.                     |
| `--dns-server <ns>`  | Effectue la résolution DNS à l’aide du serveur de noms spécifié.            |

### Sélection des ports et types de scan

| Option              | Description                                                                                               |
| ------------------- | --------------------------------------------------------------------------------------------------------- |
| `--open`            | Affiche uniquement les ports ouverts.                                                                     |
| `--top-ports <num>` | Analyse le nombre spécifié de ports les plus courants.                                                    |
| `-p-`               | Analyse tous les ports TCP.                                                                               |
| `-p22-110`          | Analyse tous les ports entre 22 et 110.                                                                   |
| `-p22,25`           | Analyse uniquement les ports spécifiés 22 et 25.                                                          |
| `-F`                | Scan rapide. Analyse les 100 ports les plus courants.                                                     |
| `-sS`               | Effectue un scan TCP SYN.                                                                                 |
| `-sT`               | Effectue un scan de connexion TCP, utile lorsque les privilèges pour un scan SYN ne sont pas disponibles. |
| `-sA`               | Effectue un scan TCP ACK, utile pour la cartographie des règles de pare-feu.                              |
| `-sU`               | Effectue un scan UDP.                                                                                     |
| `-sV`               | Détecte les versions des services sur les services découverts.                                            |
| `-sC`               | Exécute les scripts NSE catégorisés comme `par défaut`.                                                   |
| `--script <script>` | Exécute le script NSE ou la catégorie de scripts spécifiée.                                               |

### Détection et contournement

| Option                                                                                                                   | Description                                                                   |
| ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| `-O`                                                                                                                     | Effectue la détection du système d’exploitation.                              |
| `Active la détection du système d’exploitation, la détection des versions, les scripts NSE par défaut et le traceroute.` | --packet-trace                                                                |
| `Affiche les paquets envoyés et reçus.`                                                                                  | Affiche la raison pour laquelle Nmap a signalé l’état d’un port ou d’un hôte. |
| `--reason`                                                                                                               | Affiche la raison pour laquelle Nmap a signalé l’état d’un port ou d’un hôte. |
| `-D RND:5`                                                                                                               | Utilise cinq leurres aléatoires pour contourner les pare-feu/IDS.             |
| `-e <interface>`                                                                                                         | Spécifie l’interface réseau utilisée pour le scan.                            |
| `-S 10.10.10.200`                                                                                                        | Spécifie l’adresse IP source pour le scan.                                    |
| `-g <port>` / `--source-port <port>`                                                                                     | Spécifie le port source pour le scan.                                         |

### Options de sortie

| Option            | Description                                                                                                     |
| ----------------- | --------------------------------------------------------------------------------------------------------------- |
| `-oA nom_fichier` | Enregistre les résultats dans tous les formats de sortie disponibles en utilisant `filename` comme nom de base. |
| `-oN nom_fichier` | Enregistre les résultats au format normal.                                                                      |
| `-oG nom_fichier` | Enregistre les résultats au format grepable.                                                                    |
| `-oX nom_fichier` | Enregistre les résultats au format XML.                                                                         |

### Options de performance

| Option                       | Description                                                           |
| ---------------------------- | --------------------------------------------------------------------- |
| `--max-retries <num>`        | Définit le nombre de tentatives pour les sondes de scan de ports.     |
| `--stats-every=5s`           | Affiche l’état du scan toutes les 5 secondes.                         |
| `-v` / `-vv`                 | Affiche une sortie détaillée pendant le scan.                         |
| `--initial-rtt-timeout 50ms` | Définit le délai d’attente RTT initial.                               |
| `--max-rtt-timeout 100ms`    | Définit le délai d’attente RTT maximal.                               |
| `--min-rate 300`             | Envoie des paquets à un débit au moins égal au taux spécifié.         |
| `-T <0-5>`                   | Définit le modèle de temporisation, de `0` paranoïaque à `5` insensé. |

## **Scan de ports**

```bash
nmap --open -p- -sS --min-rate 5000 -vvv -n -Pn 192.168.0.1 -oG allPorts
```

Scan TCP SYN rapide de tous les ports, qui ignore le DNS et la découverte d’hôtes, affiche la progression détaillée et stocke la sortie au format grepable.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252Fe6BGuXp1hLil6uT3Jtic%252Fimage.png%3Falt%3Dmedia%26token%3D96d46423-ca25-4471-a563-42daeae3be1e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bcba8a61&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## **Scan de version des ports**

```bash
nmap -p22,80,443 -sCV 192.168.0.1 -oN targeted
```

Scan ciblé des services et des scripts par défaut sur les ports sélectionnés, enregistré au format de sortie normal.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252F2MsfGLpxVpuiWEE7sRjJ%252Fimage.png%3Falt%3Dmedia%26token%3D767e772a-f3ea-4fee-b266-0c73398b7a4f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b468a586&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## **Identification des appareils connectés au réseau**

```bash
nmap -sn 192.168.0.1/24
```

Scan de découverte d’hôtes pour identifier les systèmes actifs dans une plage réseau sans analyser les ports.

<figure><img src="https://hacking-notes.jord4n.pro/~gitbook/image?url=https%3A%2F%2F3467118603-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FwJ00xYl3QY03Wq54i4By%252Fuploads%252FEFDeAo8BSjtTrsirRHC8%252Fimage.png%3Falt%3Dmedia%26token%3D679e4610-aa84-4b59-80e0-1a08f0c9140b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=753ed2d0&#x26;sv=1" alt=""><figcaption></figcaption></figure>

## Contourner les pare-feu avec Nmap

{% hint style="info" %}
Il existe plusieurs méthodes pour contourner un pare-feu à l’aide de l’outil Nmap. Voici quelques-unes des techniques les plus utilisées et les plus efficaces à cet effet
{% endhint %}

### Ajuster la taille des paquets envoyés

> La technique d’évasion MTU, ou « Maximum Transmission Unit », consiste à ajuster la taille des paquets envoyés afin d’éviter leur détection par le pare-feu. Nmap permet de configurer manuellement la taille maximale des paquets afin de s’assurer qu’ils sont suffisamment petits pour traverser le pare-feu sans être détectés.

```bash
nmap 192.168.0.1 --mtu 8
```

### Ajouter des données de bourrage

> Cette technique consiste à modifier la longueur des données envoyées afin qu’elles soient suffisamment courtes pour ne pas être détectées par le pare-feu. Nmap permet aux utilisateurs de configurer manuellement la longueur des données envoyées pour contourner la détection.

```bash
nmap -p22 192.168.0.1 --data-length 21
```

### Définir manuellement le numéro de port source

> Cette technique consiste à configurer manuellement le numéro de port source des paquets envoyés pour éviter leur détection. Avec Nmap, les utilisateurs peuvent spécifier un port source aléatoire ou un port spécifique pour contourner le pare-feu.

```bash
nmap -p22 192.168.0.1 --source-port 53
```

### Envoi de faux paquets sur le réseau

> Cette technique d’évasion permet d’envoyer des paquets usurpés sur le réseau afin de perturber les systèmes de détection d’intrusion et d’éviter la détection par le pare-feu. Avec l’ `-D` option, Nmap envoie des paquets usurpés avec des paquets réels pour masquer l’activité de l’utilisateur.

```bash
nmap -p22 192.168.0.1 -D 192.168.0.100,192.168.0.152
```

### Fragmentation des paquets envoyés

> Cette technique consiste à fragmenter les paquets envoyés afin que le pare-feu ne puisse pas identifier le trafic comme un scan. L’option `-f` de Nmap permet de fragmenter les paquets et de les envoyer en plusieurs morceaux pour éviter la détection.

```bash
nmap -p22 192.168.0.1 -f
```

### Modifier l’adresse MAC du paquet

> Cette technique d’évasion consiste à modifier l’adresse MAC du paquet afin d’éviter sa détection par le pare-feu. Nmap permet de configurer manuellement l’adresse MAC pour masquer le trafic.

```bash
nmap -p22 192.168.0.1 --spoof-mac f4:69:42:f4:a7:d0
```

## Analyse de vulnérabilités avec les scripts Nmap

```bash
nmap --script "vuln and safe" -p445 10.10.10.10 -oN vulnScan
```

> Ce script Nmap vous permet d’analyser les vulnérabilités d’un hôte spécifique. En exécutant des scripts de la catégorie **vuln** (vulnérabilités) et **safe** (analyses sûres), il identifie les vulnérabilités de sécurité possibles. Les résultats sont enregistrés dans un fichier nommé **vulnScan** pour une analyse ultérieure.

**Énumération Linux (sans identifiants)**

```bash
enum4linux -a 10.10.10.10
```

<figure><img src="/files/307de7820fbe55c9ede84161d7535878aec32455" alt=""><figcaption></figcaption></figure>

**Énumération Linux avec identifiants**

```bash
enum4linux -a 10.10.10.10 -u admin -p password1
```

<figure><img src="/files/7fd778ec3f506d7be039f746e4f8e1500891497c" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/fr/reconnaissance/nmap.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
