Che cos è uno sniffer?? (3) Uno sniffer con la libreria PCAP. GeTThings sniffer: : scelte progettuali. Il layering TCP/IP



Documenti analoghi
Raw socket. L intercettazione di un pacchetto IP

È possibile filtrare i pacchetti in base alla porta Ad esempio specificando la porta 80 ascolto il traffico web di un host

SNIFFING. Università Degli Studi Di Salerno. SCENARIO Annarella Invia Un Messaggio a Biagio SNIFFER SNIFFER SNIFFER SNIFFER. Uso lecito.

Introduzione allo sniffing

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Antonio Cianfrani. Extended Access Control List (ACL)

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Cenni di programmazione distribuita in C++ Mauro Piccolo

University of Modena and Reggio Emilia. Laboratorio di Comunicazioni Multimediali WIRESHARK. Daniela Saladino

Reti di Telecomunicazione Lezione 8

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Uso di sniffer ed intercettazione del traffico IP

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

Introduzione allo sniffing

Corso di Sicurezza nelle reti a.a. 2009/2010. Soluzioni dei quesiti sulla seconda parte del corso

Protocolli di Comunicazione

Introduzione a Wireshark Andrea Atzeni < shocked@polito.it > Marco Vallini < marco.vallini@polito.it >

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Introduzione al Linguaggio C

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Inizializzazione degli Host. BOOTP e DHCP

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Gestione degli indirizzi

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Reti di Calcolatori

Gestione degli indirizzi

Introduzione allo sniffing

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

I/O su Socket TCP: read()

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Internetworking TCP/IP: esercizi

Elementi sull uso dei firewall

Riccardo Paterna

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Corso di Network Security a.a. 2012/2013. Raccolta di alcuni quesiti sulla SECONDA parte del corso

Reti di Telecomunicazione Lezione 7

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Innanzitutto, esistono diversi modi per realizzare una rete o più reti messe insieme; vi illustro la mia soluzione :

Reti di Calcolatori. Il software

Sniffing Danilo Bonardi 29 Febbraio 2005 Diario delle revisioni Revisione Febbraio 2005

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2

Reti di Telecomunicazione Lezione 6

Strutturazione logica dei dati: i file

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO


Livello di Rete. Gaia Maselli

Configurazione Rete in LINUX

IP Internet Protocol

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Wireshark revealed. Dario Lombardo Linuxday Torino 2010

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Ethereal A cura di Donato Emma demma@napoli.consorzio-cini.it

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Protocollo IP e collegati

Introduzione alla programmazione in C

Il protocollo TCP. Obiettivo. Procedura

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Lezione 1 Introduzione

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Elementi di Informatica e Programmazione

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Internet e posta elettronica. A cura di Massimiliano Buschi

Record locking con la system call fcntl

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

I puntatori e l allocazione dinamica di memoria

FPf per Windows 3.1. Guida all uso

Il modello TCP/IP. Sommario

Sicurezza delle reti 1. Lezione IV: Port scanning. Stato di una porta. Port scanning. Mattia Monga. a.a. 2010/11

Prof. Filippo Lanubile

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Prova di Laboratorio di Programmazione

BACKUP APPLIANCE. User guide Rev 1.0

La struttura dati ad albero binario

Socket API per il Multicast

Socket TCP. prima parte

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Maschere di sottorete a lunghezza variabile

TCP/IP un introduzione

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

MANUALE UTENTE Fiscali Free

Elementi di Informatica e Programmazione

Autenticazione tramite IEEE 802.1x

Laboratorio di programmazione

Dal protocollo IP ai livelli superiori

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

I file di dati. Unità didattica D1 1

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client

Gestione dei File in C

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

La sicurezza delle reti

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Transcript:

Uno sniffer con la libreria PCAP Realizzato da: Avolio Luca lucavo Domini Angelo sha Listo Massimiliano maslis Ventre Carmine lucavo@libero. @libero.itit sha.man@.man@tiscalinet.itit maslis@tiscalinet.itit ventre@jumpy jumpy.it 10/07/2001 Sniffer con PCAP 1 Che cos è uno sniffer? Le comunicazioni su rete avvengono per la maggior parte mediante il protocollo TCP/IP TCP/IP non offre nessun meccanismo di protezione dei dati In altre parole i dati viaggiano in chiaro Posso quindi leggere tutto ciò che passa sulla rete 10/07/2001 Sniffer con PCAP 2 Che cos è uno sniffer?? (2) I dati viaggiano da origine a destinazione attraverso vari altri nodi della rete Tancredi.diareti.diaedu.unisa.it Host A Host B Mikonos.unisa.it 10/07/2001 Sniffer con PCAP 3 Che cos è uno sniffer?? (3) Ogni nodo può leggere tali dati ponendo in modalità promiscua la propria scheda Ethernet Per porre in modalità promiscua la propria scheda di rete bisogna avere i permessi di root Posso imporre che tutto il di una rete passi per il mio computer: conoscenza profonda Meccanismo ICMP redirect di TCP/IP e IP Spoofing programmazione su reti 10/07/2001 Sniffer con PCAP 4 GeTThings sniffer: : scelte progettuali Libreria PCAP Per una semplice e veloce cattura dei pacchetti Xforms Per una semplice e veloce erfaccia user-friendly Il layering TCP/IP Assume importanza ricordare la stratificazione TCP/IP per capire come trattare i pacchetti che cattureremo: FTP, HTTP, ecc. TCP, UDP IP, X25, ecc. Ethernet, PPP, SLIP, ecc. 10/07/2001 Sniffer con PCAP 5 10/07/2001 Sniffer con PCAP 6

Gtsnif: : potenzialità GeTThings può catturare pacchetti in base all erfaccia su cui ascoltare (eth0, eth1, lo, ecc.) eth0 eth1 192.205.162.0 192.205.163.0 10/07/2001 Sniffer con PCAP 7 Gtsnif: : potenzialità (2) GeTThings inoltre: Può limitare il numero di byte da catturare per ogni pacchetto Ad esempio l utente vuole i primi 50 byte di ogni pacchetto (anche se il frame è di 1000 byte l applicazione passerà solo i primi 50 byte all utente) Può filtrare i pacchetti in base al protocollo (arp( arp, rarp, ip, tcp, udp, icmp) Ad esempio potrei voler analizzare solo il arp (comunicazioni ethernet) ) o solo il icmp (per controllare attacchi tipo ping evil) Può filtrare i pacchetti in base alla porta Ad esempio specificando la porta 80 ascolto il web di un u host 10/07/2001 Sniffer con PCAP 8 Gtsnif: : potenzialità (3) GeTThings inoltre: Può filtrare i pacchetti e catturare solo quelli più piccoli di e più grandi di Ad esempio specificando pacchetti più piccoli di 60 byte Gtsnif non passerà all utente i pacchetti del ping (grandi all incirca 98 byte) Può filtrare i pacchetti in base all host sorgente o destinazione Ad esempio mi eressa conoscere solo il di un host dove opera l utente di cui voglio conoscere la password Può catturare pacchetti offline offline Può catturare un certo numero di pacchetti Può scaricare i dati scambiati in un file (vedi password) 10/07/2001 Sniffer con PCAP 9 La libreria PCAP: un pò di storia Il Packet capturing nasce con l avvento di Ethernet Sun implementò NIT (Network Interface Tap) ) per catturare pacchetti e etherfind per stampare gli header dei pacchetti A partire da etherfind Van Jacobson ha sviluppato tcpdump Le parti di programma originariamente prese da etherfind sono state successivamente riscritte da McCanne 10/07/2001 Sniffer con PCAP 10 La libreria PCAP: un pò di storia (2) tcpdump è lo sniffer più popolare nella comunità UNIX tcpdump è basato su un potente meccanismo di filtro: BSD packet filter (BPF Berkley Packet Filter) Van Jacobson, Craig Leres e Steven McCanne svilupparono PCAP (Packet( Capturing) ) presso la Lawrence Berkeley National Laboratory PCAP fu scritta per evitare che ci fossero tracce di codice proprietario in tcpdump In essa sono implementate le potenzialità per la cattura e il filtro di tcpdump 10/07/2001 Sniffer con PCAP 11 La libreria PCAP: un po di storia (3) Craig Leres Steve McCanne L ultima versione rilasciata di PCAP è la 0.6.2 Il codice sorgente è disponibile a: ftp://ftp.ee.lbl.gov/libpcap.* ftp://ftp.sysadmin sysadmin.com/pub/admin/tools/n etworking/libpcap 10/07/2001 Sniffer con PCAP 12

Uno sniffer: : soluzione naive Un primo approccio potrebbe essere: Sniffa() 1. 1. Setta la la scheda di di rete rete in in modalità promiscua 2. 2. Mettiti in in ascolto 3. 3. Cattura il il 4. 4. il catturato 10/07/2001 Sniffer con PCAP 13 Soluzione naive: : lacune Quale erfaccia porre in modalità promiscua? Quanti byte del pacchetto devo catturare (solo header o anche dati)? Che tipo di devo catturare? Come passare i dati dalla rete all applicazione? 10/07/2001 Sniffer con PCAP 14 Uno Sniffer: : soluzione Scegli erfaccia Preparati all ascolto Scegli il tipo di Preparati all ascolto Scegli il tipo di Chiamare per decidere su quale device ascoltare Passa il all applicazione Passa il all applicazione Algoritmo finale per uno sniffer * * (char lookupdev(char *errbuf *errbuf); errbuf); 10/07/2001 Sniffer con PCAP 15 10/07/2001 Sniffer con PCAP 16 Chiamare per ottenere un packet capture descriptor Scegliere un packet filter: : il filtro identifica i pacchetti a cui sono eressato. Compilare il packet filter in un programma filtro usando Scegli il tipo di Pcap compile Pcap_t Pcap_t * * (char( (char *device *device, device, snaplen, snaplen, promisc, promisc, to_ms to_ms, ms, *ebuf *ebuf); ebuf); Passa il all applicazione ( (pcap_t _compile(pcap_t *p, *p, struct struct bpf_program bpf_program *fp* *fp, fp, *str *str, str, optimize, optimize, bpf_u_32 bpf_u_32 netmask); netmask); Passa il all applicazione 10/07/2001 Sniffer con PCAP 17 10/07/2001 Sniffer con PCAP 18

Notificare la cattura dei pacchetti sulla device con il filtro specificato usando Usare pcap_dispatch o per leggere i pacchetti catturati e chiamare una sub che le gestisce e li processa Pcap compile Pcap compile (pcap_t setfilter(pcap_t *p, *p, struct struct bpf_program bpf_program *fp* *fp); fp); Pcap set filter (pcap_t loop(pcap_t *p,* *p, cnt, cnt, pcap_handler pcap_handler callback, callback, u_char u_char *user *user); user); Pcap set filter Pcap loop 10/07/2001 Sniffer con PCAP 19 10/07/2001 Sniffer con PCAP 20 Sniffer con PCAP: panoramica Pcap compile Callback: punta ad una funzione fornita dall utente che sarà chiamata per processare i pacchetti void void user_routine(u_ user_routine(u_char _routine(u_char *user *user, user, struct struct pcap_pkthdr pcap_pkthdr pkthdr *phrd *phrd, phrd, u_char u_char *pdata *pdata) pdata) Pcap set filter Pcap loop Chiamate a funzione di uno sniffer basato sulla libreria PCAP 10/07/2001 Sniffer con PCAP 21 10/07/2001 Sniffer con PCAP 22 Sniffer con PCAP: panoramica Sniffer offline con PCAP Chiamare per deallocare le risorse usate dal packet capture descriptor pcap_open open_offlineoffline void void (pcap_t (pcap_t *pc* *pc) pc) Chiamate a funzione di uno sniffer offline basato sulla libreria PCAP 10/07/2001 Sniffer con PCAP 23 10/07/2001 Sniffer con PCAP 24

Sniffer offline con PCAP Sniffer con file di output pcap_open open_offlineoffline Apre il file usato per memorizzare i pacchetti catturati precedentemente trattando i dati come online pcap_t* pcap_t* pcap_open_ pcap_open_offline( _open_offline( const const *filename *filename, filename, *err *err); err); Chiamate a funzione di uno sniffer che redirige l output su file per una successiva analisi Gestisci_offline 10/07/2001 Sniffer con PCAP 25 10/07/2001 Sniffer con PCAP 26 Sniffer con file di output Gestisce la redirezione del (output in un file e non a video) Gestisci_offline Gestisci_offline() offline() Gestisci_offline 1. 1. offline offline = = pcap_dump pcap_dump_open(pc, dump_open( _open(pc, nomefile); nomefile); 2. 2. (pc, loop(pc, nopkt, nopkt, pcap_dump pcap_dump, dump,, (u_char (u_char *) *) offline); offline); 3. 3. pcap_dump pcap_dump_(offline); dump_(offline); 10/07/2001 Sniffer con PCAP 27 Gtsnif: : corpo principale Se ho salvato i pkt in nomefile2 apro lo sniffing offline altrimenti apro lo sniffing on-line if (nomefile2) pc = pcap_open open_offline(nomefile2, err); else pc = ( _open_live(device, snaplen,, 1, READTO, err); // Gestione errori per le chiamate precedenti if (pcap_lookupnet(device,, &netp& netp,, &maskp& maskp, err) )!= 0) { prf(" ("Pcap_Lookupnet error %s\n", err); return; Utile per compilare il filtro // maskp è usato ora da if ((pc,, &fp& fp,, filtro, 1, maskp) ) < 0) { // filtro è passato prf(" ("Pcap_Compile ERROR\n"); return; Compilo con filtro e costruisco la struttura fp 10/07/2001 Sniffer con PCAP 28 Gtsnif: : corpo principale (2) if ((pc,, &fp& fp) ) == -1) { prf("pcap_ ("PCAP_setfilter ERROR\n"); return; Calcolo la lunghezza dell header in base al tipo di frame datalink = pcap_datalink datalink(pc); // funzione che restituisce il tipo di DL show_datalink datalink_type(); // lo mostro a video header_length = tipo_frame frame(); cicla per nopkt if (!nomefile nomefile) ) { // se voglio catturare pkt on line pacchetti gestore = (pcap( pcap_handler)packetcheck; if ((pc, nopkt,, gestore, (char( *) header_length length)) { fprf(stderr stderr,, "pcap" : : %s\n", pcap_geterr geterr(pc)); exit(1); Chiamo packetcheck passandogli l header_lenght calcolato prima else { // se voglio catturare pkt off line 10/07/2001 Sniffer con PCAP 29 Gtsnif: : corpo principale (3) Voglio catturare ora ma analizzare poi creo un file in cui memorizzare i pkt offline = pcap_dump dump_open( _open(pc, nomefile); if (offline == NULL){ fprf(stderr stderr,, "pcap" pcap_dump_open: %s\n", pcap_geterr geterr(pc)); exit(1); if ((pc, nopkt, pcap_dump dump,, (u_char *) offline)) { fprf(stderr stderr,, "pcap" : : %s\n", pcap_geterr geterr(pc)); exit(1); Chiamo pcap_dump come gestore dei pkt catturati e come vuole PCAP il parametro user è in questo caso offline aperto prima 10/07/2001 Sniffer con PCAP 30

Il percorso dei pacchetti catturati Gtsnif: : la funzione packetcheck Leggi_header_udp Pcap_loop *pkt punta al pacchetto catturato Packet_check Leggi_header_ip Leggi_header_arp Leggi_header_icmp Leggi_header_tcp void packetcheck(char char *user, struct pcap_pkthdr pkthdr *pkthdr,, u_char *pkt)) { packlen, caplen, hlen; proto; Leggo lunghezza dell header (ad esempio per Ethernet 14 byte) protocol_type protocol_type(u_char type(u_ (u_char *pac, *pac, offset) { offset) { hlen = (( ) user; *ind; *ind; ind = ind = (( *) ( *) &pac& &pac[offset pac[offset - 2]; - 2]; proto = protocol_type type(pkt, hlen); return return ntohs(* ntohs(*ind); (*ind); counter++; packlen = pkthdr->len len; caplen = pkthdr->caplen caplen; Leggi_dati 10/07/2001 Sniffer con PCAP 31 Len è la lunghezza del pacchetto; caplen è la lunghezza del captured packet (la distinzione dipende dal parametro snaplen di ) pkt Offset -2 (per Ethernet 12) 10/07/2001 Sniffer con PCAP 32 Gtsnif: : la funzione packetcheck Se il DL è Ethernet e il protocollo è arp (codice 0x0806 vedi RFC) == DLT_EN10MB) && (proto == 0x0806)) header_arp(& (&pkt[hlen]); allora leggi il pacchetto arp == DLT_EN10MB) && (proto == 0x0800)) header_ip(& (&pkt[hlen], caplen - hlen); Protocolli ip e rarp == DLT_EN10MB) && (proto == 0x8035)) header_arp(& (&pkt[hlen]); == DLT_PPP) && (proto == 0x0021)) header_ip(& (&pkt[hlen], caplen - hlen); == DLT_PPP) && (proto == 0xc021)) // Gestisci pkt LCD (Link( Control Data) == DLT_PPP) && (proto == 0x8021)) Stessa gestione per // Gestisci pkt NCD (Network Control Data) pacchetti PPP 10/07/2001 Sniffer con PCAP 33 Gtsnif: : la funzione header_ip La chiamata a header_ip è del tipo: header_ip(& (&pkt[hlen], caplen - hlen); &pkt[hlen] punta al primo byte del datagramma IP # byte catturati - # byte header frame = len datagramma IP 10/07/2001 Sniffer con PCAP 34 L header IP Usando la struttura iphdr definita in <netinet< netinet/ip.h> posso accedere a tutti i campi dell header IP: Gtsnif: : la funzione header_ip (2) Lette le informazioni dell header IP, posso stabilire il protocollo del livello superiore: switch (h_ip ip->protocol) ) { case 1 : header_icmp(& (&pkt[len]); break; case 6 : header_tcp(& (&pkt[len], cnt - len); break; case 17 : header_udp(& (&pkt[len], cnt - len); 10/07/2001 Sniffer con PCAP 35 10/07/2001 Sniffer con PCAP 36

Gtsnif: : i protocolli di trasporto La chiamata a header_tcp è del tipo: header_tcp(& (&pkt[len], cnt - len); Gtsnif: : i protocolli di trasporto La chiamata a header_tcp è del tipo: header_tcp(& (&pkt[len], cnt - len); La lunghezza dell header IP è variabile; ma Cnt = caplen hlen = len datagramma IP Cnt len = len segmento TCP len len = = h_ip h_ip->ihl ip->ihlihl * * 4; 4; // // # byte byte header header IP IP ihl ihl (campo (campo di di iphdr) iphdr) ) è è il il # di di parole parole a a 32 32 bit bit per per l'header l'header Cnt = caplen hlen = len datagramma IP Cnt len = len segmento TCP 10/07/2001 Sniffer con PCAP 37 10/07/2001 Sniffer con PCAP 38 Gtsnif: : i protocolli di trasporto (2) Posso ora utilizzando le strutture udphdr e tcphdr contenute in netinet/tcp tcp.h e netinet/udp udp.h accedere a tutti i campi degli header Stesso discorso vale per i pacchetti ICMP, ARP e RARP (vedere netinet/ip ip_icmp.h e net/if if_arp.h ) Ma ho accesso non solo agli header ma anche ai dati allora Gtsnif: : la funzione leggi_dati posso accedere ad essi e magari scaricare i dati in un file (password,, ecc.) pkt punta al primo byte dei dati void leggi_dati(char *pkt, cnt) { if (!cnt) return; pkt[cnt] = '\0'; fprf(dati, "%s", pkt); cnt è la lunghezza della parte dati del pacchetto catturato 10/07/2001 Sniffer con PCAP 39 10/07/2001 Sniffer con PCAP 40 Gtsnif all opera Vediamo Gtsnif al lavoro in uno scenario di questo tipo: Gtsnif all opera (2) L obbiettivo è scoprire la password dell ignaro utente angdom alle prese con il non sicuro FTP: tancredi altafini Viene settata l opzione d per avere accesso ai dati dei pacchetti catturati angdom 10/07/2001 Sniffer con PCAP 41 10/07/2001 Sniffer con PCAP 42

Gtsnif all opera (3) Cliccando su start parte lo sniffing: Gtsnif all opera (4) Intanto l utente angdom su altafini richiede il servizio FTP a tancredi 10/07/2001 Sniffer con PCAP 43 10/07/2001 Sniffer con PCAP 44 Gtsnif all opera (5) ma Gtsnif sta catturando: Gtsnif all opera (6) Cliccando su stop Gtsnif comunica le statistiche del catturato: Pacchetti del FTP di angdom 10/07/2001 Sniffer con PCAP 45 10/07/2001 Sniffer con PCAP 46 Gtsnif all opera (7) Contenti dell operato di Gtsnif si può conoscere la password di angdom consultando il file dati: 10/07/2001 Sniffer con PCAP 47