• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Net/H01-Apr-2004-410347

pbnc.cfgH A D01-Apr-20041.9 KiB6152

pbnc.plH A D01-Apr-20047.2 KiB268189

pbnc.readmeH A D01-Apr-20041.5 KiB5639

pbnc.readme

1pbnc - a simple userspace port bouncer
2--------------------------------------
3pbnc runs in userland and acts as a simple TCP port forwarder.
4It  has  a  single-threaded design  (uses  select(),  does not
5fork). It can handle multiple targets with an unlimited number
6of clients (at least in theory), and supports simple  IP-based
7access control. Since pbnc works on network level, it does not
8care  about  the  application  protocol.  It  can  tunnel  FTP
9(control connection), SSH, HTTP and all other protocols  using
10TCP  communication.  Application-level  SSL/TLS  encryption is
11also no problem.
12
13I came  up with  this little  script when  I needed to forward
14ports on a machine without root privileges. If you have  root,
15use kernel-level bouncing instead (iptables under Linux).
16
17
18Prerequisites
19-------------
20You need Perl with the following modules installed:
21
22o IO::Socket::INET (included in default install)
23o IO::Select (included in default install)
24o POSIX (included in default install)
25o Net::Netmask
26
27Since Net::Netmask is  not installed with  perl by default,  I
28have included it in the tarball (Net/Netmask.pm).
29
30
31Configuration
32-------------
33Edit pbnc.cfg. It contains a commented sample configuration.
34
35
36Usage
37-----
38Command line parameters:
39
40./pbnc.pl <CONFIGFILE> [debug]
41
42Example:
43
44./pbnc.pl pbnc.cfg
45
46When  using  "debug",  pbnc will  not  fork  and instead  spit
47verbose output on the terminal.
48
49
50License
51-------
52pbnc.pl is released under BSD license.
53
54(c) Tom Kistner aka duncanthrax 2004
55    <tom@duncanthrax.net>
56