If you're using Windows Vista or above, you probably don't need this. Vista's built-in firewall UI lets you do this kind of thing but XP's one was/is lacking.

Windows XP provides a basic firewall called ICF which has a very simple interface. In particular you cannot add port ranges, even after the SP2 patch. (i.e. You cannot add multiple ports at once.) ICFRanger's purpose is to fix that.

ICFRanger also allows people who use ICS (Internet Connection Sharing) to map ranges of ports to other machines on their local networks.

The GUI is similar to the ICS/ICF settings GUI except that you specify a start and end ports. Here's an example input and output:



ICFRanger_1001.zip (135k) (PGP sig)

C++ source code is included in the archive.


  • Requires Windows XP. Won't work with earlier versions and probably doesn't make sense to use it with later versions.
  • Try adding only one or two ports first to make sure you've got things set correctly. RCFRanger does not currently provide a way to delete the ports it adds so if you add a thousand ports and have to delete them then good luck doing that with ICF's awful GUI. You have been warned!
  • Has a small memory leak because Microsoft forgot to provide an export library for NetShell.dll (at least in the 2004 SDK) and I couldn't be bothered doing dynamic linking. The memory should be recovered when the program exits and will be a very, very tiny amount.
  • Doesn't understand IPv6 addresses. They may work anyway, assumng ICF understands them, but I'm not sure.

History (8th February 2004)

  • Initial release.