Das Proc-Filesystem [6] des Linux-Kernels hält dazu eine Tabelle vor (Listing 4). Die darin enthaltenen Angaben stammen aus dem sogenannten ARP-Cache, den Sie als Benutzer root über das Kommando arp -a auslesen. Die Ausgaben enthalten die IP-Adresse, den Typ der Hardware, Flags, die MAC-Adresse der zur IP-Adresse gehörenden Schnittstelle sowie das Interface, über das der Linux-Kernel diese Daten bezog (Listing 5).
Listing 4
$ cat /proc/net/arp IP address HW type Flags HW address Mask Device 192.168.55.22 0x1 0x2 52:54:00:8a:43:5f * eth0 192.168.55.6 0x1 0x2 00:16:3e:18:29:b3 * eth0 192.168.55.97 0x1 0x2 bc:05:43:48:9b:81 * eth0 192.168.55.1 0x1 0x2 52:54:00:b3:8d:be * eth0
Listing 5
# arp -a ? (192.168.55.22) auf 52:54:00:8a:43:5f [ether] auf eth0 lists.netzwerk.org (192.168.55.6) auf 00:16:3e:18:29:b3 [ether] auf eth0 ? (192.168.55.97) auf bc:05:43:48:9b:81 [ether] auf eth0 orange.netzwerk.local (192.168.55.1) auf 52:54:00:b3:8d:be [ether] auf eth0
Als ebenfalls nützlich erweist sich das Tool Ip, der etwas flexiblere Nachfolger der Zwillinge Ifconfig und Iwconfig aus dem Werkzeugkasten Iproute2 [7]. Es verfügt über den Schalter neighbor show zur Anzeige aller Nachbarn im Netzwerk. Als Grundlage dazu dient hier wiederum der ARP-Cache (Listing 6).
Listing 6
# ip neighbor show fe80::1:1 dev eth0 lladdr 52:54:00:b3:8d:be router STALE 192.168.55.22 dev eth0 lladdr 52:54:00:8a:43:5f STALE 192.168.55.6 dev eth0 lladdr 00:16:3e:18:29:b3 STALE 192.168.55.97 dev eth0 lladdr bc:05:43:48:9b:81 STALE 192.168.55.1 dev eth0 lladdr 52:54:00:b3:8d:be STALE
Ping und Fping
Ping kommt ebenfalls häufig beim Aufspüren im Netzwerk befindlicher Rechner zum Einsatz. Das funktioniert jedoch nur, wenn das Netz den Transport von ICMP-Paketen gestattet. Dieser Hinweis gilt ebenso für die außerdem vorgestellten Werkzeuge, da sie auch auf diesem Protokoll aufsetzen.
Listing 7 zeigt einen Bash-Einzeiler, der im Bereich von 192.168.55.11 bis 192.168.55.22 nach vergebenen IP-Adressen sucht. Als Ergebnis liefert er eine kleine Liste, die auf den Antworten der angefragten Hosts basiert.
Listing 7
$ for i in $(seq 11 22); do ping -c 1 "192.168.55.$i" | grep "bytes from"; done 64 bytes from 192.168.55.11: icmp_seq=1 ttl=64 time=0.623 ms 64 bytes from 192.168.55.14: icmp_seq=1 ttl=64 time=3.64 ms 64 bytes from 192.168.55.16: icmp_seq=1 ttl=64 time=7.11 ms 64 bytes from 192.168.55.22: icmp_seq=1 ttl=64 time=0.839 ms
Möchten Sie weniger tippen, kommen Fping (für IPv4) und Fping6 (für IPv6) ins Spiel: Fping [8] akzeptiert einen Bereich aus zwei IP-Adressen oder alternativ eine Netzmaske. Listing 8 zeigt den Aufruf analog zu Listing 7. Mithilfe der beiden Schalter -a und -q begrenzen Sie die Ausgabe auf die erreichbaren IP-Adressen, die Option -g generiert den Adressbereich aus den Zieleingaben.
Listing 8
$ fping -aqg 192.168.55.11 192.168.55.22 192.168.55.11 192.168.55.14 192.168.55.16 192.168.55.22
Allrounder Nmap
Reichen die Ausgaben von Ping und Fping nicht aus, dann rücken Nmap und dessen grafisches Frontend Zenmap [9] ins Rampenlicht: Mithilfe der beiden Schalter -sP und der Angabe des Netzwerks fischen Sie die IP-Adressen aller erreichbaren Hosts heraus (Listing 9). Falls möglich, ermittelt Nmap zusätzlich die Namen der Hosts (Abbildung 1).

Abbildung 1: Das grafische Frontend Zenmap bereitet die Scanergebnisse von Nmap übersichtlich auf und bietet daneben weitergehende Informationen zum jeweiligen Host an.
Listing 9
$ nmap -sP 192.168.69.* Starting Nmap 6.47 ( http://nmap.org ) at 2016-04-25 09:54 CET Nmap scan report for 192.168.69.1 Host is up (0.00098s latency). [...] Nmap scan report for fritz.box (192.168.69.67) Host is up (0.00052s latency). Nmap done: 256 IP addresses (5 hosts up) scanned in 2.32 seconds
DHCP-Server finden
Der als Root abgesetzte Aufruf dhclient -v findet “verlorengegangene” DHCP-Server meist zuverlässig wieder. Noch einfacher gelingt das mit Dhcping [10], das obendrein prüft, ob er noch läuft. Dazu rufen Sie das Tool mit dem Schalter -v auf (Listing 10). Ähnlich arbeiten die Werkzeuge Dhcpstatus [11], Reportdhcp [12] und Dhcpd-pool [13].





