libpcap Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux Martin Drašar, Martin Husák, Petr Velan

Podobné dokumenty
Obsah PODĚKOVÁNÍ...11

Wireshark, aneb jak odposlouchávat síť - 1.díl

Práce s pamětí. Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux. Martin Husák, Petr Velan, Martin Drašar

Správa sítí. RNDr. Ing. Vladimir Smotlacha, Ph.D.

PSK3-11. Instalace software a nastavení sítě. Instalace software

PB169 Operační systémy a sítě

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

VoIP. 1. Zadání. Datum: Realizace H.323 trunku mezi GnuGK a analýza mezi-ústřednové signalizace Vypracoval Jméno: Tomáš Škařupa

Západočeská univerzita v Plzni

Téma bakalářských a diplomových prací 2014/2015 řešených při

Flow Monitoring & NBA. Pavel Minařík

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Typy samostatných úloh PSI 2005/2006

Josef Hajas.

Programování síťové služby Sniffer OSPFv2 a OSPFv3

Nástroje pro analýzu. Ústav informatiky, FPF SU Opava Poslední aktualizace: 9. prosince 2013

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

Zajištění kvality služby (QoS) v operačním systému Windows

Téma 3 - řešení s obrázky

Moderní metody v počítačové a komunikační bezpečnosti pro integrovanou výuku VUT a VŠB-TUO

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

NetFlow a NBA? FlowMon 7 umí mnohem více! (NPM, APM, VoIPM, packet capture) Petr Špringl springl@invea.com

VIRTUALBOX PRÁCE SE SÍTÍ

Analýza sítís. Jan Lhoták, VTI 2009/2010

Správa systému MS Windows II

Další nástroje pro testování

Téma 11: Firewall v CentOS. Nastavení firewallu

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

SLEDOVÁNÍ BEZPEČNOSTI POČÍTAČOVÝCH SÍTÍ

Multiplatformní GUI toolkity

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Bezdrátové routery LTE & UMTS datové a hlasové brány

Postup získání licence programu DesignBuilder v4

Použití analyzátoru paketů bezdrátových sítí Wireshark

Implementace sledování provozu na VLAN ve virtuální laboratoři počítačových sítí pomocí tethereal/tcpdump

Proč prevence jako ochrana nestačí? Luboš Lunter

Monitorování sítě pomocí OpenWrt

Počítačové sítě ZS 2012/2013 Projekt návrhu sítě zadání

Instalace. Připojení zařízení. Jako modelový vzorek výrobku v tomto návodu slouží typ TL-WA701ND. Poznámka

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

Střední odborná škola a Střední odborné učiliště, Hořovice

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Počítačové síťě (computer network) Realizují propojení mezi PC z důvodu sdílení SW (informací, programů) a HW(disky, tiskárny..)

Firewally a iptables. Přednáška číslo 12

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

NAS 307 Link Aggregation

Radek Krej í. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Nástroje pro analýzu. Ústav informatiky, FPF SU Opava Poslední aktualizace: 4. prosince 2014

ZYXEL P-660HN-T3A. nastavení modemu. vzorové nastavení ADSL

Střední odborná škola a Střední odborné učiliště, Hořovice

Administrace Unixu a sítí

NAS 208 WebDAV bezpečné sdílení souborů

příklad. 2. Informace o technické podpoře jsou na poslední straně.

2N Access Commander. Základy použití Verze

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ

DLNA- Průvodce instalací

Inovace výuky prostřednictvím šablon pro SŠ

Metody připojování periferií

3 KTE / ZPE Informační technologie

A7B38UOS Sítě LAN Ethernet Síťové nástroje

Základní normalizované datové přenosy

Počítačové sítě ZS 2013/2014 Projekt návrhu sítě zadání

Site - Zapich. Varianta 1

Semestrální projekt do předmětu SPS

POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.

Administrace Unixu (Nastavení firewallu)

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Cvičení 5 POČÍTAČOVÁ OBRANA A ÚTOK - POU

Analyzátor bezdrátových sítí

Aktion Connector NÁVOD

Bezpečnost sítí útoky

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

DETEKCE DNS ANOMÁLIÍ NA ZÁKLADĚ METODY PODOBNOSTI A ENTROPIE DNS ANOMALY DETECTION BASED ON THE METHOD OF SIMILIARITY AND ENTROPY


Nastavení skenování do u Technický průvodce

Operační systémy. Cvičení 3: Programování v C pod Unixem

Úvod do síťových technologií

KYBERNETICKÁ BEZPEČNOST V ARMÁDĚ ČR

Instalační příručka. Fiery Command WorkStation 5.8 s aplikacemi Fiery Extended Applications 4.4

Inovace výuky prostřednictvím šablon pro SŠ

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Střední úložiště. Uživatelská dokumentace Zřízení přístupu

Příručka rychlého nastavení připojení sítě

Inovace výuky prostřednictvím šablon pro SŠ

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Projekt Liberouter hardwarová akcelerace pro sledování a analyzování provozu ve vysokorychlostních sítích

Úvod Jednoduchá komunikace Sockety Konec. Programování v C# Síťová komunikace. Petr Vaněček 1 / 33

ETH2CAN CAN firmware

Analýza protokolů rodiny TCP/IP, NAT

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Firewal ing v Linuxe

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m

(Ne)bojím se IPv6! Matěj Grégr. Vysoké učení technické v Brně, Fakulta informačních technologií LinuxAlt 2013

AKTION CONNECTOR POPIS FUNKCÍ A NÁVOD

RadSec a IPsec. metody zabezpečeného připojení k národnímu RADIUS serveru. Jan Tomášek <jan.tomasek@cesnet.cz> CESNET, z. s. p. o.

Transkript:

libpcap Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux Martin Drašar, Martin Husák, Petr Velan Fakulta informatiky Masarykova univerzita drasar husak velan@ics.muni.cz Brno, 30. listopadu 2015 Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 1 / 16

libpcap packet capture knihovna (C/C++) zpracovává data ještě před OS (včetně NetFilteru!) obvykle vyžaduje práva administrátora dostupná i pro Windows (WinPcap) informace viz man pcap www.tcpdump.org Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 2 / 16

Aplikace Aplikace používající libpcap Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 3 / 16

tcpdump CLI packet analyzátor www.tcpdump.org Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 4 / 16

tcpdump CLI packet analyzátor www.tcpdump.org úkol vyzkoušejte si tcpdump -D Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 4 / 16

tcpdump CLI packet analyzátor www.tcpdump.org úkol vyzkoušejte si tcpdump -D vyberte si interface a vyzkoušejte tcpdump -ni eth0 Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 4 / 16

tcpdump CLI packet analyzátor www.tcpdump.org úkol vyzkoušejte si tcpdump -D vyberte si interface a vyzkoušejte tcpdump -ni eth0 použijte filtr a uložte DNS komunikaci resolveip, host, dig Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 4 / 16

Wireshark grafická obdoba tcpdumpu www.wireshark.org Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 5 / 16

Wireshark grafická obdoba tcpdumpu www.wireshark.org úkol otevřete vzorek uložený tcpdumpem a analyzujte provoz Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 5 / 16

Další aplikace ngrep (network grep) nmap (port scanner) snort, suricata (IDS) Bro (IDS)... Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 6 / 16

API libpcap API Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 7 / 16

Specifikace zařízení pcapu bude třeba říct, odkud má brát data #include <pcap/pcap.h> char errbuf[pcap_errbuf_size]; int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf); char *pcap_lookupdev(char *errbuf); void pcap_freealldevs(pcap_if_t *alldevs); Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 8 / 16

úkol Vytiskněte informace o všech síťových interfacech: jméno popis aktuálně přidělenou IP adresu (pokud je) Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 9 / 16

Capture handler 2 režimy: online a offline #include <pcap/pcap.h> pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *errbuf); pcap_t *pcap_open_offline(const char *fname, char *errbuf); pcap_t *pcap_fopen_offline(file *fp, char *errbuf); pcap_t *pcap_open_dead(int linktype, int snaplen); int pcap_datalink(pcap_t *p); int pcap_list_datalinks(pcap_t *p, int **dlt_buf); void pcap_free_datalinks(int *dlt_list); void pcap_close(pcap_t *p); Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 10 / 16

Zpracování paketů cyklus pro zpracování každého paketu buď si napíšete vlastní, nebo použijete cyklus pcapu Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 11 / 16

Zpracování paketů cyklus pro zpracování každého paketu buď si napíšete vlastní, nebo použijete cyklus pcapu int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user); int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user); void pcap_breakloop(pcap_t *); Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 11 / 16

Zpracování paketů cyklus pro zpracování každého paketu buď si napíšete vlastní, nebo použijete cyklus pcapu int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user); int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user); void pcap_breakloop(pcap_t *); int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data); const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h); Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 11 / 16

Zpracování paketů cyklus pro zpracování každého paketu buď si napíšete vlastní, nebo použijete cyklus pcapu int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user); int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user); void pcap_breakloop(pcap_t *); int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data); const u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h); void (*pcap_handler)(u_char *user, const struct pcap_pkthdr *h, const u_char *bytes); struct pcap_pkthdr { struct timeval ts; bpf_u_int32 caplen; bpf_u_int32 len; }; Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 11 / 16

úkol Vytvořte program který vypisuje IPv4 adresy paketu a typ L4 protokolu Vstupním parametrem je název interfacu na kterém program poslouchá /usr/include/netinet/ip.h iphdr, /usr/include/net/ethernet.h ether_header Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 12 / 16

Filtry BPF (Berkeley Packet Filter) formát biot.com/capstats/bpf.html Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 13 / 16

Filtry BPF (Berkeley Packet Filter) formát biot.com/capstats/bpf.html int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf); int pcap_compile(pcap_t *p, struct bpf_program *fp, const char *str, int optimize, bpf_u_int32 netmask); int pcap_setfilter(pcap_t *p, struct bpf_program *fp); Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 13 / 16

Závěr domácí úkoly a zdroje Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 14 / 16

Domácí úkol K čemu lze zachycení provozu použít? Zamyslete se nad možnostmi útočníka, který umí zachytávat provoz Co může zjistit o komunikaci mezi klienty a tanky? Jak může tyto informace zneužít? Jaké znáte metody a protokoly pro zabezpečení komunikace? Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 15 / 16

Zdroje www.tcpdump.org www.wireshark.org biot.com/capstats/bpf.html recursos.aldabaknocking.com/libpcaphakin9luismartingarcia.pdf Drašar, Husák, Velan libpcap 30. 11. 2015, Brno 16 / 16