Reti di Telecomunicazione Esercitazioni: Analisi del traffico
by user
Comments
Transcript
Reti di Telecomunicazione Esercitazioni: Analisi del traffico
Reti di Telecomunicazione Esercitazioni: Analisi del traffico 6-1 Obiettivi Fornire una panoramica sui principali strumenti per Verifica del comportamento Analisi delle prestazioni Risoluzioni dei problemi Nell’ambito di una rete locale Premesse I comandi presentati sono generalmente disponibili sia in ambienti Unix che in ambienti Microsoft Tuttavia… Non sempre questo è vero Non sempre hanno esattamente le stesse opzioni Non sempre hanno esattamente lo stesso output Pertanto… Si deve verificare l’esistenza di comandi/opzioni sul proprio sistema operativo Per ogni comando vengono discusse solo le opzioni più importanti Agenda Strumenti di base Analisi del traffico Analisi del traffico (reti wireless) Generazione di traffico Agenda Strumenti di base Analisi del traffico Analisi del traffico (reti wireless) Generazione di traffico Ping Verifica che un host remoto sia attivo a livello rete Sintassi ping [opzioni] destinazione Opzioni Descrizione -t Continua ad inviare pacchetti ICMP Echo Request fino a quando non viene interrotto manualmente con un Ctrl+C (solo in Windows; in UNIX questo è il comportamento di default). -c count Invia count pacchetti ICMP Echo Request (Windows ha di default count pari a 4). -i TTL Spedisce i pacchetti ICMP Echo Request con il valore del campo Time To Live pari a TTL (solo Windows). -w timeout Aspetta ogni risposta per max timeout millisecondi. Se la risposta arriva più tardi, viene ignorata. Ping: funzionamento Messaggi L’host che effettua il test invia un messaggio ICMP Echo Request L’host sotto test risponde inviando un messaggio ICMP Echo Reply Ping: Output hamvil@alba:~$ ping www.unitn.it PING www.unitn.it (193.205.206.17) 56(84) bytes of data. 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=1 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=2 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=3 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=4 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=5 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=6 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=7 ttl=58 64 bytes from www.unitn.it (193.205.206.17): icmp_seq=8 ttl=58 ^C --- www.unitn.it ping statistics --8 packets transmitted, 8 received, 0% packet loss, time 7031ms rtt min/avg/max/mdev = 6.137/8.132/12.389/1.964 ms time=8.94 time=9.31 time=6.76 time=6.91 time=12.3 time=8.26 time=6.32 time=6.13 ms ms ms ms ms ms ms ms Ping: Output (cont’d) Se il PING ha esito positivo, tutto è OK Se il PING fallisce, non ci sono molte indicazioni su quanto è successo Potrebbe esserci un problema sul percorso di andata verso l’host sotto test Potrebbe esserci un problema sul percorso di ritorno dall’host sotto test verso l’host che effettua il test In Internet non c’è nessuna garanzia che i percorsi siano simmetrici Potrebbe esserci un’Access-List sui router o firewall intermedi che inibiscono il protocollo ICMP Potrebbe esserci un Personal Firewall attivato sull’host sotto test Spesso i Personal Firewall disabilitano le risposte ICMP Traceroute Visualizza il percorso verso l’host destinazione Individua i router che vengono attraversati tra la stazione che effettua il test e la stazione terminale di destinazione Ogni router risponde con UNO dei suoi indirizzi IP, non necessariamente quello dell’interfaccia sul percorso tra la sorgente e la destinazione Sintassi traceroute [opzioni] destinazione (UNIX) tracert [opzioni] destinazione (Windows) UNIX: alcune implementazioni inviano un pacchetto UDP anzichè ICMP Traceroute: Sintassi Opzione Descrizione -f TTL Utilizza il valore TTL come valore iniziale del campo Time To Live del pacchetto IP (anzichè partire da uno). -l Utilizza pacchetti ICMP Echo Request anzichè pacchetti UDP (solo UNIX). -m count Utilizza, come massimo valore del campo Time To Live del pacchetto IP, il valore count (default 30). -w timeout Aspetta ogni risposta per max timeout millisecondi. Se la risposta arriva più tardi, viene ignorata. -q count Genera count pacchetti di test per ogni valore di Time To Live (default tre). Traceroute: Funzionamento La stazione che effettua il test invia un messaggio ICMP Echo Request con TTL = 1 al default gateway Il primo router scarta il messaggio e risponde inviando un messaggio ICMP TTL Exceeded in Transit La stazione che effettua il test apprende l’esistenza del primo router ed invia un altro messaggio ICMP Echo Request con TTL incrementato di 1 al default gateway (TTL = 2) Il default gateway inoltra il messaggio al router successivo decrementando il TTL Il secondo router scarta il messaggio e risponde inviando un messaggio ICMP TTL Exceeded in Transit Traceroute: Output traceroute to www.unitn.it (193.205.206.17), 30 hops max, 40 byte packets 1 192.168.9.254 (192.168.9.254) 0.282 ms 0.265 ms 0.243 ms 2 192.168.254.253 (192.168.254.253) 7.763 ms 8.129 ms 8.488 ms 3 ru-createnet-rc-tn.tn.garr.net (193.206.143.101) 14.995 ms 15.333 ms 15.656 ms 4 rc-tn-ru-unitn.tn.garr.net (193.206.143.98) 17.050 ms 19.028 ms 20.590 ms 5 utrust2.unitn.it (193.205.210.122) 19.584 ms 20.193 ms 20.867 ms 6 172.16.0.246 (172.16.0.246) 21.175 ms 10.236 ms 10.529 ms 7 * * * 8 * * * … Cont’d … 29 30 * * * * * * ARP Visualizza e modifica il contenuto dell’ARP cache Sintassi arp [opzioni] [IPAddr] [EthAddr] Opzione Descrizione -a Visualizza l’attuale stato dell’ARP cache, distinguendo tra valori statici e dinamici. -n Non tradurre gli indirizzi IP -d IPAddr Cancella dall’ARP cache l’associazione relativa all’host IPAddr. -s IPAddr EthAddr Aggiunge una associazione statica tra l’indirizzo di livello tre IPAddr e l’indirizzo di livello due EthAddr ARP: Output root@alba:~# arp -n Address 192.168.9.254 192.168.9.1 192.168.9.35 192.168.9.7 HWtype ether ether ether ether HWaddress 00:12:1e:a6:29:05 00:0f:1f:04:19:b1 00:80:91:48:c9:da 00:0c:29:d8:c3:10 Flags Mask C C C C Iface eth0 eth0 eth0 eth0 root@alba:~# arp Address 192.168.9.254 minerva.corp.cnet 192.168.9.35 ns1.corp.cnet HWtype ether ether ether ether HWaddress 00:12:1e:a6:29:05 00:0f:1f:04:19:b1 00:80:91:48:c9:da 00:0c:29:d8:c3:10 Flags Mask C C C C Iface eth0 eth0 eth0 eth0 Route Visualizza e modifica la routing table Sintassi route [opzioni] [commando] [parametri] Opzione Descrizione -n Non tradurre gli indirizzi IP add NetAddr Aggiunge una nuova route relativa alla rete mask NetMask NetAddr/NetMask (es. 10.0.0.0/255.255.255.0) alla Gateway routing table, attraverso il next hop Gateway. delete NetAddr Aggiunge la route relativa alla rete NetAddr/NetMask mask NetMask (es. 10.0.0.0/255.255.255.0), raggiungibile attraverso il Gateway next hop Gateway, dalla routing table. WinDump/tcpdump Semplice analizzatore di rete, in forma testuale Visualizza un sommario per ogni pacchetto catturato Il sommario contiene le informazioni più imporanti di ogni protocollo presente nel pacchetto Sintassi WinDump [opzioni] [filtro] (Windows) tcpdump [opzioni] [filtro] (UNIX) Disponibilità Normalmente incluso di default nelle distribuzioni UNIX http://www.tcpdump.org/ per la versione più Aggiornata Programma a parte in Windows http://www.winpcap.org/windump/ Opzione WinDump/tcpdump: Sintassi Descrizione [nessuno] Visualizza tutto il traffico relativo alla prima interfaccia di rete. -D Visualizza la lista delle interfacce di rete disponibili. -i interfaccia Cattura il traffico dall’interfaccia specificata, che può essere sia un numero, sia il nome dell’interfaccia stessa. Ambedue i dati sono riportati dall’opzione –D. -c count Cattura count pacchetti, al termine del quale il programma esce (default: la cattura viene terminata digitando Ctrl+C). -r file Legge i dati dal file file, anzichè -r file catturarli da rete -w file Scrive i pacchetti catturati (in forma binaria) sul file file. Questi potranno essere richiamati con l’opzione –r. -n Visualizza i pacchetti catturati senza alcuna traduzione di indirizzi / porte dal formato numerico a quello letterale. Aumenta la velocità di esecuzione in quanto non richiede alcuna risoluzione DNS prima della visualizzazione. WinDump/tcpdump: Filtraggio Filtro Descrizione [nessuno] Cattura tutti i pacchetti ricevuti dalla scheda di rete in esame. arp Aggiunge una nuova route relativa alla rete NetAddr/NetMask (es. 10.0.0.0/255.255.255.0) alla routing table, attraverso il next hop Gateway. src host [host] Cattura tutti i pacchetti originati o destinati all’host IP host. host [host] Cattura tutti i pacchetti originati dall’host IP host. Analogamente, dst host [host] cattura tutti i pacchetti destinati all’host host. Filtro WinDump/tcpdump: Filtraggio (ii) Descrizione tcp and port [port] Cattura tutti i pacchetti TCP che sono originati o destinati alla porta port. src port [port] Cattura tutti i pacchetti TCP e UDP che hanno il valore port come porta sorgente. ether host [host] Cattura tutti i pacchetti che sono originati o destinati all’host che ha indirizzo MAC pari a host. L’indirizzo MAC deve essere nella forma aa:bb:cc:dd:ee:ff. ether broadcast Cattura tutti i pacchetti brodcast ether broadcast a livello MAC Operatori booleani: E’ possibile combinare più espressioni in uno and, or, not stesso filtro attraverso l’utilizzo degli operatori booleani e delle parentesi ( () ) per indicare le precedenze nella valutazione dell’espressione. WinDump/tcpdump: Output root@alba:~# tcpdump -i eth0 -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 12:33:42.911527 IP 192.168.9.197.137 > 192.168.9.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 12:33:43.295577 IP 192.168.9.230.137 > 192.168.9.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 12:33:43.919799 CDPv2, ttl: 180s, Device-ID 'SEP0004f204f020'[|cdp] 12:33:44.045111 IP 192.168.9.230.137 > 192.168.9.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 12:33:44.303002 IP 192.168.9.147.138 > 192.168.9.255.138: NBT UDP PACKET(138) 12:33:44.795142 IP 192.168.9.230.137 > 192.168.9.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 12:33:44.813889 STP 802.1d, Config, Flags [none], bridge-id 8000.00:11:43:8a:4c:62.8027, length 43 ^C 7 packets captured 7 packets received by filter 0 packets dropped by kernel Agenda Strumenti di base Analisi del traffico Analisi del traffico (reti wireless) Generazione di traffico Wireshark Network Protocol Analyzer Puo' essere utilizzato per tracciare il traffico in transito dalle interfacce di rete Fornisce informazioni dettagliate su ciascun pacchetto in transito sulla rete Puo' filtrare i pacchetti in base a diversi criteri (e.g. tipo di protocollo, sorgete, …) E' dotato di una semplice GUI La cattura del pacchetti avviene tramite la libreria pcap Avviare l’analisi del traffico Elencare le interfacce di rete disponibili Capture > Interfaces Avviare il processo di cattura Pulsante “Start” Il risultato Display filters Comprendere l’utilizzo dei filtri di visualizzazione (Display Filters) e` il primo passo per un utilizzo efficace di Wireshark La maggior parte delle funzionalita` sono accessibili attraverso opportuni filtri Idee generali Utilizzare un campo del protocollo per nascondere/visualizzare i pacchetti in transito Combinare i campi tramite gli operatori logici AND, OR, NOT (!) Display filters : Esempio 3.Inserire il filtro 1.Selezionare il campo su cui si vuole filtrare 2.Leggere il nome del campo sulla barra di stato Display filters: Il risultato Display filters: Operatori Sintassi: display.field.name operator value Esempi di operatori eq, == Equal ne, != Not equal gt, > Greater than lt, < Less Than ge, >= Greater than or Equal to le, <= Less than or Equal to contains, Contains specified data Possono essere combinati mediate gli operatori logici AND, OR, NOT(!) Usare le parentesi per controllare l’ordine degli operatori in espressioni complesse Display filters: GUI E` possibile specificare i filtri anche mediante l’interfaccia grafica Analyze > Display filter > Expression Personalizzare l’output: colonne Wireshark permette di aggiungere, rimuovere e spostare le colonne visualizzate Edit > Preferences > Columns Personalizzare l’output: colonne (ii) Personalizzare l’output: Colori (ii) Facilita l’analisi del traffico catturato View > Coloring rules Personalizzare l’output: Colori Specificare: nome della vista, regola di filtraggio, colori (background/foreground) E` possibile salvare queste regole di visualizzazione per usi futuri Esercizio Catturare il traffico inviato e ricevuto durante il download di un file con un client FTP Salvare il traffico catturato su un file (tcpdump) Prima di avviare la cattura, assicurarsi che: La cache ARP sia vuota (arp) La cache DNS sia vuota (ifconfig) Domande: Esistono sessioni ARP/DNS Che tipo di connessioni TCP sono utilizzate Come sono ientificate Qual’e` lo scopo di ciascuna di loro Qual’e` il SN del primo e dell’ultimo byte trasferito Agenda Strumenti di base Analisi del traffico Analisi del traffico (reti wireless) Generazione di traffico Analizzare il traffico Wireless Non richiede alcun tipo di autenticazione Utile per verificare la sicurezza di una rete I dispositivi 802.11 supportano diverse modalita` operative: Master (Access Point) Managed (Station) Ad-Hoc (Station in modalita` IBSS) Monitor (RFMON) L’analisi del traffico in modalita` monitor permette di accedere all’intera trama 802.11 L’analisi del traffico in modalita` managed da` accesso solo alla trama ethernet Managed vs Monitor Managed mode root@alba:~# tshark -np -i wlan0 Capturing on wlan0 0.000000 00:12:da:cb:7b:82 -> ff:ff:ff:ff:ff:ff IEEE 802.11 Flags=........, BI=100, SSID="CN-Guest", Name="ap-level3" 0.025647 00:12:da:cb:7b:81 -> ff:ff:ff:ff:ff:ff IEEE 802.11 Flags=........, BI=100, SSID="CN-Corp", Name="ap-level3" 0.051204 00:12:da:cb:7b:80 -> ff:ff:ff:ff:ff:ff IEEE 802.11 Flags=........, BI=100, SSID="\000", Name="ap-level3" 0.071569 00:0b:6b:09:eb:22 -> ff:ff:ff:ff:ff:ff IEEE 802.11 FN=0, Flags=........, BI=100, SSID="WRAP34A" 213 213 Beacon frame, SN=38, FN=0, 212 212 Beacon frame, SN=39, FN=0, 206 206 Beacon frame, SN=40, FN=0, 122 122 Beacon frame, SN=3308, Monitor mode root@alba:~# tshark -n -i wlan0 Capturing on wlan0 0.000000 -> 00:14:a5:40:7b:83 (RA) IEEE 802.11 35 35 Clear-to-send, Flags=........ 0.000305 -> 00:14:a5:40:7b:83 (RA) IEEE 802.11 35 35 Acknowledgement, Flags=........ 0.000306 -> 00:14:a5:40:7b:83 (RA) IEEE 802.11 35 35 Clear-to-send, Flags=........ 0.000397 -> 00:14:a5:40:7b:83 (RA) IEEE 802.11 35 35 Acknowledgement, Flags=........ 0.093911 -> 00:12:da:cb:7b:81 (RA) IEEE 802.11 35 35 Clear-to-send, Flags=........ 0.132602 00:12:da:cb:81:33 -> ff:ff:ff:ff:ff:ff IEEE 802.11 205 205 Beacon frame, SN=1076, FN=0, Flags=........, BI=100, SSID="CN-Phone", Name="ap-level2" Supporto La modalita` monitor e` supportata da quasi tutti i driver wireless per Linux Intel Atheros I drivers per windows non supportano la modalita monitor Airpcap Cattura su un canale alle volta Puo` anche raccogliare traffico proveniente dai canali vicini Utilizzo della modalita` RFMON Drivers: Centrino, RealTek, RTL, Prism54 Tools ifconfig: configurazion indirizzo IP, attivazione/disattivazione dell’interfaccia iwconfig: configurazione dei parametri wireless: canale, modalita` root@alba:~# ifconfig wlan0 down root@alba:~# iwconfig wlan0 mode monitor channel 6 root@alba:~# ifconfig wlan0 up root@alba:~# iwconfig wlan0 wlan0 IEEE 802.11abgn Mode:Monitor Frequency:2.437 GHz Tx-Power=15 dBm Retry min limit:7 RTS thr:off Fragment thr=2352 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Utilizzo della modalita` RFMON (cont’d) Drivers: madwifi Tools wlanconfig: creazione distruzione delle interfacce virtuali root@alba:~# wlanconfig ath1 create wlandev wifi0 wlanmode monitor ath1 root@alba:~# ifconfig ath1 up root@alba:~# iwconfig ath1 ath1 IEEE 802.11g ESSID:"" Nickname:"" Mode:Monitor Frequency:2.437 GHz Access Point: 00:14:6C:4E:20:F1 Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=1/1 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/70 Signal level=-96 dBm Noise level=-96 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Struttura di Trama Bits: 2 Protocol Version 2 4 Type SubType 1 To DS 1 1 1 1 1 1 1 From DS More Frag Retry Pwr Mgt More Data WEP Rsvd Frame Control Field Type 00: Trame di Management Beacon (Re) Association (De) Authentication Probe Power Management Type 01: Trame di controllo RTS/CTS ACK Type 10: Trame Dati Type 11: Reserved Campo “subtype” Trame di Management (Type 00) Subtype 0000: Association Request Subtype 0001: Association Response Subtype 0100: Probe Request Subtype 0101: Probe Response Subtype 1000: Beacon Subtype 1010: Disassociation Subtype 1011: Authentication Subtype 1100: Deauthentication Trame di Controllo (Type 01) Subtype 1011: Request to Send (RTS) Subtype 1100: Clear to Send (CTS) Subtype 1101: Acknowledgement (ACK) Esempio: Disconnessione (wlan.fc.type eq 0) and (wlan.fc.subtype eq 12 or wlan.fc.subtype eq 10) Altri esempi Traffico relativo ad un particolare produttore I primi tre byte dell’indirizzo MAC indicano il produttore (e.g. 00:12:da e` assegnato a CISCO) (wlan.addr[0:3] eq 00:12:da or wlan.bssid[0:3] eq 00:12:da) Ritransmissioni wlan.fc.retry eq 1 Trame con FCS errato wlan.fcs_bad eq 1 Pratica: wlan1.pcap Il client (Station) non riesce ad associarsi ad un Access Point utilizzando una chiave WEP Limitare il numero di frame visualizzati filtrando beacons e trame di controllo wlan.fc.type_subtype ne 8 and wlan.fc.type ne 1 Studiare l’attivita` del nodo client Probe request, probe response Authentication request, authentication response Association request, association response Considerazioni: Le trame 76 e 77 indicano che il client non riesce a completare la fase di autenticazione La trama di authentication response proveniente dall’Access Point ci da` piu` informazioni su quanto sta` accadendo Pratica: wlan1.pcap (cont’d) Impatto dell’interferenza Molto spesso non e` possibile ottenere dati sul livello fisico a partire dal traffico catturato Possiamo usare le statistiche di ritrasmissione come strumento indiretto per studiare l’interferenza Passi: Applicare un filtro per le ritrasmissioni Calcolare le statistiche manualmente utilizzando i contatori forniti da Wireshark wlan.fc.retry eq 0 and wlan.addr eq 00:1c:bf:3b:f6:7c wlan.fc.retry eq 1 and wlan.addr eq 00:1c:bf:3b:f6:7c Retry = 0 Retry = 1 Grafici Statistics -> IO Graphs Specificare i filtri di visualizzazione Pratica: wlan4.pcap Molte trame risultano malformate Expert Analysis Strumento di analisi automatica del traffico Identifica alcune condizioni anomale Analyze -> Expert Info Conversations Utile per deteminare i nodi piu` attivi Statistics -> Conversations Grafico: Sequence number (Normale) Il campo Sequence Number e` modulo 4096 E` possibile effettuare alcune semplici statistiche sui valori dei campi Sum, Count, Max, Min, Avg, Load (time-relative) Grafico: Sequence number (Spoofing) La presenza di attivita` di spoofing altera il valore della media Agenda Strumenti di base Analisi del traffico Analisi del traffico (reti wireless) Generazione di traffico IPERF Sviluppata da The National Laboratory for Applied Network Research (NLANR) Genera traffico TCP e UDP Non necessita di sincronizzazione tra i nodi Multicast Completo supporto per IPv6 Inter-departure time costante Solo traffico CBR Dimensione costante del payload Nessuna informazione sul delay IPERF: Caratteristiche TCP Misura della bandwidth Report sulla dimensione di MSS/MTU Supporto per la dimensione della finestra TCP UDP Il client può creare flussi UDP con bandwidth specifica Misura del packet loss Misura del jitter Client e server possono avere multiple connessioni simultanee Dove appropriato, le opzioni possono essere specificate con K (kilo) M (mega) Genera traffico per un dato periodo di tempo, o per un certo numero di dati Mostra periodicamente il report su bandwidth, jitter e packet loss intermedi ad intervalli specificati TCP Opzioni tipiche -f: setta il formato in cui verranno mostrati i valori (K, M,…) -i: setta l’intervallo di tempo in secondi tra i report periodici -w: setta la dimensione della finestra TCP -m: mostra la dimensione del TCP MSS Opzioni specifiche del client -d: lancia Iperf in dual testing mode -r: lancia Iperf in tradeoff testing mode -t: specifica il tempo in secondi della simulazione (-l e –n) UDP Opzioni tipiche -f: setta il formato in cui verranno mostrati i valori (K, M,…) -i: setta l’intervallo di tempo in secondi tra i report periodici -w: setta la dimensione del buffer con cui i datagrammi vengono ricevuti Opzioni specifiche del client -d: lancia Iperf in dual testing mode -r: lancia Iperf in tradeoff testing mode -t: specifica il tempo in secondi della simulazione (-l e –n) -b: setta la banda del flusso, in bit/s Esempio: TCP iperf -s -i 1 -f k >> log_TCP_RX iperf -c afrodite -i 1 -f k -t 10 >> log_TCP_TX TCP server log ---------------------------------------------------Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ---------------------------------------------------[ 4] local 192.168.11.6 connected with 192.168.11.5 [ 4] 0.0- 1.0 sec 2240 KBytes 18348 Kbits/sec [ 4] 1.0- 2.0 sec 2246 KBytes 18395 Kbits/sec [ 4] 2.0- 3.0 sec 2260 KBytes 18511 Kbits/sec [ 4] 3.0- 4.0 sec 2260 KBytes 18511 Kbits/sec [ 4] 4.0- 5.0 sec 2264 KBytes 18546 Kbits/sec [ 4] 5.0- 6.0 sec 2262 KBytes 18534 Kbits/sec [ 4] 6.0- 7.0 sec 2250 KBytes 18430 Kbits/sec [ 4] 7.0- 8.0 sec 2223 KBytes 18210 Kbits/sec [ 4] 8.0- 9.0 sec 2241 KBytes 18361 Kbits/sec [ 4] 9.0-10.0 sec 2223 KBytes 18210 Kbits/sec [ 4] 0.0-10.0 sec 22528 KBytes 18412 Kbits/sec TCP client log ---------------------------------------------------Client connecting to afrodite, TCP port 5001 TCP window size: 16.0 KByte (default) ---------------------------------------------------[ 3] local 192.168.11.5 connected with 192.168.11.6 [ 3] 0.0- 1.0 sec 2288 KBytes 18743 Kbits/sec [ 3] 1.0- 2.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 2.0- 3.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 3.0- 4.0 sec 2264 KBytes 18547 Kbits/sec [ 3] 4.0- 5.0 sec 2288 KBytes 18743 Kbits/sec [ 3] 5.0- 6.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 6.0- 7.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 7.0- 8.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 8.0- 9.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 9.0-10.0 sec 2240 KBytes 18350 Kbits/sec [ 3] 0.0-10.0 sec 22528 KBytes 18431 Kbits/sec Esempio: UDP iperf -s -i 1 -f k -u >> log_UDP_RX iperf -c afrodite -i 1 -f k -u -b 30M -t 10 >> log_UDP_TX UDP server log -----------------------------------------------------------Client connecting to afrodite, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 108 KByte (default) -----------------------------------------------------------[ 3] local 192.168.11.5 connected with 192.168.11.6 [ 3] 0.0- 1.0 sec 3664 KBytes 30012 Kbits/sec [ 3] 1.0- 2.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 2.0- 3.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 3.0- 4.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 4.0- 5.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 5.0- 6.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 6.0- 7.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 7.0- 8.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 8.0- 9.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 9.0-10.0 sec 3662 KBytes 30000 Kbits/sec [ 3] 0.0-10.0 sec 36624 KBytes 30000 Kbits/sec [ 3] Sent 25512 datagrams [ 3] Server Report: [ 3] 0.0-10.0 sec 72920 KBytes 59728 Kbits/sec 0.020 ms 113/25511 (0.44%) [ 3] 0.0-10.0 sec 1 datagrams received out-of-order -----------------------------------------------------------Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 108 KByte (default) -----------------------------------------------------------[ 3] local 192.168.11.6 connected with 192.168.11.5 [ 3] 0.0- 1.0 sec 3605 KBytes 29529 Kbits/sec 0.014 ms 0/ 2511 (0%) [ 3] 1.0- 2.0 sec 3589 KBytes 29400 Kbits/sec 0.014 ms 0/ 2500 (0%) [ 3] 2.0- 3.0 sec 3589 KBytes 29400 Kbits/sec 0.012 ms 0/ 2500 (0%) [ 3] 3.0- 4.0 sec 3587 KBytes 29388 Kbits/sec 0.023 ms 0/ 2499 (0%) [ 3] 4.0- 5.0 sec 3590 KBytes 29412 Kbits/sec 0.025 ms 40/ 2541 (1.6%) [ 3] 5.0- 6.0 sec 3714 KBytes 30423 Kbits/sec 0.017 ms 74/ 2661 (2.8%) [ 3] 6.0- 7.0 sec 3737 KBytes 30611 Kbits/sec 0.020 ms 0/ 2603 (0%) [ 3] 7.0- 8.0 sec 3717 KBytes 30447 Kbits/sec 0.037 ms 0/ 2589 (0%) [ 3] 8.0- 9.0 sec 3664 KBytes 30012 Kbits/sec 0.019 ms 0/ 2552 (0%) [ 3] 9.0-10.0 sec 3664 KBytes 30012 Kbits/sec 0.019 ms 0/ 2552 (0%) [ 3] 0.0-10.0 sec 36460 KBytes 29864 Kbits/sec 0.020 ms 113/25511 (0.44%) [ 3] 0.0-10.0 sec 1 datagrams received out-of-order UDP server log jtg Semplice generatore di traffico Il processo in trasmissione supporta la generazione di un unico flusso Il processo in ricezione puo' raccongliere flussi multipli Con traffico UDP e' possibile specificare Delays e Packet size Target Bandwidth e packet size Target bandwisth e delays Delays ed un file dal quale leggere le dimensioni dei pacchetti Packet size ed un file dal quale leggere i delays Un file da quale leggere Packet sizes e delay Sender -u, use UDP instead of TCP -l##, length of packets written to network in bytes (def: 1000) -p##, port number to send to (def: 2000) -d##, transmission time in seconds (Overwrites -n) -T##, length of "tick" in usec (default 100000=100ms). The tick is the delay between the transmission of two UDP packets. -B##, number of packets per each tick (def: 1) [CBR] -b## User data bandwidth for CBR UDP in bits/s -fxx take packet size info from file "xx“ -Fxx packet delay interval info from file "xx“ -e## delay in seconds before ending test (sender & receiver, def: 0) Receiver -u receive UDP, without this the default is to receive TCP streams -p# port number at which we are listening for streams (def is 2000) -L loop and receive more than one stream -N# exit after having received this many streams -i normalize the timestamps written into the logfile -g output a log compatible with Gnuplot -G specify the filename for Gnuplot (def. jtg.dat) Esempi (Sender) Sends 50 UDP packets every 100 ms (default) to 192.168.9.205: jtg -t -u -n50 192.168.9.205 Sends a UDP stream of 64 Kbps user data bandwidth and packet size 160 bytes. The transmission will last 5 seconds: jtg -t -u -b64000 -d5 -l160 192.168.9.205 Sends a UDP stream, one packet every 25 ms and the packet sizes are read from the file packet_sizes.log: jtg -t -u -f packet_sizes.log -T25000 192.168.9.205 Sends a 200 Kbyte TCP stream to receiver's port 3456: jtg -t -p3456 -n200 -l1000 192.168.9.205 Esempi (Receiver) Sets up a very basic receiver that waits for one TCP stream at port 2000 jtg –r Sets up a receiver that listens for an unspecified number of UDP streams. This receiver can be stopped with CTRL-C or with a message sent by the sender (-k) that closes the receiver: jtg -r -u –L Sets up a receiver that listens for an unspecified number of UDP streams and waits for control messages at TCP port 2000. jtg -r -u -L –a Sets up a receiver that listens for an unspecified number of UDP streams and waits for control messages at TCP port 2222. jtg -r -u -L -A2222 Il risultato # Test started Tue Nov 15 16:09:16 2005, sender 127.0.0.1:32827 Seq>0 TxTime>1132063756.273401 RxTime>1132063756.273466 Size>1000 Seq>1 TxTime>1132063756.375820 RxTime>1132063756.375844 Size>1000 Seq>2 TxTime>1132063756.475829 RxTime>1132063756.475853 Size>1000 Seq>3 TxTime>1132063756.575841 RxTime>1132063756.575867 Size>1000 Seq>4 TxTime>1132063756.675855 RxTime>1132063756.675885 Size>1000 Seq>5 TxTime>1132063756.775879 RxTime>1132063756.775920 Size>1000 Seq>6 TxTime>1132063756.875871 RxTime>1132063756.875895 Size>1000 Seq>7 TxTime>1132063756.975884 RxTime>1132063756.975922 Size>1000 Seq>8 TxTime>1132063757.075889 RxTime>1132063757.075914 Size>1000 Seq>9 TxTime>1132063757.175933 RxTime>1132063757.175956 Size>1000