I’ve been using Charles HTTTP Proxy for bandwidth throttling and network monitoring in general. It’s a great little tool, but when it comes to bandwidth throttling, it will only throttle HTTP and HTTPS traffic on ports 80 and 443 respectively.
I thought there had to be a way to throttle bandwidth on any port using the native IP firewall and traffic shaper program. After reading up the documentation for ipfw, I figured out a way to throttle speed on any outgoing port.
For example, the following example will create a pipe that will allow 25Kb/s to go through port 1935.
sudo ipfw pipe 1 config bw 25KByte/s sudo ipfw add 1 pipe 1 src-port 1935
To disable throttling, simply delete the throttling rule:
sudo ipfw delete 1