1 Einführung von Linux basierten Ethernet Capturing Technologien von Simon Kallrath Betreuer: Prof. Dr. Volker Sander Dipl. Ing. Volker Kleinfeld.

Slides:



Advertisements
Ähnliche Präsentationen
E-Commerce Shop System
Advertisements

2. Link Layer Lernziele: Verstehen wie IP prinzipiell über eine Link Layer Verbindung übertragen wird.
ixJED ixact GmbH Dr. Karsten Wendt
Fortgeschrittenen Praktika
SAP R/3 - Speichermanagement
Die Firewall Was versteht man unter dem Begriff „Firewall“?
Konfiguration eines VPN Netzwerkes
Eine Einführung in OpenOffice. Was? Freies Office-Paket mit offenem Quellcode Erste funktionierende Version im Oktober 2001 veröffentlicht Basiert auf.
Architektur von Netzwerken
1 Proseminar Thema: Network Security Network Security Proseminar Thema: Network Security.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
OSI-Schichtenmodell Unterschiedliche Rechner brauchen eine gemeinsame Basis, um sich miteinander zu „unterhalten“. Geklärt werden muss dabei u. a. Folgendes:
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
Linux-HA-Cluster – Heartbeat mit DRBD
Einführung in die Technik des Internets
n4 Streaming Media System
Bridgefirewall – eine transparente Lösung Thomas Röhl 08. April 2005.
Netzwerkkomponenten (Hardware)
ODBC (Open Database Connectivity)
Aichinger Christian, Strasser Jürgen
Plattformunabhängige Programmiersprache
TCP/IP-Ethernet.
Netzwerktechnik Wiederholung Mag. Sabine Tullits.
Konnektivität innen & außen
Referent: Kiron Mirdha Betreuer: Rene Hilden Juli 2012
Betriebssysteme allgemein
Präsentation von Alexander Schönfeld
Freifach Netzwerktechnik mit Übungen
Windows Server 2008 Kurzüberblick Dr. Richtmann+Eder AG Olschewskibogen München.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
CGI (Common Gateway Interface)
Netzwerke Ein Referat.
NAT NETWORK ADDRESS TRANSLATION
Warum gibt es Netzwerke?
Abgeleitet aus dem OSI-Referenzmodell sieben Schichten
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Netzwerke.
Unterschiedliche Netzwerke
Meldungen über Ethernet mit FINS/UDP
IPv6 Von Judith Weerda Diese Vorlage kann als Ausgangspunkt für die Präsentation von Schulungsmaterialien in einer Gruppensitzung dienen. Abschnitte.
2. Kommunikation und Synchronisation von Prozessen 2
Seite 1 Prof. J. WALTER Kurstitel Stand: Oktober 2001 info Netzwerke Prof. J. Walter.
->Prinzip ->Systeme ->Peer – to – Peer
Was heißt hacken? Referat von Jasmin Woock Universität zu Köln
Eingereicht von:Michael Schrank Betreuung:o.Univ.-Prof. Dr. Hanspeter Mössenböck Mitbetreuung:Dipl.-Ing. Wolfgang Beer CyberStudent A Multiuser Awareness.
Ein Referat von Rahul Chanana, Sebastian Callian und Steffen Klikar.
TCP/IP.
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
ROS – Robot Operating System
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Analyse und Umsetzung einer Filter-basierten Paketverarbeitungsmaschine für IP-Netzwerke Lehrstuhl für Systemarchitektur und Betriebssysteme Forschungs-
Sniffing & Spoofing Workshop
User Mode Linux Sven Wölfel 1. Juni User Mode Inhalt  Was ist UML?  Wofür kann man UML benutzen?
NE2000: Hardware und Design eines Treibers 1 AKBPII: Abschlusspräsentation NE2000: Hardware und Design eines prototypischen Treibers bearbeitet.
Lisa Huber DHBW Mannheim
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Linux – Ubuntu Präsentation zur Sitzung am Referent: S. Imdahl.
Datenkommunikation Prof. Dr. Marke SS 2006 Seminar-Thema : IPTABLE Aufbau und Funktion Vortrag : Kulyk Nazar.
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Netzwerke Alexander Sczyrba Jan Krüger.
Dedizierte Systeme - Anna Job Universität zu Köln – IT-Zertifikat – WS 08/09 Digital library software Greenstone.
Netzwerke - Protokolle
Verteilte Anwendungen: J2EE
Netzwerke Netzwerkgrundlagen.
Ich brauche eine Web-Seite vom Server im Internet
Security Labor MitM-Demonstration
 Präsentation transkript:

1 Einführung von Linux basierten Ethernet Capturing Technologien von Simon Kallrath Betreuer: Prof. Dr. Volker Sander Dipl. Ing. Volker Kleinfeld

2 Linux Kernel fast komplett in C verfasst Entwickelt für x86 Architektur Hierarchisches Dateisystem Aufgaben:  Hardware unabhängige Programmschnittstelle  Komplexität vor Benutzer verbergen Speicherverwaltung, Prozessverwaltung u.v.m.

3 Die Netzwerkkarte NIC (Network Interface Card) Promiscuous Mode  alle Pakete werden angenommen  wird nicht von allen NIC sowie OS unterstützt  bei W-Lan besser Monitor-Mode  Schnittstelle zum Netzwerk  eindeutig adressiert durch MAC

4 Netzwerkprotokolle Kommunikation im Netzwerk verschiedene Referenzmodelle jede Schicht hat eine Aufgabe Protokolle obliegen einer Schicht Das IPv4 – Protokoll  Hardware unabhängige Adressierung  Paketgröße beträgt etwa 1500 Byte  verbindungslos (durch TCP verbindungsorientiert)

5 Netzwerkzugriff Shared Ethernet  Hub Switched Ethernet  Same Computer  Monitor Port  Machine in the middle  Tap

6 Pakete im Linux-Flow Paket erreicht durch Netzwerk die NIC NIC prüft Zugehörigkeit Ziel MAC = MAC

7 Pakete im Linux-Flow Im Kernel  Netzwerktreiber verschiebt Paket in Kernelspace Über Dynamic Memory Access Anlegen eines sk_buff pro Paket Kernelspace Netzwerktreiber sk_buff D M A

8 Struct sk_buff  Zeiger für nächstes und vorhergehendes Struct  Zeiger für zugewiesenes Socket wie auch NIC  Zeitstempel Senden-Empfangen Nicht immer notwendig  Zeiger auf verschiedene Header eines Paketes Daten sind immer verfügbar

9 sk_buff Pakete im Linux-Flow Im Kernel  sk_buff Strukturen werden in eine Queue eingereiht  Im Netzwerkstack  Überlauf bei Paketflut (Paketverlust) sk_buff Queue (FIFO) Event

10 Pakete im Linux-Flow Event  Standard Netzwerkkarte sendet Hardwareinterrupt Interrupthandler verständigt CPU CPU unterbricht Ausführung und startet Thread  NAPI (New Application Programming Interface) Hardwareinterrupt = Registrierung an CPU Deaktivierung des Hardwareinterrupts  Live-Lock wird vermieden CPU prüft auf neue Pakete nach einigen Zyklen erfolgt Freigabe der Ressource Interrupt wird wieder aktiv geschaltet Event

11 Pakete im Linux-Flow Nach dem Stack  Pakete werden je nach Protokoll weitergereicht sk_buff IP TCP SMTP STREAM Sockets RAW DGRAM Anwendung Userspace  Die jeweiligen Sockets arbeiten mit Zeigern Anwendung Userspace Anwendung

12 Der Berkeley Packet Filter Einbindung im Kernel Interpreter für Stack nahe Sprache auf Ethernetebene werden an Sockets angehangen kann mittels libpcap kompiliert werden Verwendet Hold und Store-Puffer = Hold = Store Userspace FreeBSD Mechanismus

13 PF_Packet und PF_Ring PF_Packet  SOCK_DGRAM und SOCK_RAW  verwendet Berkeley Packet Filter PF_Ring  Erweiterung des PF_Packet Vorteile eines Ringbuffer  fest allokierter Speicher  PF_Ring plugins Ergänzung der Funktionen über Module  Statistiken  Filterregeln

14 Netfilter und Iptables Netfilter  Framework  Hooks für Iptables  zwischen Netzwerk-Stack und Sockets Iptables  Tabelle Elemente wie Liste mit Methodenaufrufen Sequentielle Abarbeitung  Aufruf oder Sprung Return bei Aufruf Verbindungsüberwachung  durch NAT

15 libpcap C/C++ Bibliothek Zugriff auf Sockets Erstellung von pcap Dateien Plattformübergreifend für Tcpdump entwickelt

16 Wireshark / Tshark GUI (Gimp Toolkit GTK+2)  in Tshark nicht enthalten Statistiken sowie Filter und Suchfunktionen Live Capturing Vereinfachung der Filtersyntax Import und Export in verschiedenste Formate Dumpcap dient als Interface oder speichert Datenstrom als Datei eigene Bibliothek: Wiretap Epan: Etherreal Packet Analyzer

17 Tcpdump & Co Tcpdump  Kommandozeilen-Tool  libpcap  Selektion und Überwachung Interface oder Datei Dumpcap  gehört zu Wireshark  Erzeugen von Pcap Dateien Snort  Sniffer, Packet Logger und Network Intrusion Detection System  Pakete abgreifen über Sniffer und Logger  erweiterbar durch GUI  unterstützt Tcpdump Format  benötigt Libpcap/WinPcap Ngrep  ähnlich Tcpdump  reguläre Ausdrücke können benutzt werden  kann Berkeley Packet Filter verwenden Netcat  Datenversand und Abgriff über Sockets  dient zur Simulation

18 Fazit Richtige Hardware Abgriffspunkt im Netzwerk Linux Kernel bietet viele Ansatzpunkte zum Filtern Viele fertige Angebote  + Plattformübergreifend  - Performance dadurch beeinträchtigt Verwendung der Möglichkeiten je nach Anwendungsfall  spezifische Zusammenstellung

19 Ende Vielen Dank für Ihre Aufmerksamkeit Fragen ?

20 Quellen Rusty Russell (2000) “Linux Networking-concepts HOWTO” etworking-concepts-HOWTO.html Van Jacobson, Craig Leres and Steven McCanne (2009) “TCPDUMP Manual” Gianluca Insolvibile (2001) “The Linux Socket Filter: Sniffing Bytes over the Network” Gianluca Insolvibile (2002) “Inside the Linux Packet Filter” Alan Cox (1996) “Network Buffers and Memory Management” Paul Gortmaker (2000) “Linux Ethernet-Howto“ 7.html Ulf Lamping (2010) “Wireshark Developer’s Guide for Wireshark 1.7“ ChWorksOverview.html M. Tim Jones (2007) “Anatomy of the Linux network stack“ linux-networking-stack/ Ntop.org (2011) “PF_Ring User Guide v.5.1.0” Martin Roesch, Chris Green, Sourcfire (2011) “Snort User Manual 2.9.1” Jordan Ritter (2006) “ngrep – network grep” Giovanni Giacobbi (2006) “The GNU Netcat project“ OpenBSD (2011) “The OpenBSD Packet Filter” A. Shankar (2004) “Linux Networking” -networking-napi.html#toc Filesystem Hierarchy Standard (2004) (Abruf am )

21 Information MAC = Media Access Control Verschachtelte Header RSS = Receive Side Scaling kann bei einem Multicoresystem ein Thread pro Core anlegen NAT = Network Address Translation Stack = Stapelspeicher; Zugriff mittels Push und Pop User space = Bereich im virtuellen Speicher für sonstige Applikationen Kernel space = Bereich im virtuellen Speicher nur für Kernel eigene Prozesse und Treiber