Slownet

Slownet is designed to test how web pages and network related programs behave on slow network connections (eg. telephone modems). It exhibits misfeatures normaly hidden by fast local links (eg. lack of explicit image sizes on a web page, background color much different than background image).

Slownet is Linux only.

How does it work?

It utilizes ethernet tunnel device (tun or ethertap) to create phantom network. Every packet sent to that network, returns (after delay) and appears as sent from remote machine.

If your web browser sends request at address belonging to a network that seems to be attached to tap0 interface, slownet receives it and exchanges sender-receiver addresses. After delay proportional to the length of packet, it is sent back to your machine. Web server treats it as request comming from outside. It creates response and sends it back to tap0. Now slownet swaps addresses again so browser thinks that it has received data from remote computer. Both browser and server think that they talk to remote machine, not to each other.

Program works at the IP datagram level. It has no concept of TCP connection.

By default, slownet brings up tap0 interface and attaches it to a class A network 10.*. This means that every IP address starting with 10 belongs to a virtual network. Address 10.0.0.1 is used as the interface address so it is the only one that can't be used as a destination.

Bandwidth is limited to 2 kbytes per second by default.

To override dafault settings you should run slownet with some of the following parameters:
NUMBERsingle integer indicates desired speed [bytes per second]. (default is 2048).
ADDRESS/BITS address of tap0 interface and number of bits common for addresses in attached network (eg. value of 24 indicates that addresses used in this network varying on last number only). (default is 10.0.0.1/8).
mtu=MTUYou may limit size of packets allowed to pass interface by specifying MTU value.
dotshow dot for every packet passing.

How to use it?

Just run slownet and connect to http://10.0.0.2/. You should have tun/tap module and httpd (apache) working, of course. Root permissions required.

Download

Sources: slownet-0.5.tar.gz

« up Jan Bobrowski