I'm trying to find a utility that will allow me to generate a constant flow of random network traffic at a specified rate between 2 hosts. The utility needs to run on Windows and OSX. I've tried iperf but it seems to be more oriented toward short-term testing/statistics and it really taxes the CPU even at slower rates. I want something that will generate traffic for a few weeks at say 10Mbps while I use other tools to monitor the impact of that level of traffic on the network.
Use ping. You can script it to run random floods, and do all kinda of cool stuff. I'm not a MacOS expert but I'm pretty sure it is very similar to the Linux CLI options...
So to push the ports to the link speed limit run a flood ping (note must be root to do this, I'm running mine for 100,000 packets here):
$ping -f -c 100000 <destination IP>
Go for simplicity, Try netcat.
If you want to crank out a limited amount, you can generate a file and pipe it into NC
nc 192.168.0.1 3333 > file.dat
Alternatively if you want to saturate your network you can set up a connection that will flood A's and B's between each other
on computer A
yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null
on another Computer (We'll call B)
yes BBBBBBBBBBBBBBBBBBBBBB | nc othermachine 2222 > /dev/null
Theres a plethora of references to things you can do with netcat, I highly encourage you to do a google sometime.
Just wanted to say that Ostinato works both on Mac OS X and Windows.
On my 2.2GHz Core2Duo running Windows XP, Ostinato takes around 50% CPU. Speaking only for Ostinato - the reason it takes that much CPU even at low rates is to maintain an accurate (read constant inter packet delay) transmission rate in the presence of other contending applications.
You could also try tcpreplay
Disclosure: I'm the developer of Ostinato
Ostinato might do for Windows. I've not spent much time with it, but it looks interesting.
Just run this script...
#!/bin/bash while true; do t=$(($RANDOM%2500 + 500)) b=$(($RANDOM%150 + 50)) ping -c 1 -s $b $1 sleep $(($t/1000)) done