Nmap: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Boenki (Diskussion | Beiträge)
K typos
RoundCube (Diskussion | Beiträge)
K Link zum Englischem Wiki
 
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
''Nmap'' ist ein Netzwerk-Analyse und -Sicherheitstool. Mittels Nmap können Netzwerkrechner auf geöffnete ''Ports'' untersucht werden. Nmap ist somit ein ''Portscanner''. Der Programmname steht für „Network mapper“ (Netzwerkkartograph).
''Nmap'' ist ein Netzwerk-Analyse und -Sicherheitstool. Mittels Nmap können Netzwerkrechner auf geöffnete ''Ports'' untersucht werden. Nmap ist somit ein ''Portscanner''. Der Programmname steht für „Network mapper“ (Netzwerkkartograph).


Nmap ist Doppel-Lizensiert und kann einerseits als freie Software unter der GPL bezogen werden, aber andererseits auch unter einer anderen Lizenz erworben werden, um es in Programme zu integrieren, die nicht unter der GPL stehen.
Nmap ist Doppel-Lizenziert und kann einerseits als freie Software unter der GPL bezogen werden, aber andererseits auch unter einer anderen Lizenz erworben werden, um es in Programme zu integrieren, die nicht unter der GPL stehen.


== Installation ==
{{installation
Nmap ist im „extra“-Repository zu finden, und kann aus diesem heraus auch mittels [[Pacman]] installiert werden.
|name=Nmap
|repo=extra
|paket=nmap}}


pacman -Sy nmap
Neben dem Befehlszeilenprogramm gibt es auch ein GUI für Nmap names ''Zenmap''. Diese ist im Paket enthalten und kann mit dem Befehl {{ic|zenmap}} gestartet werden.
 
Neben dem Befehlszeilenprogramm gibt es auch ein GUI für Nmap names ''Zenmap''. Allerdings ist dieses GUI nicht in den Repositorys und auch nicht im AUR zu finden, sondern muss von der [http://nmap.org/zenmap/ offiziellen Seite] heruntergeladen werden.


== Grundlegende Verwendung ==
== Grundlegende Verwendung ==
Nmaps Hauptfunktion ist das Analysieren von Netzwerkrechnern und die Darstellung der auf diesen Rechnern geöffneten Ports.
Nmaps Hauptfunktion ist das Analysieren von Netzwerkrechnern und die Darstellung der auf diesen Rechnern geöffneten Ports.


$ nmap testserver.lan
{{hc|nmap testserver.lan|Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:36 CEST
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:36 CEST
Interesting ports on testserver.lan (192.168.6.242):
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Not shown: 968 filtered ports
Interesting ports on testserver.lan (192.168.6.242):
PORT    STATE SERVICE
Not shown: 968 filtered ports
25/tcp  open  smtp
PORT    STATE SERVICE
53/tcp  open  domain
25/tcp  open  smtp
80/tcp  open  http
53/tcp  open  domain
[weitere Ports]
80/tcp  open  http
 
[weitere Ports]
Nmap done: 1 IP address (1 host up) scanned in 3.69 seconds}}
Nmap done: 1 IP address (1 host up) scanned in 3.69 seconds


Es wird der lokale Rechner „testserver.lan“ auf geöffnete Ports untersucht. Die Portnummer, sowie desssen Status als auch der Service-Name, falls bekannt, wird dann angezeigt. Möchte man statt der normalen Ausgabe eine detailiertere Ausgabe erhalten, kann man Nmap um den Parameter „-v“ erweitern.
Es wird der lokale Rechner „testserver.lan“ auf geöffnete Ports untersucht. Die Portnummer, sowie dessen Status als auch der Service-Name, falls bekannt, wird dann angezeigt. Möchte man statt der normalen Ausgabe eine detailliertere Ausgabe erhalten, kann man Nmap um den Parameter „-v“ erweitern.


$ nmap -v testserver.lan
{{hc|nmap -v testserver.lan|Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:40 CEST
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:40 CEST
Initiating Ping Scan at 12:40
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Scanning 192.168.6.242 [1 port]
Initiating Ping Scan at 12:40
Completed Ping Scan at 12:40, 0.00s elapsed (1 total hosts)
Scanning 192.168.6.242 [1 port]
Initiating Parallel DNS resolution of 1 host. at 12:40
Completed Ping Scan at 12:40, 0.00s elapsed (1 total hosts)
Completed Parallel DNS resolution of 1 host. at 12:40, 0.00s elapsed
Initiating Parallel DNS resolution of 1 host. at 12:40
Initiating Connect Scan at 12:40
Completed Parallel DNS resolution of 1 host. at 12:40, 0.00s elapsed
Scanning testserver.lan (192.168.6.242) [1000 ports]
Initiating Connect Scan at 12:40
Discovered open port 389/tcp on 192.168.6.242
Scanning testserver.lan (192.168.6.242) [1000 ports]
Discovered open port 80/tcp on 192.168.6.242
Discovered open port 389/tcp on 192.168.6.242
Discovered open port 25/tcp on 192.168.6.242
Discovered open port 80/tcp on 192.168.6.242
Discovered open port 636/tcp on 192.168.6.242
Discovered open port 25/tcp on 192.168.6.242
[weitere Ports]
Discovered open port 636/tcp on 192.168.6.242
Completed Connect Scan at 12:40, 3.61s elapsed (1000 total ports)
[weitere Ports]
Host testserver.lan (192.168.6.242) appears to be up ... good.
Completed Connect Scan at 12:40, 3.61s elapsed (1000 total ports)
Interesting ports on testserver.lan (192.168.6.242):
Host testserver.lan (192.168.6.242) appears to be up ... good.
Not shown: 968 filtered ports
Interesting ports on testserver.lan (192.168.6.242):
PORT    STATE SERVICE
Not shown: 968 filtered ports
25/tcp  open  smtp
PORT    STATE SERVICE
53/tcp  open  domain
25/tcp  open  smtp
80/tcp  open  http
53/tcp  open  domain
[weitere Ports]
80/tcp  open  http
Read data files from: /usr/share/nmap
[weitere Ports]
Nmap done: 1 IP address (1 host up) scanned in 3.67 seconds}}
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 3.67 seconds


Hiermit erhält man eine ausführlichere Information darüber, was derzeit abgearbeitet wird.
Hiermit erhält man eine ausführlichere Information darüber, was derzeit abgearbeitet wird.
Zeile 61: Zeile 57:
Nmap ist auch in der Lage, IP-Bereiche zu analysieren. Somit kann eine „Karte“ des Netzwerkes erstellt werden, das dadurch untersucht wird. Man gibt einfach eine Start-IP und die Netzmaske an.
Nmap ist auch in der Lage, IP-Bereiche zu analysieren. Somit kann eine „Karte“ des Netzwerkes erstellt werden, das dadurch untersucht wird. Man gibt einfach eine Start-IP und die Netzmaske an.


$ nmap 192.168.6.0/24
{{hc|nmap 192.168.6.0/24|Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 13:56 CEST
Interesting ports on 192.168.6.62:
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 13:56 CEST
Not shown: 990 closed ports
Interesting ports on 192.168.6.62:
PORT      STATE SERVICE
Not shown: 990 closed ports
135/tcp  open  msrpc
PORT      STATE SERVICE
139/tcp  open  netbios-ssn
135/tcp  open  msrpc
[weitere Ports]
139/tcp  open  netbios-ssn
 
[weitere Ports]
Interesting ports on 192.168.6.72:
Not shown: 998 closed ports
Interesting ports on 192.168.6.72:
PORT    STATE SERVICE
Not shown: 998 closed ports
80/tcp  open  http
PORT    STATE SERVICE
111/tcp open  rpcbind
80/tcp  open  http
 
111/tcp open  rpcbind
[Weitere Hosts]
 
[Weitere Hosts]
Nmap done: 256 IP addresses (20 hosts up) scanned in 42.52 seconds}}
Nmap done: 256 IP addresses (20 hosts up) scanned in 42.52 seconds


Wenn man sich im Bezug auf die Netzmaske nicht sicher ist, kann man sich zum Beispiel mittels des Tools [[ipcalc]] die Netzmaske anzeigen lassen, was in den meisten Fällen zuverlässig funktioniert.
Wenn man sich im Bezug auf die Netzmaske nicht sicher ist, kann man sich zum Beispiel mittels des Tools [[ipcalc]] die Netzmaske anzeigen lassen, was in den meisten Fällen zuverlässig funktioniert.
Zeile 99: Zeile 93:
Beim ersten Aufruf wird der Host testserver.lan nicht gescannt. Wenn man den zweiten Aufruf verwendet, werden alle Hosts, die in der Datei „server.list“ stehen nicht gescannt. In der Datei darf je Zeile nur ein Host stehen.
Beim ersten Aufruf wird der Host testserver.lan nicht gescannt. Wenn man den zweiten Aufruf verwendet, werden alle Hosts, die in der Datei „server.list“ stehen nicht gescannt. In der Datei darf je Zeile nur ein Host stehen.


Wenn man seinen zu untersuchenden Server daghingehend konfiguriert hat, dass er auf Ping-Anfragen nicht antwortet, wird Nmap bei einem normalen Aufruf lediglich melden, dass der Host nicht online ist. Dies kann man umgehen, indem man den Parameter „-PN“ übergibt.
Wenn man seinen zu untersuchenden Server dahingehend konfiguriert hat, dass er auf Ping-Anfragen nicht antwortet, wird Nmap bei einem normalen Aufruf lediglich melden, dass der Host nicht online ist. Dies kann man umgehen, indem man den Parameter „-PN“ übergibt.


  nmap -PN testserver.lan
  nmap -PN testserver.lan
Zeile 120: Zeile 114:
Nmap bietet auch die Möglichkeit, zu ermitteln, welches Betriebssystem auf einem bestimmten Host läuft. Diese Ermittlung funktioniert recht zuverlässig.
Nmap bietet auch die Möglichkeit, zu ermitteln, welches Betriebssystem auf einem bestimmten Host läuft. Diese Ermittlung funktioniert recht zuverlässig.


$ nmap -O testserver.lan
{{hc|nmap -O testserver.lan|[normale Ausgaben]
 
[normale Ausgaben]
Device type: general purpose
Running: Microsoft Windows Vista
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.25
OS details: Linux 2.6.17 - 2.6.25
Network Distance: 1 hop
Network Distance: 0 hops
 
OS detection performed. Please report any incorrect results at
OS detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.54 seconds
Nmap done: 1 IP address (1 host up) scanned in 5.54 seconds}}


Auf dem gescannten Host läuft ''Arch Linux'' mit dem Kernel ''2.6.29-ARCH''. Ein ebenfalls gescanner Server, auf dem ''Windows Server 2008'' läuft, wird von Nmap als „Microsoft Windows Vista, Microsoft Windows Vista Home Basic“ erkannt – Dennoch gibt dieser Scan einen guten Aufschluss darüber, welches System auf einem unbekannten Host lauft.
Auf dem gescannten Host läuft ''Arch Linux'' mit dem Kernel ''2.6.29-ARCH''. Ein ebenfalls gescanner Server, auf dem ''Windows Server 2008'' läuft, wird von Nmap als „Microsoft Windows Vista, Microsoft Windows Vista Home Basic“ erkannt – Dennoch gibt dieser Scan einen guten Aufschluss darüber, welches System auf einem unbekannten Host lauft.
Zeile 151: Zeile 145:
[[Kategorie:Netzwerk]]
[[Kategorie:Netzwerk]]
[[Kategorie:Sicherheit]]
[[Kategorie:Sicherheit]]
[[en:Nmap]]

Aktuelle Version vom 13. Oktober 2020, 22:57 Uhr

Nmap ist ein Netzwerk-Analyse und -Sicherheitstool. Mittels Nmap können Netzwerkrechner auf geöffnete Ports untersucht werden. Nmap ist somit ein Portscanner. Der Programmname steht für „Network mapper“ (Netzwerkkartograph).

Nmap ist Doppel-Lizenziert und kann einerseits als freie Software unter der GPL bezogen werden, aber andererseits auch unter einer anderen Lizenz erworben werden, um es in Programme zu integrieren, die nicht unter der GPL stehen.

Installation

Nmap ist als nmap in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S nmap

Neben dem Befehlszeilenprogramm gibt es auch ein GUI für Nmap names Zenmap. Diese ist im Paket enthalten und kann mit dem Befehl zenmap gestartet werden.

Grundlegende Verwendung

Nmaps Hauptfunktion ist das Analysieren von Netzwerkrechnern und die Darstellung der auf diesen Rechnern geöffneten Ports.

nmap testserver.lan
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:36 CEST
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Interesting ports on testserver.lan (192.168.6.242):
Not shown: 968 filtered ports
PORT     STATE SERVICE
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
[weitere Ports]

Nmap done: 1 IP address (1 host up) scanned in 3.69 seconds

Es wird der lokale Rechner „testserver.lan“ auf geöffnete Ports untersucht. Die Portnummer, sowie dessen Status als auch der Service-Name, falls bekannt, wird dann angezeigt. Möchte man statt der normalen Ausgabe eine detailliertere Ausgabe erhalten, kann man Nmap um den Parameter „-v“ erweitern.

nmap -v testserver.lan
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 12:40 CEST
Warning: Hostname testserver.lan resolves to 2 IPs. Using 192.168.6.242.
Initiating Ping Scan at 12:40
Scanning 192.168.6.242 [1 port]
Completed Ping Scan at 12:40, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:40
Completed Parallel DNS resolution of 1 host. at 12:40, 0.00s elapsed
Initiating Connect Scan at 12:40
Scanning testserver.lan (192.168.6.242) [1000 ports]
Discovered open port 389/tcp on 192.168.6.242
Discovered open port 80/tcp on 192.168.6.242
Discovered open port 25/tcp on 192.168.6.242
Discovered open port 636/tcp on 192.168.6.242
[weitere Ports]
Completed Connect Scan at 12:40, 3.61s elapsed (1000 total ports)
Host testserver.lan (192.168.6.242) appears to be up ... good.
Interesting ports on testserver.lan (192.168.6.242):
Not shown: 968 filtered ports
PORT     STATE SERVICE
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
[weitere Ports]
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 3.67 seconds

Hiermit erhält man eine ausführlichere Information darüber, was derzeit abgearbeitet wird.

Nmap ist auch in der Lage, IP-Bereiche zu analysieren. Somit kann eine „Karte“ des Netzwerkes erstellt werden, das dadurch untersucht wird. Man gibt einfach eine Start-IP und die Netzmaske an.

nmap 192.168.6.0/24
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-02 13:56 CEST
Interesting ports on 192.168.6.62:
Not shown: 990 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
[weitere Ports]

Interesting ports on 192.168.6.72:
Not shown: 998 closed ports
PORT    STATE SERVICE
80/tcp  open  http
111/tcp open  rpcbind

[Weitere Hosts]

Nmap done: 256 IP addresses (20 hosts up) scanned in 42.52 seconds

Wenn man sich im Bezug auf die Netzmaske nicht sicher ist, kann man sich zum Beispiel mittels des Tools ipcalc die Netzmaske anzeigen lassen, was in den meisten Fällen zuverlässig funktioniert.

Möchte man nicht nach allen Ports scannen, sondern nur nach einem bestimmten Port, oder bestimmten Port-Bereich kann man dies mittels des Parameters „-p“ erreichen, den man mehrfach verwenden kann.

nmap testserver.lan -p22,25,40 -p1024-2048

Dies scannt nach den Ports 22,25 und 40, sowie alle Ports im Bereich von 1024 bis 2048.

Tiefergehende Verwendung

Neben den „Standardaufrufen“ von Nmap kann man den Aufruf auch noch spezieller konfigurieren. Einige dieser Aufrufe bedürfen root-Rechten, da sie sowohl starke Rechnerlast, als auch viel Netzwerktraffic generieren können.

Hat man in einem Netzwerk mehrere Server stehen, und auch diverse Clients, und möchte man nun das Netzwerk scannen, aber, um die Ausgabe schlank zu halten, die Server von der Ausgabe ausnehmen, kann man sich des Parameters „--exclude“ oder „--excludefile“ annehmen.

nmap 192.168.6.0/24 -exclude testserver.lan
nmap 192.168.6.0/24 -excludefile servers.list

Beim ersten Aufruf wird der Host testserver.lan nicht gescannt. Wenn man den zweiten Aufruf verwendet, werden alle Hosts, die in der Datei „server.list“ stehen nicht gescannt. In der Datei darf je Zeile nur ein Host stehen.

Wenn man seinen zu untersuchenden Server dahingehend konfiguriert hat, dass er auf Ping-Anfragen nicht antwortet, wird Nmap bei einem normalen Aufruf lediglich melden, dass der Host nicht online ist. Dies kann man umgehen, indem man den Parameter „-PN“ übergibt.

nmap -PN testserver.lan

Dieser Aufruf dauert etwas länger, als der herkömmliche Aufruf. Sollte ein Host tatsächlich offline sein, dauert es so lange, wie der Timeout ist. Den Timeout kann man mit „--host-timeout“ gefolgt von einer Zeitangabe konfigurieren.

nmap -PN testserver.lan --timeout=500
nmap -PN testserver.lan --timeout=20s
nmap -PN testserver.lan --timeout=5m
nmap -PN testserver.lan --timeout=2h

Im Beispiel werden bei den vier Aufrufen Timeouts gesetzt, zuerst eine Angabe in Millisekunden (keine Angabe), dann in Sekunden (s), Minuten (m) und Stunden (h).

Standardmäßig benutzt Nmap den Nameserver des Betriebssystems. Will man aus irgendwelchen Gründen einen anderen Nameserver benutzen, so bietet Nmap dafür den Parameter „--dnsserver“.

nmap testserver.lan --dnsserver 208.67.222.222

Hier wird der Server „testserver.lan“ mit einem der OpenDNS-Nameserver aufgelöst.

Nmap bietet auch die Möglichkeit, zu ermitteln, welches Betriebssystem auf einem bestimmten Host läuft. Diese Ermittlung funktioniert recht zuverlässig.

nmap -O testserver.lan
[normale Ausgaben]

Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.25
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at
http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.54 seconds

Auf dem gescannten Host läuft Arch Linux mit dem Kernel 2.6.29-ARCH. Ein ebenfalls gescanner Server, auf dem Windows Server 2008 läuft, wird von Nmap als „Microsoft Windows Vista, Microsoft Windows Vista Home Basic“ erkannt – Dennoch gibt dieser Scan einen guten Aufschluss darüber, welches System auf einem unbekannten Host lauft.

Anhand dessen kann man schnell feststellen, ob sich der Host rechtmäßig im Netz befindet. Ein Windows-Rechner in einen reinen Linux-Netzwerk (oder umgekehrt) ist auf jedenfalls etwas, worauf ein Administrator sein Augenmerk richten sollte, wenn er von dem Host nichts weiß.

Mit Nmap kann man in gewissem Rahmen auch Angriffe simulieren. Über verschiedene Optionen kann man IP-Header modifizieren, MAC-Adressen spoofen oder Pakete mit falscher Checksum absenden. Anhand der Reaktion des Servers kann man nun weitere Sicherheitsmaßnahmen ergreifen, oder Optionen der Firewall anpassen.

Eine ausführliche Beschreibung aller Parameter inklusive diverser praxisnaher Beispiele finden sich in der Manpage von Nmap.

Siehe auch

Weblinks