> 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-Aufklärungsnotizen für Port-Scans, Diensterkennung, NSE-Skripte, Host-Erkennung, Firewall-Umgehung und Schwachstellenscans.

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

{% hint style="info" %}
**Nmap**, was für „*Network Mapper*“ steht, 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 Netzwerk-Scan-Funktionen, mit denen Benutzer mit einem Netzwerk verbundene Geräte entdecken, auf diesen Geräten laufende Dienste identifizieren und detaillierte Informationen über die Netzwerkkonfiguration erhalten können.
{% endhint %}

#### Übliche Befehle und Optionsreferenz:

## Nmap-Optionsreferenz

### Ziel- und Host-Erkennung

| Option               | Beschreibung                                                        |
| -------------------- | ------------------------------------------------------------------- |
| `10.10.10.0/24`      | Ziel-Netzwerkbereich.                                               |
| `-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-Erkennungsprobes.   |
| `-n`                 | Deaktiviert die DNS-Auflösung.                                      |
| `-PE`                | Führt die Host-Erkennung mit ICMP-Echo-Requests durch.              |
| `--disable-arp-ping` | Deaktiviert ARP-Ping-Anfragen in lokalen Netzwerken.                |
| `--dns-server <ns>`  | Führt die DNS-Auflösung mithilfe des angegebenen Nameservers durch. |

### Portauswahl und Scan-Typen

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

### Erkennung und Umgehung

| Option                               | Beschreibung                                                                               |
| ------------------------------------ | ------------------------------------------------------------------------------------------ |
| `-O`                                 | Führt die Betriebssystemerkennung durch.                                                   |
| `-A`                                 | Aktiviert Betriebssystemerkennung, Versionserkennung, NSE-Standard-Skripte und Traceroute. |
| `--packet-trace`                     | Zeigt gesendete und empfangene Pakete an.                                                  |
| `--reason`                           | Zeigt den Grund an, den Nmap für einen Port- oder Hoststatus 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 die Ergebnisse in allen verfügbaren Ausgabeformaten unter `Dateinamen` als Basisnamen. |
| `-oN filename` | Speichert die Ergebnisse im normalen Format.                                                     |
| `-oG filename` | Speichert die Ergebnisse in grepbarem Format.                                                    |
| `-oX filename` | Speichert die Ergebnisse im XML-Format.                                                          |

### Leistungsoptionen

| Option                       | Beschreibung                                                   |
| ---------------------------- | -------------------------------------------------------------- |
| `--max-retries <num>`        | Legt die Anzahl der Wiederholungen für Portscan-Probes 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` insane. |

## **Port-Scan**

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

Schneller vollständiger TCP-SYN-Scan, 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>

## **Portversionsscan**

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

Gezielter Dienst- und Standard-Skript-Scan gegen ausgewählte Ports, gespeichert im normalen Ausgabeformat.

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

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

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

Host-Erkennungsscan 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 einige der am häufigsten verwendeten und effektivsten Techniken dafür aufgeführt
{% endhint %}

### Größe der gesendeten Pakete anpassen

> Die MTU-Umgehungstechnik oder „Maximum Transmission Unit“ 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

> Diese Technik besteht darin, die Länge der gesendeten Daten zu ändern, damit sie kurz genug sind, um von der Firewall nicht erkannt zu werden. Nmap erlaubt es Benutzern, die Länge der gesendeten Daten manuell zu konfigurieren, um die Erkennung zu umgehen.

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

### Quellportnummer manuell festlegen

> Diese Technik besteht darin, die Quellportnummer gesendeter Pakete manuell zu konfigurieren, um die 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 es, gefälschte Pakete über das Netzwerk zu senden, um Intrusion-Detection-Systeme zu verwirren und die Erkennung durch die Firewall zu vermeiden. Mit der `-D` Option sendet Nmap gefälschte Pakete zusammen mit echten Paketen, um die Benutzeraktivität zu verbergen.

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

### Fragmentierung gesendeter Pakete

> Diese Technik besteht darin, gesendete Pakete zu fragmentieren, damit die Firewall den Datenverkehr nicht als Scan identifizieren kann. Die `-f` -Option von Nmap erlaubt es, Pakete zu fragmentieren und stückweise zu senden, um die Erkennung zu umgehen.

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

### MAC-Adresse des Pakets ändern

> Diese Umgehungstechnik besteht darin, die MAC-Adresse des Pakets zu ändern, 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 den Kategorien **vuln** (Schwachstellen) und **safe** (sichere Scans) werden mögliche Sicherheitslücken identifiziert. Die Ergebnisse werden in einer Datei namens **vulnScan** für eine spätere Analyse gespeichert.

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

```bash
enum4linux -a 10.10.10.10
```

<figure><img src="https://2955439919-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>

**Linux-Aufzählung mit Anmeldedaten**

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

<figure><img src="https://2955439919-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/de/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.
