I'm looking for a tool that will test my internet connection bandwidth and create an simple report like speedtest does.
Do you know some program/tool that do this? Something with CentOS packages would be nice.
ttcp is a simple, possibly too simple, speed test utility.
pchar is another one people cite a lot, I've had bad luck with it, personally.
Here's how I'd use ttcp. You need two machines, each with ttcp (http://playground.sun.com/pub/tcp-impl/ttcp/ttcp.c) compiled on them.
Once you've figured out how to get it to run, try different length files to see how speed varies. Use UDP (-u flag on both reader and sender command line) for even more fun!
I'm just repeating the answers listed on this (deleted?) stackoverflow question: http://stackoverflow.com/questions/426272/how-to-test-internet-connection-speed-from-command-line
Then you have the exact style results from speedtest.net with cli.
You could use iperf to test the speed between two machines, since 'iperf' was designed to measure bandwidth.
on machine1 (host, this one will receive)
on machine2 (client, this one will upload)
Reverse the machines to test the other way (upload->download or vice versa).
It looks like there is a tool available on sourceforge that uses speedtest.net from the terminal.
Terminal speedtest: http://sourceforge.net/projects/tespeed/
You might be interested in TeSpeed. It is described as:
Very basic, but I use a simple shellscript to download a 10MB file from my provider or nearby FTP-server:
#!/bin/sh wget ftp://ftp.xs4all.nl/pub/test/10mb.bin ; rm 10mb.bin ## debian.unnet.nl is down... #wget http://debian.unnet.nl/speedtest/10mb.bin ; rm 10mb.bin #curl -LO http://debian.unnet.nl/speedtest/10mb.bin ; rm 10mb.bin
The output will look like this:
($:~)-> speedcheck.sh --2011-06-27 23:36:21-- ftp://ftp.xs4all.nl/pub/test/10mb.bin => `10mb.bin' Resolving ftp.xs4all.nl (ftp.xs4all.nl)... 188.8.131.52 Connecting to ftp.xs4all.nl (ftp.xs4all.nl)|184.108.40.206|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/test ... done. ==> SIZE 10mb.bin ... 10485760 ==> PASV ... done. ==> RETR 10mb.bin ... done. Length: 10485760 (10M) (unauthoritative) 100%[===================================================>] 10,485,760 1.09M/s in 9.8s 2011-06-27 23:36:31 (1.02 MB/s) - `10mb.bin' saved 
Use wget or curl as shown in the script according to your wishes and try to find a server more close to your region (Slovenia). Most are in NL, but maybe .IT will fit your needs: http://www.filewatcher.com/m/10mb.bin.10485760.0.0.html
You can also try http://dl.getipaddr.net
They use curl (which is a well known command line utility) to run a speed test.
The code is published on GitHub as well. In short,
wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u+x speedtest.sh && bash speedtest.sh
speed testing an internet connection or between two endpoints depends on several factors. Like the window size,jitter,unordered delivery etc. Refer: Internet Speed test through Command line.
I recommend the speedtest-cli tool for this. I created a blog post (Measure Internet Connection Speed from the Linux Command Line) that goes into detail of downloading, installing and usage of it.
Install Git (APT)
Install Git (YUM)
Clone the Repository from GitHub
Sample Usage and Output