Process Read & Send 1. Legge pacchetti dal pcap dump file (utilizzando libpcap facilities) 2. Utilizza un socket UDP per inviarli ad un indirizzo.

Slides:



Advertisements
Presentazioni simili
DiFMon Distributed Flow Monitor Claudio Mazzariello, Francesco Oliviero, Dario Salvi.
Advertisements

Prof. Carla Fanchin – L.S. Tron
File Linguaggio C.
Indirizzamento LAN e ARP
Socket Java Alberto Ferrari.
Elaborazione del Book Informatico
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Programmazione con socket
Programmazione in Ambiente Profibus DP
I protocolli TCP/UDP prof.: Alfio Lombardo.
Reti di Calcolatori L’interfaccia socket
1 Reti di Calcolatori Esercitazione 4 Implementazione di TFTP in C / XDR Copyright © by D. Romagnoli & C. Salati Alma Mater Studiorum - Universita'
1 Directory Il formato delle directory varia nei vari FS utilizzati in ambito Unix Quando una directory viene aperta viene restituito un puntatore a un.
SC che operano su file (1)
Programmazione socket
4-1 Il Livello di Rete in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Come programmare servizi di rete?
Calcolatori Elettronici
Di Del Grosso Serafina Corso di laurea specialistica in Economia Informatica Università degli studi G. DAnnunzio Pescara A.A
Laboratorio di Linguaggi lezione III: tipi base, espressioni, type-cast Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e.
Programmazione di rete:
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Studio delle differenze prestazionali tra una Internet Network ed una Random Network Progetto CRESCO SPIII 11/12/2007 Ing.S.Di Blasi, Dott.ssa E.Marchei.
AICA Corso IT Administrator: modulo 5 AICA © EUCIP IT Administrator Modulo 5 - Sicurezza Informatica Esercitazione Alberto Bosio.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
ICMP - PING - TRACEROUTE
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Servizi di Rete e Unix Stage estivo 2005 Laboratorio Nazionale Frascati Roberto Reale (ITIS CANNIZZARO, Colleferro) Francesco Ronchi (ITIS E. Fermi, Roma)
I protocolli TCP/UDP prof.: Alfio Lombardo.
void binario(int n); …………………
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
TCP/IP.
TCP/IP.
1 I segnali. 2 Prima un po’ di teoria…... 3 Stati dei processi in UNIX Idle Sleeping Zombified Runnable Running Fork iniziata waitpid Fork terminata.
Indirizzi IP e Subnet mask
Come comunicano i processi ?
Configurazione IP4a-1 Configurazione IP Reti II Stefano Leonardi.
File binari Accesso a file con record di lunghezza costante Struct Persona { Int id; Char nome[50];// nome e cognome Double stipendio; }; Persona dipendente;
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
RETI INFORMATICHE.
CORSO DI PROGRAMMAZIONE II
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
1 Chiamate di sistema Chiamate che lavorano su file.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
1 Windows Socket Programming Corso di Sistemi di Elaborazione delle Informazioni a.a 2006/2007 Autori: Alberto Colombo Fulvio Frati.
Lez. 41 Alma Mater Studiorum - Universita' di Bologna Sede di Cesena Reti di Calcolatori L’interfaccia socket Vedi: D. Comer, Internetworking con TCP/IP.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 5.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
Protocolli di rete. Sommario  Introduzione ai protocolli di rete  Il protocollo NetBEUI  Il protocollo AppleTalk  Il protocollo DLC  Il protocollo.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Ing. L. A. Grieco DEE – Telematics Lab. 1 Internet Protocol (IP) – Telematica I – - I Facoltà di Ingegneria – CdL in Ingegneria Informatica.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Slide #: 1/232 Internet - Architettura, principali protocolli e linee evolutive Nicola Blefari Melazzi Copyright © 2005 – The McGraw-Hill Companies srl.
Come comunicano i processi ?
Il Livello di Trasporto
Le variabili Tipo Valori ammissibili
Transcript della presentazione:

Process Read & Send 1. Legge pacchetti dal pcap dump file (utilizzando libpcap facilities) 2. Utilizza un socket UDP per inviarli ad un indirizzo di rete dump file socket

Process Capture & write 1. Cattura i pacchetti che corrispondono a regole di filtering 2. Scrive i pacchetti in un dump file dump file socket new dump file capture

sockaddr / sockaddr_in / in_addr struct sockaddr { unsigned short sa_family; // e.g. AF_INET char sa_data[14]; // protocol address (14 bytes) }; // = 16 bytes struct sockaddr_in { short int sin_family; // Address family unsigned short int sin_port; // Port number struct in_addr sin_addr; // Internet address unsigned char sin_zero[8]; // Padding bytes };// sizeof(struct in_addr) + 8 = !! struct in_addr {unsigned long s_addr; // 4 bytes};

Strutture /usr/include/net/ethernet.h struct ether_header { u_int8_t ether_dhost[ETH_ALEN]; u_int8_t ether_dhost[ETH_ALEN]; u_int8_t ether_shost[ETH_ALEN]; u_int8_t ether_shost[ETH_ALEN]; u_int16_t ether_type; // packet type ID u_int16_t ether_type; // packet type ID} #define ETHERTYPE_IP0x0800 /*IP*/ #define ETHERTYPE_ARP0x0806 /*ARP*/

Strutture /usr/include/netinet/ip.h struct ipheader { uchar ip_hl:4; // ip_hl: # of 32bit words (4bytes) uchar ip_v:4; uchar ip_tos; ushort ip_len; ushort ip_id; ushort ip_off; uchar ip_ttl; uchar ip_p; ushort ip_sum; uint ip_src; uint ip_dst; }; // total iphdr len 20 bytes

Strutture /usr/include/netinet/udp.h struct udpheader { ushort uh_sport; ushort uh_dport; ushort uh_len; ushort uh_check; }; // udp hdr len 8 bytes

Inizializzare una sessione (1) Scelta dell’interfaccia dev = pcap_lookupdev(errbuf) Ottenimento configurazione di rete result = pcap_lookupnet(dev, &net, &mask, errbuf) Apertura della sessione handle = pcap_open_live(dev, snaplen, promisc, timeout, errbuf)

Inizializzare una sessione (2) Compilazione del filtro… result = pcap_compile(handle, &filter, filter_exp, optimize, net) …e applicazione del filtro stesso result = pcap_setfilter(handle, &filter) Predisposizione del file di cattura dumper = pcap_dump_open(handle, filename)

Cattura result = pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *useru_char *user) u_char *userresult -2: Interrotto da pcap_breakloop() -1: Errore! 0: Interrotto perché “sniffati” cnt pacchetti 0: Interrotto perché “sniffati” cnt pacchetti In alternativa: pcap_next(): “sniffa” un solo pacchetto pcap_dispatch(): “sniffa” un solo ‘burst’ di pacchetti

pcap_handler Callback void packet_handler( u_char *useru_char *user, u_char *user const struct pcap_pkthdr *headerconst struct pcap_pkthdr *header, const struct pcap_pkthdr *header const u_char *packet ) Scrittura pacchetto: void pcap_dump(u_char *user, struct pcap_pkthdr *header, u_char *packet) u_char *packet) Interruzione del loop di cattura: void pcap_breakloop(pcap_t *)

Chiusura sessione Ottenimento statistiche sulla sessione pcap_stats(handle, *stats) *stats Chiusura della sessione di cattura pcap_close(handle) Flushing dei dati e chiusura del file di dump pcap_dump_flush(dumper)pcap_dump_close(dumper)

struct pcap_pkthdr struct pcap_pkthdr { struct timeval ts; // timestamp bpf_u_int32 caplen; // len cattura bpf_u_int32 len; // len effettiva ‘on wire’ bpf_u_int32 len; // len effettiva ‘on wire’};

struct pcap_stat struct pcap_stat { u_int ps_recv; // # pacchetti ricevuti u_int ps_recv; // # pacchetti ricevuti u_int ps_drop; // # pacchetti scartati u_int ps_drop; // # pacchetti scartati u_int ps_ifdrop; // # pacchetti scartati perché non supportati dall’interfaccia u_int ps_ifdrop; // # pacchetti scartati perché non supportati dall’interfaccia};