PC Port Forwarding
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 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.
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.
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.
The created set of rules can be saved to or
loaded from a file.
Tutorial Video
Notes:
* Windows® is a registered
trademark of the Microsoft Corporation.