How to Control Your Wi-Fi Network in Linux

Featured Image for How to Control Wifi in Linux

Is your Wi-Fi connection too slow? Are you having constant network problems while surfing the ‘Net? Chances are your wireless network is handling more traffic than it should. Luckily, it is quite easy to control your Wi-Fi network in Linux. You can use the open-source application evillimiter for monitoring and controlling device bandwidth. This guide illustrates how to do this using a step-by-step approach.

What is Evillimiter?

Evillimiter is a free, open-source monitoring tool that can limit bandwidth usage for devices connected to a LAN. It runs on Linux and Windows and can work without administrative access to the network. Note: you should not use this tool on other people’s networks, avoiding possible legal challenges.

How to Install Evillimiter

You need to install evillimiter before using it. Fortunately, the installation is straightforward if you have the dependencies installed already. It requires Python 3, which should be available on most Linux installations by default. To install evillimiter, fire up your terminal and type in the below commands:

# retrieves source code
git clone https://github.com/bitbrute/evillimiter.git
 
# navigates to the source directory
cd evillimiter
 
# installs evillimiter
sudo python3 setup.py install

How to Control Your Wi-Fi Network Using Evillimiter

Once the installation finishes, you can start monitoring devices connected to your personal Wi-Fi. To do this, first start the application by running the following command:

sudo evillimiter

Note that you will need sudo/root privileges to run and use evillimiter. This is because it handles the network controller and needs access to low-level kernel parameters. When you first run evillimiter, it will display some information about your Wi-Fi network. This includes the interface name, gateway IP, MAC, and netmask.

Running evillimiter to control wifi network in Linux

The interactive console is where you type in commands for monitoring bandwidth usage. Evillimiter offers a handful of commands for ease of control. You can view a list of available commands by entering ? or help in the interactive console.

(Main) >>> help

You need to scan the local network before you can monitor connected devices. Use the scan command of evillimiter to do this.

(Main) >>> scan

This will scan for all hosts connected to your Wi-Fi and report the number of active devices. Now you can view the hosts and limit their bandwidth usage. Use the hosts command for viewing all active hosts.

(Main) >>> hosts

This will display a list of devices that are connected to your Wi-Fi network. Evillimiter will assign an ID to each device and display its IP and MAC information. The status field shows whether bandwidth has already been limited for a device.

Evillimiter Scan Hosts

You can now limit the bandwidth for a device by using the limit command.

(Main) >>> limit 2 100kbit

This command limits the bandwidth of the second device(ID=2) to 100 kilobits. You can limit many devices at once using a comma-separated list.

(Main) >>> limit 2,3 50kbit

This command will limit the bandwidth of the second and third devices to 50 kbit.

control wifi network for different hosts using evillimiter

The bandwidth limitation is set for both upload and download speeds. But you can also limit upload/download speeds separately. The next command limits the second device’s download speed to 100 kbit per second.

(Main) >>> limit 2 100kbit --download

You can also block the Internet connection for a host device using the block command. That way, you can control Wi-Fi users directly from the terminal.

(Main) >>> block 2

This command will block the second device from using network resources. Use the --upload and --download flags for blocking one-way traffic.

(Main) >>> block 2 --download

Say you want to stream gaming sessions. You can block all other Wi-Fi devices using the below command.

(Main) >>> block all
Evillimiter Block All Hosts

So far, we’ve shown how to scan, limit, and block devices using evillimiter in Linux. However, don’t forget to free these devices once you’re done. Use the free command followed by the host ID to do this.

(Main) >>> free 1,2,3
(Main) >>> free all
control wifi using Evillimiter in Linux

To quit the interactive console, type in quit or exit in the command window.

(Main) >>> quit

It will exit the current session and bring back the terminal prompt.

Next up are two more features of evillimiter. Since the interactive console is colored, it may not run properly in some environments. You can install the packages needed for color-coding or use the --colorless option in such cases.

sudo evillimiter --colorless

If you run this in the terminal, it will start a colorless interactive session for evillimiter. People can use this mode whenever facing problems with ASCII colors.

Evillimiter Colorless

Finally, the -f option helps resolve issues with Linux iptables configuration or network parameters.

sudo evillimiter -f

Tips About Using Evillimiter

Evillimiter uses ARP spoofing and traffic shaping to cut users from LAN connections. Thus, it’s not a good idea to run this application in the background for too long. This can throttle network resources and may result in frequent kernel panics.

We recommend you use such tools only when it’s essential. Plus, the tool doesn’t work at all for IPv6 connections. Also, if you’re facing problems regarding network interfaces, try flashing the configuration.

Wrapping Up

As you can see, you can easily control your Wi-Fi network in Linux using evillimiter. It’s effortless to install and works well even without admin access. If you want to learn more about Wi-Fi security, try reading the complete guide to home Wi-Fi security.

Rubaiat Hossain
Rubaiat Hossain

Rubaiat is a CS graduate who possesses hands-on experience with Unix Administration, Web Programming, DevOps, and Virtualization. He has a strong passion for enlightening people in open-source technologies.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox