Post

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.