> 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

Notes de reconnaissance Nmap pour le balayage de ports, la détection de services, les scripts NSE, la découverte d’hôtes, le contournement des pare-feu et le balayage des vulnérabilités.

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 vecteurs d’attaque potentiels.

{% hint style="info" %}
**Nmap**, qui signifie "*Cartographe réseau*", est un outil open source utilisé pour explorer et auditer les réseaux, ainsi que pour découvrir des hôtes et des 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`                | Analyse de liste. Répertorie les cibles sans les scanner.                      |
| `-sn`                | Désactive le scan de ports et effectue uniquement la découverte d’hôtes.       |
| `-Pn`                | Considère 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 ping ARP 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`            | N’affiche que les ports ouverts.                                                                     |
| `--top-ports <num>` | Scanne le nombre spécifié de ports les plus courants.                                                |
| `-p-`               | Scanne tous les ports TCP.                                                                           |
| `-p22-110`          | Scanne tous les ports entre 22 et 110.                                                               |
| `-p22,25`           | Scanne uniquement les ports spécifiés 22 et 25.                                                      |
| `-F`                | Scan rapide. Scanne les 100 ports les plus courants.                                                 |
| `-sS`               | Effectue un scan TCP SYN.                                                                            |
| `-sT`               | Effectue un scan de connexion TCP, utile lorsque les privilèges du 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 découverts.                                                        |
| `-sC`               | Exécute les scripts NSE de la catégorie `default`.                                                   |
| `--script <script>` | Exécute le script NSE ou la catégorie de scripts spécifiés.                                          |

### Détection et évasion

| Option                               | Description                                                                                                            |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `-O`                                 | Effectue la détection du système d’exploitation.                                                                       |
| `-A`                                 | 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.                                                                                  |
| `--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 filename` | Enregistre les résultats dans tous les formats de sortie disponibles en utilisant `nom de fichier` comme nom de base. |
| `-oN filename` | Enregistre les résultats au format normal.                                                                            |
| `-oG filename` | Enregistre les résultats au format exploitable par grep.                                                              |
| `-oX filename` | 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 verbeuse 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 les paquets à un rythme au moins égal au débit 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 une progression détaillée et enregistre une sortie exploitable par grep.

<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 scanner 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 certaines des techniques les plus utilisées et les plus efficaces à cette fin
{% 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 garantir qu’ils soient 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 remplissage

> 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 échapper à 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 la détection. Avec Nmap, les utilisateurs peuvent spécifier un port source aléatoire ou un port précis 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 tromper 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 de vrais paquets 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’ `-f` option permet de fragmenter les paquets et de les envoyer en morceaux pour échapper à 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 des vulnérabilités avec les scripts Nmap

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

> Ce script Nmap permet d’analyser les vulnérabilités d’un hôte spécifique. En exécutant des scripts de la catégorie **vuln** (vulnerabilities) et **safe** (safe scans), 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="https://3840167291-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fce72ab9ffa72b4149e4e03a00e2fef1cef79467%2Fimage%20(600).png?alt=media" alt=""><figcaption></figcaption></figure>

**Énumération Linux avec identifiants**

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

<figure><img src="https://3840167291-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-729956858769d747348cf1bc4f10825b000854d4%2Fimage%20(601).png?alt=media" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
