> 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/de/reconnaissance/nmap.md).

# Nmap

Nmap wird bei der Aufklärung verwendet, um aktive Hosts, offene Ports, Dienstversionen, Betriebssysteme, NSE-Skriptergebnisse und potenzielle Angriffswege zu identifizieren.

{% hint style="info" %}
**Nmap**, was für „*Netzwerk-Mapper*“, ist ein Open-Source-Tool zum Erkunden und Prüfen von Netzwerken sowie zum Auffinden von Hosts und Diensten in einem Netzwerk. Es wurde ursprünglich von Gordon Lyon entwickelt, auch bekannt als Fyodor Vaskovich. Nmap bietet Funktionen zum Netzwerkscannen, mit denen Benutzer mit einem Netzwerk verbundene Geräte erkennen, auf diesen Geräten laufende Dienste identifizieren und detaillierte Informationen über die Netzwerkkonfiguration erhalten können.
{% endhint %}

#### Häufige Befehle und Optionsübersicht:

## Nmap-Optionsübersicht

### Ziel- und Host-Erkennung

| Option               | Beschreibung                                                      |
| -------------------- | ----------------------------------------------------------------- |
| `10.10.10.0/24`      | Zielnetzwerkbereich.                                              |
| `-sL`                | Listen-Scan. Listet Ziele auf, ohne sie zu scannen.               |
| `-sn`                | Deaktiviert den Port-Scan und führt nur die Host-Erkennung durch. |
| `-Pn`                | Behandelt Hosts als online und überspringt Host-Erkennungssonden. |
| `-n`                 | Deaktiviert die DNS-Auflösung.                                    |
| `-PE`                | Führt die Host-Erkennung mithilfe von ICMP-Echo-Anfragen durch.   |
| `--disable-arp-ping` | Deaktiviert ARP-Ping-Anfragen in lokalen Netzwerken.              |
| `--dns-server <ns>`  | Führt die DNS-Auflösung mit dem angegebenen Nameserver durch.     |

### Portauswahl und Scan-Typen

| Option              | Beschreibung                                                                                  |
| ------------------- | --------------------------------------------------------------------------------------------- |
| `--open`            | Zeigt nur offene Ports an.                                                                    |
| `--top-ports <num>` | Scant die angegebene Anzahl der am häufigsten verwendeten Ports.                              |
| `-p-`               | Scant alle TCP-Ports.                                                                         |
| `-p22-110`          | Scant alle Ports zwischen 22 und 110.                                                         |
| `-p22,25`           | Scant nur die angegebenen Ports 22 und 25.                                                    |
| `-F`                | Schnellscan. Scant die Top-100-Ports.                                                         |
| `-sS`               | Führt einen TCP-SYN-Scan durch.                                                               |
| `-sT`               | Führt einen TCP-Connect-Scan durch, nützlich, wenn SYN-Scan-Privilegien nicht verfügbar sind. |
| `-sA`               | Führt einen TCP-ACK-Scan durch, nützlich für das Mapping von Firewall-Regeln.                 |
| `-sU`               | Führt einen UDP-Scan durch.                                                                   |
| `-sV`               | Erkennt Dienstversionen auf entdeckten Diensten.                                              |
| `-sC`               | Führt NSE-Skripte aus, kategorisiert als `Standard`.                                          |
| `--script <script>` | Führt das angegebene NSE-Skript oder die angegebene Skriptkategorie aus.                      |

### Erkennung und Umgehung

| Option                               | Beschreibung                                                                              |
| ------------------------------------ | ----------------------------------------------------------------------------------------- |
| `-O`                                 | Führt eine Betriebssystemerkennung durch.                                                 |
| `-A`                                 | Aktiviert Betriebssystemerkennung, Versionserkennung, NSE-Standardskripte und Traceroute. |
| `--packet-trace`                     | Zeigt gesendete und empfangene Pakete an.                                                 |
| `--reason`                           | Zeigt den Grund an, den Nmap für einen Port- oder Host-Status gemeldet hat.               |
| `-D RND:5`                           | Verwendet fünf zufällige Decoys zur Umgehung von Firewalls/IDS.                           |
| `-e <interface>`                     | Gibt die für den Scan verwendete Netzwerkschnittstelle an.                                |
| `-S 10.10.10.200`                    | Gibt die Quell-IP-Adresse für den Scan an.                                                |
| `-g <port>` / `--source-port <port>` | Gibt den Quellport für den Scan an.                                                       |

### Ausgabeoptionen

| Option         | Beschreibung                                                                                 |
| -------------- | -------------------------------------------------------------------------------------------- |
| `-oA filename` | Speichert Ergebnisse in allen verfügbaren Ausgabeformaten unter `Dateinamen` als Basisnamen. |
| `-oN filename` | Speichert Ergebnisse im Normalformat.                                                        |
| `-oG filename` | Speichert Ergebnisse im grepbaren Format.                                                    |
| `-oX filename` | Speichert Ergebnisse im XML-Format.                                                          |

### Leistungsoptionen

| Option                       | Beschreibung                                                            |
| ---------------------------- | ----------------------------------------------------------------------- |
| `--max-retries <num>`        | Legt die Anzahl der Wiederholungsversuche für die Portscan-Sonden fest. |
| `--stats-every=5s`           | Zeigt den Scan-Status alle 5 Sekunden an.                               |
| `-v` / `-vv`                 | Zeigt während des Scans ausführliche Ausgaben an.                       |
| `--initial-rtt-timeout 50ms` | Legt das anfängliche RTT-Timeout fest.                                  |
| `--max-rtt-timeout 100ms`    | Legt das maximale RTT-Timeout fest.                                     |
| `--min-rate 300`             | Sendet Pakete nicht langsamer als die angegebene Rate.                  |
| `-T <0-5>`                   | Legt die Timing-Vorlage fest, von `0` paranoid bis `5` wahnsinnig.      |

## **Port-Scan**

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

Schneller TCP-SYN-Scan über alle Ports, der DNS und Host-Erkennung überspringt, den ausführlichen Fortschritt anzeigt und grepbare Ausgabe speichert.

<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>

## **Versionsscan für Ports**

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

Gezielter Dienst- und Standardskript-Scan für ausgewählte Ports, gespeichert im Normalausgabeformat.

<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>

## **Identifizierung von mit dem Netzwerk verbundenen Geräten**

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

Host-Erkennungs-Scan zur Identifizierung aktiver Systeme in einem Netzwerkbereich, ohne Ports zu scannen.

<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>

## Firewalls mit Nmap umgehen

{% hint style="info" %}
Es gibt mehrere Methoden, eine Firewall mit dem Nmap-Tool zu umgehen. Nachfolgend sind die am häufigsten verwendeten und wirksamsten Techniken dafür aufgeführt
{% endhint %}

### Die Größe der gesendeten Pakete anpassen

> Die MTU- oder „Maximum Transmission Unit“-Umgehungstechnik besteht darin, die Größe der gesendeten Pakete anzupassen, um ihre Erkennung durch die Firewall zu vermeiden. Nmap ermöglicht es Ihnen, die maximale Paketgröße manuell zu konfigurieren, um sicherzustellen, dass die Pakete klein genug sind, um die Firewall unentdeckt zu passieren.

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

### Padding-Daten hinzufügen

> Bei dieser Technik wird die Länge der gesendeten Daten geändert, sodass sie kurz genug ist, um von der Firewall nicht erkannt zu werden. Nmap ermöglicht es Benutzern, die Länge der gesendeten Daten manuell zu konfigurieren, um der Erkennung zu entgehen.

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

### Die Quellportnummer manuell festlegen

> Bei dieser Technik wird die Quellportnummer der gesendeten Pakete manuell konfiguriert, um eine Erkennung zu vermeiden. Mit Nmap können Benutzer einen zufälligen Quellport oder einen bestimmten Port angeben, um die Firewall zu umgehen.

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

### Senden gefälschter Pakete an das Netzwerk

> Diese Umgehungstechnik ermöglicht das Senden von gefälschten Paketen über das Netzwerk, um Intrusion-Detection-Systeme zu verwirren und der Erkennung durch die Firewall zu entgehen. Mit der `-D` Option sendet Nmap gefälschte Pakete zusammen mit echten Paketen, um Benutzeraktivitäten zu verbergen.

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

### Fragmentierung gesendeter Pakete

> Bei dieser Technik werden gesendete Pakete fragmentiert, sodass die Firewall den Datenverkehr nicht als Scan identifizieren kann. Nmaps `-f` Option ermöglicht es, Pakete zu fragmentieren und in Teilen zu senden, um der Erkennung zu entgehen.

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

### MAC-Adresse des Pakets ändern

> Bei dieser Umgehungstechnik wird die MAC-Adresse des Pakets geändert, um seine Erkennung durch die Firewall zu vermeiden. Nmap ermöglicht es Ihnen, die MAC-Adresse manuell zu konfigurieren, um den Datenverkehr zu verschleiern.

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

## Schwachstellenscan mit Nmap-Skripten

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

> Dieses Nmap-Skript ermöglicht es Ihnen, die Schwachstellen eines bestimmten Hosts zu analysieren. Durch das Ausführen von Skripten aus der **Schwachstellen** und **sicher** -Kategorie identifiziert es mögliche Sicherheitslücken. Die Ergebnisse werden in einer Datei namens **vulnScan** für eine spätere Analyse gespeichert.

**Linux-Aufzählung (ohne Anmeldeinformationen)**

```bash
enum4linux -a 10.10.10.10
```

<figure><img src="/files/a6171516b10bd14a3ff5f1a57f8ee88a520c8a17" alt=""><figcaption></figcaption></figure>

**Linux-Aufzählung mit Anmeldeinformationen**

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

<figure><img src="/files/1da7c058ab9fdf32910142124ebfe69d3c94039b" 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/de/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.
