...

Reti di Telecomunicazione Esercitazioni: Analisi del traffico

by user

on
Category: Documents
15

views

Report

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
Fly UP