Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori Docente: Simon Pietro Romano
[email protected]
Ethereal A cura di Donato Emma
[email protected]
Protocol Analayzer: Ethereal
Ing. Donato Emma email:
[email protected]cini.it
2
Protocol Analayzer: Ethereal • Agenda • Parte 1: • Ethereal Introduction • Ethereal User Guide
• Parte 2: • Examples – Telnet – SSH
3
Parte 1
Ethereal Introduction ● ●
●
●
Ethereal is a network protocol analyzer “A network packet analyzer will try to capture network packets and tries to display that packet data as detailed as possible” Ethereal is an open source software project, and is released under the GNU General Public Licence (GPL). (http://www.gnu.org/copyleft/gpl.html) Ethereal user guide: http://www.ethereal.com/distribution/docs/userguide.pdf 5
Ethereal Introduction: Features (1/2) ● ● ● ● ● ● ● ● ●
Available for UNIX and Windows. Available for UNIX and Windows. Display packets with very detailed protocol information. Open and Save packet data captured. Filter packets on many criteria. Search for packets on many criteria. Search for packets on many criteria. Create various statistics. ... and a lot more! 6
Ethereal Introduction: Features (2/2) ●
Ethereal has a rich set of display filters (20,303 as of version 0.10.7): ● ● ● ● ● ● ● ●
TCP UDP Telnet DNS HTTP FTP ICMP .........
7
Ethereal User Guide: The main window (1/5) Packet List Pane
Packet Details Pane Packet Bytes Pane
Filter Toolbar
8
Ethereal User Guide: The main window (2/5) • Each line in the packet list corrresponds to one packet in the capture file. • More details will be displayed in the "Packet Details" pane • There are a lot of different columns available: • • • • • •
No. Time Source Destination Protocol Info 9
Ethereal User Guide: The main window (3/5)
• This pane shows the protocols and protocol fields of the packet selected in the "Packet List" pane. • The protocols and fields of the packet are displayed using a tree. • The protocol tree can be expanded an collapsed
10
Ethereal User Guide: The main window (4/5) • The packet bytes pane shows the data of the current packet (selected in the "Packet List" pane) in a hexdump style. • The left side shows the offset in the packet data. • In the middle the packet data is shown in a hexadecimal representation. • on the right the corresponding ASCII characters (or . if not appropriate) are displayed.
11
Ethereal User Guide: The main window (5/5) • The filter toolbar lets you quickly edit and apply display filters. • The leftmost button labeled "Filter:" can be clicked to bring up the filter construction dialog. • The right first button labeled "Reset" resets the current display filter and clears the edit area. • The rightmost button labeled "Apply" applies the current value in the edit area as the new display filter. 12
Ethereal User Guide – Edit Menu •
•
•
•
•
•
•
Find Frame: consente di individuare
un frame attraverso l'applicazione di un filtro Go To Frame: consente di individuare un frame in base al suo id Mark Frame: consente di marcare il frame selezionato Preferences: visualizza una finestra in cui è possibile configurare ethereal Capture Filters: visualizza una finestra che consente di creare o modificare i filtri Display Filters: analoga alla Capture Filters Protocols: consente di abilitare/disabilitare il riconoscimento dei singoli protocolli
13
Ethereal User Guide – Capture Menu •
•
Start: avvia il processo di sniffing Stop: arresta il processo di sniffing
14
Ethereal User Guide – Display Menu •
•
•
•
•
Options: consente di impostare la visualizzazione delle informazioni sui pacchetti Match: consente di selezionare tutti i pacchetti che hanno un dato valore nel campo selezionato nel tree panel Prepare: consente di creare dei filtri in base ai valori del campo selezionato nel tree panel Color Display: consente di associare ai pacchetti un colore di visualizzazione in base ad un filtro di selezione User Specified Decodes: consente di gestire le impostazioni di decodifica dei pacchetti forzate dall'utente
15
Ethereal User Guide – Tools Menu Plugins: consente di gestire i plugins di ethereal •Follow TCP Stream: consente di visualizzare tutti i segmenti TCP catturati che appartengono alla stessa connessione del pacchetto selezionato •Decode As: consente di forzare ethereal ad interpretare un pacchetto secondo uno specifico protocollo •Summary: consente di creare una finestra contenete delle informazioni statistiche sui pacchetti catturati •Protocol Hierarchy Statistics: visualizza in un albero gerarchico le statistiche sui pacchetti •
16
Ethereal User Guide – The Capture Dialog Box •
•
•
•
•
•
Interface: consente di selezionare l'interfaccia da considerare Capture packets in ..: se selezionato abilita ethereal a intercettare tutti i pacchetti che passano attraverso l'interfaccia. non solo quelli diretti all'host. Filter: consente di definire un filtro selezione sui pacchetti File: consente di definire il file in cui salvare la traccia osservata Capture limits: consente di specificare dei limiti alla dimensione della traccia osservata Name resolution: consente di abilitare la risoluzione dei nomi
17
Creare dei Filtri con Ethereal •
Ethereal è dotato di due linguaggi per specificare regole di filtraggio: • Il primo basato su libcap è utilizzato durante la fase di “capture” • [not] primitive [and|or [not] primitive ...] • tcp port 23 and not host 10.0.0.5 (cattura il traffico telnet non proveniente dall'host 10.0.0.5) • Il secondo è utilizzato per selezionare frame tra i pacchetti visualizzati in base a: • protocollo • La presenza di un campo • Il valore di un campo • Un confronto tra campi
18
Parte 2: Esempi d'Uso
Introduzione ad Ethereal
Telnet ➔ SSH ➔
20
Parte 3: Esercitazione