!!!Netzwerktools auf der Kommandozeile
Quelle: Linux User Magazin 05/2018 ~http://www.linux-user.de/qr/40527
%%tabbedSection
%%tab-Iftop
| __Option__ | __Taste__ | __Aktion__
| -i NG | - | Netzwerkgerät angeben
| -n | ~[N] | Namen nicht auflösen
| - | ~[T] | Umschalten Quell-/Zielsystem/alle
| -N | ~[Umschalt]+~[N] | keine Ports im Klartext
| -P | ~[P] | Ports anzeigen
| -l | - | Linklokale IPv6-Adressen anzeigen
| -b | ~[B] | keine Grafik für Datendurchsatz
| -B | - | Durchsatz in Bytes/s angeben
| -F ''Netzwerk''~|''CIDR'' | - | nur IPv4-Netz überwachen
| -G ''Netzwerk''~|''CIDR'' | - | nur IPv6-Netz überwachen
| -t | - | Ausgabe ohne Ncurses
| - | ~[Q] | Programmende
Beispiel:
{{{
# iftop -P -t > iftopausgabe.txt
interface: eth0
IP address is: 192.168.0.83
IPv6 address is: ::
MAC address is: 00:16:3e:47:87:fa
Beendet
}}}
/%
%%tab-Tcpdump
!!Tcpdump Optionen
| __Option__ | __Aktion__
| -D | Listen aller möglichen Netzwerkgeräte
| -i ''Gerät'' | Netzwerkgerät auswählen
| -n | numerische Ausgabe von Adressen und Ports
| -e | Paket-Header ausgeben
| -S | absolute statt relative Sequenznummern
| -A | Paketinhalt ausgeben
| -x | Paketinhalt als Hexcode ausgeben
| -w ''Datei'' | Zieldatei für Rohdaten
| -r ''Datei'' | formatierte Ausgabe der Zieldatei
| -Z ''Benutzer'' | alternativer Benutzer
| -b | Ausgabe der autonomen Systeme
| -c ''Pakete'' | auf Paketzahl begrenzter Lauf
!!Tcpdump-Filter
| __Filter__ | __Bedeutung__
| host ''Zielsystem'' | Angabe Zielsystem als Name oder IP-Adresse
| net ''Netzwerk''~|''CIDR'' | Angabe Zielnetz
| port ''Nummer'' | Einzelner Port
| portrange ''Start-Ende'' | Port-Bereich
| src host~|net~|port~|portrange Angabe | Herkunft einschränken
| dst host~|net~|port~|portrange Angabe | Ziel einschränken
| proto ether~|fddi~|tr~|wlan~|ip~|ip6~|arp~|rarp~|tcp~|udp | Protokoll
!!Hinweise:
* Mit && oder ''and'' erstellen Sie eine UND-Verknüpfung zweier Bedingungen, || oder ''or'' erzeugen eine ODER-Verknüpfung. Mit ! oder ''not'' negieren Sie einen Ausdruck
* Bei der Arbeit mit Tcpdump leiten Sie in der Regel die Ausgabe in eine Datei um, die Sie anschließend mit Wireshark/TShark in der GUI auswerten. \\
Dabei müssen Sie das Programm mittels {{kill -15 ''PID''}} beenden, da sonst die Dump-Datei nicht richtig schließt, was eine korrekte Auswertung verhindert.
Beispiel:
{{{
$ tcpdump -i eth0 -vv -A src -w auswert.dump www.orf.at
}}}
/%
%%tab-Nmap
!!Nmap-Optionen
| __Option__ | __Aktion__
| -p ''Nummer-Nummer'' | Port-Bereich
| -s ''Netzwerk''~|''CIDR'' | Netzwerk durchsuchen
| -n | Namensauflösung unterdrücken
| -O | Betriebssystem ermitteln
| -sV | Version des Diensts ermitteln
| -oA ''Datei'' | Ergebnisse in Datei ablegen
| -sT | TCP-Connected-Scan
| -sS | TCP-SYN-Scan
!!Nmap-Beispiele
* Der Scanner nmap eignet sich dazu, bei den Hosts im Netzwerk zu prüfen, welche IP-Adressen beziehungsweise Namen und MAC-Adressen die jeweiligen Geräte haben.
{{{
# nmap -sn 192.168.0.0/24
}}}
* Mit Option -O (wie der Buchstabe O) versucht das Tool das Betriebssystem zu ermitteln.
{{{
# nmap 192.168.0.70 -O
}}}
/%
%%tab-Netstat
!!Netstat-Optionen
| __Option__ | __Aktion__
| -4 | nur IPv4-Adressen verwenden
| -6 | nur IPv6-Adressen verwenden
| -x | nur Unix-Domain-Sockets anzeigen
| -i | Netzwerkgeräte auflisten
| -r | Routing-Tabelle ausgeben
| -M | maskietre Sitzungen auflisten
| -t | nur tcp-Verbindungen anzeigen
| -u | nur UDP-Verbindungen anzeigen
| -a | alle Verbindungen anzeigen
| -l | nur offene Ports anzeigen
| -e | erweiterte Anzeige
| -n | Anzeige ohne Namensauflösung
| -p | PID und Programm zur Verbindung ausgeben
| -s | Statistik ausgeben
| -c | Dauerbetrieb des Programms
!!Beispiele
* Eine vollständige Übersicht über Verbindungen samt Adressen, Status, entsprechendem Benutzer, Prozess-ID und Namen des Programms erhalten Sie durch Aufruf
{{{
# netstat -paten
}}}
* anderes Beispiel
{{{
# netstat -tulpen
}}}
* Routentabelle
{{{
# netstat -r
}}}
* Schnittstellentabelle
{{{
# netstat -i
}}}
/%
%%tab-Netdiscover
!!Netdiscover-Optionen
| __Option__ | __Taste__ | ___Aktion__
| -h | ~[H] | Hilfe anfordern
| -i ''Interface'' | - Netzwerkgerät angeben
| -r ''Netzwerk''~|''CIDR'' | - | Angabe IP-Adressbereich
| -c ''Zahl'' | - | Anzahl ARP-Anfragen beschränken
| -p | - passiver Modus
| -P | - | nicht interaktiver Modus
| - | ~[R] | nur ARP-Anforderungen anzeigen
| - | ~[A] | nur ARP-Antworten anzeigen
| - | ~[U] | alle ARP-Pakete anzeigen
| - | ~[Q] | Programmende
/%
/%
!!Generalinventur
%%prettify
{{{
#! /bin/sh
# generalinventur.sh
# Braucht Root-Rechte!
#
# Bei Aufruf ohne Parameter abbrechen
if [ -z $1 ]; then
echo "NETZADRESSE/CIDR muss beim Aufruf angegeben werden"
exit
fi
echo "Übersicht aktiver Netzwerkteilnehmer"
echo "------------------------------------"
datum=$(date +%d.%m.%Y-%H:%M:%S)
echo $datum
# Beginn Ergebnisdatei
echo "Netzwerkbestand $datum" > lanliste.txt
echo "--------------------------" >> lanliste.txt
echo "--------------------------"
# Scannen des Netzes und Ablage in Ergebnisdatei
for k in $(fping -aq -g $1); do
echo "wird untersucht: $k"
echo "Aktiv: $k" >> lanliste.txt
nmap $k | grep -B1 open >>lanliste.txt
echo "---------------------------------" >> lanliste.txt
done
echo "---------------------------"
echo " E N D E" >> lanliste.txt
datum=$(date +%d.%m.%Y-%H:%M:%S)
echo $datum >> lanliste.txt
echo "---------------------------" >> lanliste.txt
#Anzeige Ergebnisdatei
less lanliste.txt
}}}
/%