Wireshark / tshark
Wireshark (früher Ethereal) genannt, ist ein freies Programm zur Analyse von Netzwerk-Kommunikationsverbindungen (Sniffer). Es zeichnet sämtlichen Datenverkehr auf der auf der Netzwerkschnittstelle sichtbar ist. In voll-geswitchten Umgebungen (heutzutage der Normalfall) sind damit die Kommunikation von/zum Rechner sowie broadcasts/multicasts sichtbar. Will man Überblick über sämtlichen Netzwerkverker haben muss man ein „managed“ 1) Switch einsetzen der die Funktion einer Portspiegelung mitbringt (Port mirror), d.h. über die Verwaltungsoberfläche des Switches gibt man an das ein Quelle (ein Switchport, z.B. Etagenverbindung) auf einen anderen gespiegelt wird und damit alles sichtbar wird was auf diesem Port durchläuft.
Falls keine grafische Benutzeroberfläche zur Verfügung steht kann tshark benutzt werden.
Wireshark muss für den Datenmitschnitt mit administrativen Rechten ausgestattet sein (bei windows erledigt das der winpcap-Dienst), zum betrachten und Auswerten der Daten reichen normale Rechte.
Beispielaufrufe
- Datenverkehr von eth0 mitschneiden und in Datei „Traffic-sniff.pcap“ speichern:
tshark -i eth0 -w Traffic-sniff.pcap
- Nur multicasts anzeigen:
sudo tshark ether multicast or ip multicast
- mögliche Schnittstellen anzeigen:
sudo tshark -D
wireshark als Benutzer starten (nicht root)
Fehlermeldung „Lua: Error during loading: [string “/usr/share/wireshark/init.lua„]:46: dofile has been disabled due to running Wireshark as superuser. See http://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user.“
wireshark komplett als root laufen lassen ist gefährlich, bei einem ausnutzbaren Programmierfehler von wireshark wäre das System übernommen. Einem normalen Benutzer ist es jedoch nicht erlaubt Netzwerkschnittstellen zu überwachen. Statt alles oder nichts gibt es aber die Möglichkeit genau die Rechte er erteilen die benötigt werden:
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap