Offene SSH-Ports im lokalen Subnetz finden
Offene SSH-Ports im lokalen Subnetz finden
Wenn man in einem Subnetz arbeitet, wo IP-Adressen dynamisch vergeben werden, dann ist das blöd, wenn ein lokal laufender Server nun eine neue IP-Adresse hat, die man aber nicht kennt.
Folgende Ansätze helfen, die Rechner mit offenen SSH-Ports (Port 22) zu finden.
nmap
Das Tool nmap ist ein Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner. Um nach offenen SSH-Ports zu suchen, nimmt man folgende Kommandozeile:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ sudo nmap -sS -p 22 192.168.178.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-05-18 14:34 CEST
Nmap scan report for 192.168.178.1
Host is up (0.0031s latency).
PORT STATE SERVICE
22/tcp closed ssh
MAC Address: 00:80:77:5B:8A:15 (Brother industries)
Nmap scan report for 192.168.178.5
Host is up (0.00080s latency).
PORT STATE SERVICE
22/tcp closed ssh
MAC Address: 40:B0:34:C9:B3:16 (Hewlett Packard)
...
Nmap done: 256 IP addresses (87 hosts up) scanned in 2.09 seconds
Das liefert dann eine Liste aller gescannten Rechner und ob deren Port offen oder geschlossen oder gefiltert ist.
Um nur die offenen Ports zu finden, gibt es folgende Möglichkeiten:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# nur die offenen Ports anzeigen: --open
$ sudo nmap -sS -p 22 --open 192.168.178.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-05-18 14:36 CEST
Nmap scan report for 192.168.178.15
Host is up (0.00038s latency).
PORT STATE SERVICE
22/tcp open ssh
MAC Address: AC:1F:09:14:36:E2
Nmap scan report for 192.168.178.16
Host is up (0.00030s latency).
PORT STATE SERVICE
22/tcp open ssh
MAC Address: CC:28:AA:A9:B4:4F (Unknown)
Nmap scan report for my.minecraft-server (192.168.178.25)
Host is up (0.00030s latency).
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 9C:B6:54:F7:7D:18 (Unknown)
Nmap done: 256 IP addresses (81 hosts up) scanned in 2.08 seconds
Man kann aber auch die originale Ausgabe verschiedentlich filtern:
1
2
3
# Ausgabe nach bestimmten Mustern durchsuchen und auch die 4 davor liegenden Zeilen (-B 4) und die danach
# mit der Mac-Adresse (-A 1) ausgeben
sudonmap -sS -p 22 192.168.178.0/24 | grep -B 4 -A 1 "22/tcp open"
Oder man verwendet die Ausgabe, welche für das Scripten geeignet ist:
1
2
# Scripting-taugliche Kompaktausgabe; beachte Bindestrich nach -oG
sudo nmap -sS -p 22 -oG - 192.168.178.0/24 | grep "22/open"
1
2
# Kompakte Ausgabe nur der IP-Adressen der Rechner mit offenen SSH Ports
sudo nmap -sS -p 22 -oG - 192.168.178.0/24 | grep "22/open" | awk '{print $2}'
This post is licensed under
CC BY 4.0
by the author.