Io uso iperf
. È una disposizione del server client in quanto la si esegue in modalità server a un'estremità e ci si collega da un altro computer sull'altro lato della rete.
Esistono entrambe le macchine:
sudo apt-get install iperf
Avvieremo un iperf
server su una delle macchine:
iperf -s
E poi sull'altro computer, dire iperf
di connettersi come client:
iperf -c <address of other computer>
Sul computer client vedrai qualcosa del genere:
oli@bert:~$ iperf -c tim
------------------------------------------------------------
Client connecting to tim, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.04 GBytes 893 Mbits/sec
Naturalmente, se stai eseguendo un firewall sul computer server, dovrai consentire le connessioni sulla porta 5001 o cambiare la porta con il -p
flag.
Puoi fare praticamente la stessa cosa con old old nc
(netcat) se sei così incline. Sul computer server:
nc -vvlnp 12345 >/dev/null
E il client può convogliare un gigabyte di zeri attraverso dd
il nc
tunnel.
dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Come Demod:
$ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Connection to 10.10.0.2 12345 port [tcp/*] succeeded!
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s
Il tempismo è dato da dd
ma dovrebbe essere abbastanza preciso in quanto può emettere solo la velocità con cui il tubo lo prenderà. Se non sei soddisfatto, potresti concludere tutto in una time
chiamata.
Ricorda che il risultato è in mega byte, quindi moltiplicalo per 8 per ottenere una velocità di mega bit al secondo. La demo sopra è in esecuzione a 944 Mbps.