!!!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

}}}
/%