Sniffer
Ein Sniffer (von engl. sniff für schnüffeln) ist eine Software, die den Datenverkehr eines Netzwerks auf Auffälligkeiten überprüfen kann. Es handelt sich also um ein Werkzeug (Tool) der Netzwerkanalyse.
Herkunft des Begriffs
Sniffer ist das englische Wort für Schnüffler. Der Hersteller Network General bezeichnete damit eine Software zur Analyse von Netzwerken auf Auffälligkeiten im Datenverkehr. Da der Name dieses Produkts die Funktion der Software zutreffend beschrieb und eingängig war, hat er sich zum Begriff für Software dieser Art durchgesetzt.
Technik
Ein Sniffer kennt den so genannten non-promiscuous mode und den Promiscuous Mode. Im non-promiscuous mode wird der ankommende und abgehende Datenverkehr des eigenen Computers „gesnifft“. Im Promiscuous Mode sammelt der Sniffer den gesamten Datenverkehr an die in diesen Modus geschaltete Netzwerkschnittstelle. Es werden also nicht nur die an ihn adressierten Frames empfangen, sondern auch die nicht an ihn adressierten. Der Adressat eines Frames wird in Ethernet-Netzwerken anhand der MAC-Adresse festgelegt.
Weiterhin ist es von der Netzwerkstruktur abhängig, welche Daten ein Sniffer sehen kann. Werden die Computer mit Hubs verbunden, kann sämtlicher Traffic von den anderen Hosts mitgeschnitten werden. Wird ein Switch verwendet, ist nur wenig oder gar kein Datenverkehr zu sehen, der nicht für das sniffende System selbst bestimmt ist. Allerdings gibt es in diesem Fall mehrere Möglichkeiten wie z. B. ARP-Spoofing, ICMP-Redirects, DHCP-Spoofing oder MAC-Flooding, um trotzdem die Frames empfangen zu können.
Es gibt mehrere Gründe, einen Sniffer zu benutzen:
- Diagnose von Netzwerkproblemen
- Eindringungsversuche entdecken (Intrusion Detection Systems)
- Netzwerktraffic-Analyse und Filterung nach verdächtigem Inhalt
- Datenspionage
Bekannte Sniffer-Produkte und ihre Einordnung
(Produkt-Übersicht: siehe unten)
Seit Ende der 1980er Jahre gibt es LAN-Analyzer, allgemein als „Sniffer“ bekannt (benannt nach dem ältesten und lange am weitesten verbreiteten Produkt). Daher wird im Umfeld der LAN-Analyse oft allgemein vom „Sniffer-Einsatz“ gesprochen, ohne dass damit konkret das gleichnamige Produkt gemeint sein müsste, sondern eben lediglich irgendein Produkt dieser Gattung.
Allgemein wird unterschieden zwischen:
- Local Analyzer ↔ Remote Analyzer / Distributed Analyzer – Local Analyzer sind klassische PC-Programme. Remote Analyzer sind in fernen LAN-Segmenten stehende Agenten, die von einer zentralen Station angesteuert werden – wie im Netzwerk-Management-Bereich lange schon üblich. Man spricht dann von Distributed Analysis. In stark durch Switching/Routing segmentierten Netzwerken ist diese Art der Analyse letztlich unverzichtbar.
- Hardware Analyzer ↔ Software Analyzer – Wurde bis Mitte der 1990er Jahre noch sehr stark auf Hardware-Analyzer gesetzt, haben sich heute weitgehend Software-Analyzer durchgesetzt, die auf PC-Basis arbeiten. Zwar ist in Hochleistungs-Netzwerken der Einsatz von Hardware-Analyzern weiterhin unverzichtbar; ihre hohen Kosten, die gegenüber Software-Analyzern mäßige Entwicklungsgeschwindigkeit sowie das Kapital-Risiko für den Fall von Fehlern haben die Kundschaft jedoch dazu übergehen lassen, nur dort Hardware einzusetzen, wo sie wirklich völlig unentbehrlich ist. Die Folge ist, dass kaum noch Hersteller von Hardware-Analyzern am Markt tätig sind.
- Commercial Analyzer ↔ Non-Commercial („Open-Source“) Analyzer – Bis Ende der 1990er Jahre hat es praktisch nur proprietäre Analyzer gegeben. Dies hat sich mit Wireshark (ehemals Ethereal) ab 1998 nach und nach geändert.
Entwicklungsgeschichte
Bis Ende der 1990er Jahre waren die Anwender praktisch vollständig auf kommerzielle Produkte angewiesen. Deren Mangel war weniger, dass sie Geld kosteten, sondern vielmehr, dass die Hersteller am Markt vorbei arbeiteten und wichtige Bedürfnisse nicht oder zu spät erkannten. Die Folge war, dass Anwender zur Selbsthilfe griffen (siehe Wireshark). Die Folge ist eine Krise vieler kommerzieller Hersteller.
Seit ca. 2002 hat die Akzeptanz und Verbreitung des GPL-Analyzers Wireshark (früher Ethereal) immens zugenommen. Wesentliche Gründe sind, dass diese Software via Internet kostenfrei bezogen werden kann, ihre Mächtigkeit, ständige Aktualisierung und ihr Praxisbezug. Noch Ende der 1990er Jahre waren rund zehn bedeutende kommerzielle Hersteller von LAN-Analyzern weltweit am Markt tätig (kleinere nicht mitgerechnet); inzwischen ist die Zahl der nennenswerten Hersteller auf rund fünf gesunken.
Der überaus großen Programmierergemeinde, die Wireshark inzwischen an sich binden konnte, kann auf der Seite der meisten kommerziellen Hersteller nichts mehr entgegengesetzt werden. Außerdem beteiligen sich inzwischen große Unternehmen, die eigene LAN-Protokolle verwenden, an der Entwicklung. Da Wireshark eine offene Plattform ist, hilft beispielsweise Siemens, die eigenen Protokolle der Maschinensteuerung oder der Medizintechnik zu analysieren.
Rechtslage in Deutschland
Das Mitschneiden des Netzwerktraffics unwissender Personen fällt unter Ausspähen von Daten gemäß § 202a dem deutschen Strafgesetzbuch (StGB).
Produkt-Übersicht
Wichtige Produkte der LAN-Analyse in alphabetischer Reihenfolge:
Freie Produkte:
- Cain&Abel
- Ettercap
- NETCORtools (TCP Trace basierend)
- NetworkMiner
- Tcpdump
- Wireshark (früher bekannt als Ethereal)
Proprietäre Produkte:
- caplon (consistec)
- Clearsight Analyzer (Clearsight Networks)
- EtherPeek, OmniPeek, GigaPeek (Savvius)
- LANdecoder32 (Triticom)
- Capsa (Colasoft)
- Microsoft Network Monitor
- NetSpector (INAT)
- NetVCR (Niksun)
- NetworkActiv PIAFCTM
- Observer (Viavi)
- OptiView (Fluke Networks)
- Sniffer (NetScout, nach Übernahme von Network General)
- TraceCommander (Synapse Networks)
- webSensor und webProbe (Moniforce)
- Cubro Netrecorder (Cubro)
Siehe auch
Weblinks
- http://www.easy-network.de/snffer.html Aufbau, Funktionsweise und Schutzmaßnahmen gegen einen Sniffer
- http://www.ietf.org/rfc/rfc1761.txt IETF Request for Comments Nr. 1761