PC Port Forwarding



    • Version: 3.94
    • Supported OSes:
      Windows XP SP3, 2003, Vista, 2008, 2008 R2*, 7, 8, 8.1*, Server 2012, Server 2012 R2*

    • NOTE: The Basic (free) edition has to be activated with a free serial key. See the product edition chart for details.

  • port fortwarding rules list

Technical Specifications

Latest release 3.94 , 27 Apr 2015 , [Change Log, Previous Releases]
Supported networking Ethernet, IPv4, IPv6, TCP, UDP.
Traffic transformation engine Kernel-mode network driver.
Prerequisites none
Supported OSes Windows XP SP3, 2003, Vista,2008,2008 R2*,7*,8,8.1*,Server 2012,Server 2012 R2*

*For Windows 2008 R2 and 7, required Service Pack 1 + KB3033929 (SHA-2 digital signing).
*For Windows 8.1, Server 2012 R2, required KB2995730.
Recommended hardware CPU 1GHz and above, modern graphics card.
Additional hardware required none

Summary

No hassle PC-only TCP/UDP port forwarding (translation) and reflection is transparent for any application on the OS. Unlike other software, PC-Port-Forwarding performs everything on a Windows® PC without any additional hardware or complicated setups of various components. This application does everything automatically with the high performance and intuitive user interface.

port forwarding list with incoming and outgoing network filters

Port Forwarding Overview

Port forwarding functionality is similar to the network address translation (NAT) except that it performs translation of only the port numbers. To illustrate the concept, two computers on the Internet that communicate with each other using TCP/IP or UDP/IP protocols utilize ports to identify the opposite connection points of each other where the data packets supposed to go to. In order to communicate, each computer knows the port of another computer (in addition to IP address) and sends the data to that port. The PC-Port-Forwarding forwards these ports in such a way that when one computer sends data to the specific port of another computer, the data is actually sent to a different port. This port forwarding is performed transparently for all applications. So, the applications don’t even notice that such forwarding ever occurred.

An example scenario for the incoming port forwarding: When a remote computer sends traffic to the local computer to the specific port (lets say, HTTP port 80), PC-Port-Forwarding can be configured to forward/re-map the destination port 80 to the port the user specifies in PC-Port-Forwarding rules (for example, port 8080). Thus any application on the local computer listening on the port 8080 will be receiving the data from the remote computer which sent the data to the port 80.

Traffic Reflection Overview

In addition to port forwarding, PC-Port-Forwarding can perform traffic reflection, but only for the outgoing traffic. That is when an application on the local computer is sending data to a remote server, PC-Port-Forwarding forwards ports and loops all the data back to the local computer. So, the application that sends the data can be talking to another application on the same local computer while believing it communicates with the remote server.

It is important to note that although the traffic reflection loops traffic back to the local computer, the remote server must have an IP address reachable from the local computer. In other words, the local computer must be able to determine which route to use for sending data to the remote server. Consequently, when the remote server is located on the same subnet as the local computer, that remote server should be up and running in order to indicate to the local computer that its IP address can be reached directly. Remote servers on other subnets reachable via a gateway do not have that requirement for traffic reflection.

An example scenario for the traffic reflection: When an application (for example, a web browser) on the local computer sends a request to the port 80 of a remote server, PC-Port-Forwarding forwards port and loops the data back to, for example, the local port 8111. If the local computer has a web server or some other application listening on the port 8111, then the web browser will be communicating with that local web server instead of the remote server. And once again, the web browser would not know that it communicates with the local web server. For computers with multiple IP addresses (multihomed), reflection will send the traffic back to the IP address the traffic came from.

Working with PC Port Forwarding

The operation of PC-Port-Forwarding is based on rules. Rules can be added and removed from the spreadsheet in the main window. Adding/removing/editing rules can be done via Action menu or with the right mouse click on the spreadsheet.

PC-Port-Forwarding uses destination port as a base for internal port forwarding calculations. The destination port range is displayed in the spreadsheet in the column “Dst Port Range” and tells PC-Port-Forwarding which ports are to be forwarded. For the outgoing traffic, destination port range is a range of ports on the remote server. For the incoming traffic, the destination port range is on the local computer. The resulting after translation port(s) is displayed in the column “Translate to Port(s)”. The port range can be forwarded to a single port (merge operation) or to another port range (shift operation). For translation of port range into a single port, 'Translate to Port(s)' would specify the port the all ports from range are forwarded to. While for the forwarding of port range into another port range, 'Translate to First Port' specifies the lowest port of the range to translate to.

Once all necessary rules are created, they needed to be submitted to the re-mapping engine using Apply button. To stop already applied rules from performing, submit an empty spreadsheet or a spreadsheet with all rules disabled. Whenever new set of rules is applied, the previous one is discarded from the re-mapping engine.

port forwarding Actions menu

Adding and editing rules is as simple as 1-2-3. First of all, the dummy rule needed to be added using the Action menu. Then its properties needed to be edited.

  • Every rule has its unique ID which is assigned automatically when the rule is created. It cannot be changed.

  • Each rule can be enabled or disabled. Disabled rules have no effect. All rules are created as disabled.

  • Traffic Direction indicates which traffic direction to analyze when looking for Dst Port Range. When a connection is initiated from the local computer to an external server - it is outgoing direction. When a remote computer accesses the local computer - it is incoming direction.

  • Dst Port Range specifies the destination port range to analyze. When the traffic is incoming (coming from a remote computer) the destination port range is located on the local computer. For the outgoing traffic, the destination port range is on the remote server.

  • Translate to First Port specifies the first port that the lowest port from the Dst Port Range will become after the port forwarding is performed.

  • Translated Coverage specifies the forwarding of a range of ports to a Single Port (merging) or to a Port Range (shifting).

  • And finally, Traffic Reflection can be either enabled of disabled. For simple port forwarding (when reversal in traffic direction is not needed) it should be disabled. If it is enabled, the outgoing traffic from the local computer will be routed/sent back to the local computer without ever hitting the actual network.

port forwarding rule properties

PC-Port-Forwarding offers notifications for forwarding and reflection actions performed. Notifications are issued only once during connection establishment. After changing notification settings, rules are needed to be re-applied by clicking Apply button.

port forwarding rules list with Notification menu

The created set of rules can be saved to or loaded from a file.

port forwarding rules list with File menu



Tutorial Video



Notes:
* Windows® is a registered trademark of the Microsoft Corporation.