Netzwerk Probleme debuggen

Ist ein Rechner erreichbar?
ping ist dein Freund. Ping sendet kleine Datenpakete an eine beliebigen Rechner und zeigt an ob eine Antwort zurückgeliefert wird.
$ ping 192.168.128.128
PING 192.168.128.128 56(84) bytes of data.
64 bytes from 192.168.128.128: icmp_seq=1 ttl=64 time=2.11 ms
64 bytes from 192.168.128.128: icmp_seq=2 ttl=64 time=32.5 ms
64 bytes from 192.168.128.128: icmp_seq=3 ttl=64 time=0.529 ms
Die Ausgabe kann sich auf verschiedenen Betriebssystemen unterscheiden, sieht aber immer recht ähnlich aus.
Über den Nutzen dieser Ausgabe kann man streiten da viele Rechner oder Firewalls Ping nicht beantworten. Bekommt man aber einen Antwort kann man schonmal sicher sein, dass eine Verbindung möglich ist.
Doppelte benutzte IP-Adressen herausfinden
$ arping 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.11 eth0
Unicast reply from 192.168.1.1 [00:05:B4:03:01:68] 0.935ms
Unicast reply from 192.168.1.1 [00:05:B4:03:01:68] 1.011ms
Unicast reply from 192.168.1.1 [00:05:B4:03:01:68] 0.976ms
Unicast reply from 192.168.1.1 [00:05:B4:03:01:68] 0.991ms
traceroute - Der Weg durchs Internet
Um den Weg eines Datenpakets durch das Internet zu verfolgen, gibt es auf fast allen Betriebssystemen das Programm traceroute (tracert unter Windows). Dieses Programm sendent ein spezielles Datenpaket an einen beliebigen Rechner im Internet. Jeder Knotenpunkt (zB. Router oder Rechner), den das Paket passiert, wird veranlasst eine Bestätigung zu senden welche dann angezeigt wird.
traceroute 192.168.1.168
Sicherheit
Offene Ports auf entfernten Rechnern finden
Das sehr mächtige Tool nmap ist ein guter Helfer zum finden offener Ports auf entfernten Rechnern. Es gibt viele Optionen für die verschiedensten Aufgaben und Verfahren. Für keine kurzen Überblick sorgt folgendes Kommando:
nmap 192.168.1.168
Nmap ist für Windows, Linux und auch Mac OS X verfügbar.
Welche Programme höhren auf offene Ports
Linux
Das Programm lsof ist unter Linux eigentlich dafür zustände, anzuzeigen welches Programm welche Datei offen hat. Da unter Linux aber auch Sockets als Dateien behandelt werden ist es mit diesem praktischen Tool auch möglich die belegten Sockets zu zeigen.
lsof -i
Mac OS X
Da Mac OS X auf dem Unix-System BSD aufsetzt kann man auch hier (wie unter Linux) das Tool lsof verwenden.
$ sudo lsof -i
Password:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mDNSRespo 39 root 7u IPv4 0x016ddad0 0t0 UDP *:mdns
mDNSRespo 39 root 8u IPv6 0x016dda00 0t0 UDP *:mdns
mDNSRespo 39 root 9u IPv4 0x016dd930 0t0 UDP *:mdns
mDNSRespo 39 root 11u IPv4 0x020c5ae4 0t0 TCP *:* (CLOSED)
netinfod 40 root 6u IPv4 0x016dde10 0t0 UDP localhost:netinfo-local
syslogd 41 root 16u IPv4 0x016ddd40 0t0 UDP *:*
Directory 50 root 10u IPv4 0x016dd5f0 0t0 UDP *:*
Directory 50 root 11u IPv4 0x019e6b08 0t0 TCP *:* (CLOSED)
ntpd 99 root 5u IPv4 0x016dc4e0 0t0 UDP *:ntp