This was one of the posts that I came across while in vain trying to control Skype's bandwidth on Linux.
Finally I got to a way to do that and have explained it here
http://www.shantanutushar.com/content/linux-how-stop-skype-eating-all-your-bandwidth http://blog.shantanu.io/2014/01/22/linux-how-to-stop-skype-from-eating-all-your-bandwidth/ (the post has moved). See if it works for you.
Here is the text from that post:
After hours of searching and hair pulling action, I came up with an
addition to Solution 2 – use iptables to block access to skype. Now,
iptables doesn't really have per application rules (like what people
are used to from Windows Firewall etc) but it can filter on
user/group. Using this, I did the following-
- Install and start squid
- Create a group called nonet
- Use the following iptables rules to block all communication for the group nonet, but still allow access to 127.0.0.1:3128 where squid runs (order is important)-
sudo iptables -A OUTPUT -p tcp -s 127.0.0.1 –dport 3128 -m owner –gid-owner nonet -j ACCEPT
sudo iptables -A OUTPUT -m owner –gid-owner nonet -j REJECT –reject-with icmp-net-unreachable
- Run Skype as the nonet group like this-
sudo -g nonet PULSE_LATENCY_MSEC=60 /usr/bin/skype
Skype should not be able to login. Goto Options>Advanced and set the HTTPS proxy to point to squid (default 127.0.0.1 port 3128).
Skype should now be able to login using the proxy (it takes a minute or two though). If not, try restarting Skype.
(Note that you don't even need to enable delay queues for squid to
control the bandwidth, at least for me Skype doesn't go over 20KBps
Upload/Download when using a proxy.)