Force application to use specific network card – ForceBindIP

November 23, 2015

Today I had a need to force one of the applications on my computer to use a different network card, by doing this I could set the application to use a second internet connection that I have.

On my computer I have two NIC’s, I have my primary NIC plugged into my network which is a fairly decent 4G internet connection, I get about 25mb down and 15mb up. My second network connection is plugged directly in my DSL router, this is a very slow internet connection.

Today I started working from from home, I will be working from home for a few weeks and in order to work I need to use a SIP (VOIP) Client program which connects into the office phone system. This program struggles to work with the 4G internet connection (Likely something on the mobile network restricting it!), so instead I wanted to force it to use my slower DSL internet connection.

This is not supported natively in Windows, and as I do not have a network firewall unit, I had to find another solution. There is a program called ForceBindIP, which supports all version of Windows, even Windows 10! (Lucky for me!). The program can be downloaded from here: Download site of ForceBindIP, I just downloaded the executable file. Ignore the fact that it says it will on run on NT -> 2003, I have tested this on Windows 10!

Once the file is run, below are the next steps (example is for Firefox);

  1. Launch the command prompt (Run as administrator)
  2. If the computer is 32bit then type the command: ForceBindIP.exe “C:\Program Files (x86)\Mozilla Firefox\firefox.exe”
  3. If the computer is 64bit then type the command: %SystemRoot%\SysWOW64\ForceBindIP.exe “C:\Program Files (x86)\Mozilla Firefox\firefox.exe”

That is all there is to it!

The IP in the example would be the IP address of the network card that you want the program to use. I have my NIC set to a static IP as it is easier, otherwise if the IP is dynamic you would have the get the NIC’s GUID from the registry and substitute it for where the IP is in the example above.

Each time you want the program to use the different network card, you will need to run the command, alternatively you could do what I did, I copied the command, created a new short-cut on the desktop and put the target in as the short-cut, this way it is a simple click of a button instead of having to run the command in the prompt each time.