A BNC (short for bouncer) is a piece of software that is used to relay traffic and connections in computer networks, much like a proxy. Using a BNC allows a user to hide the original source of the user's connection, providing privacy as well as the ability to route traffic through a specific location. A BNC can also be used to hide the true target to which a user connects.
One common usage is over Internet Relay Chat (IRC) via a BNC running on remote servers. In such an environment, where it is very easy to ascertain a user's IP address a BNC may help to hide the original connection source, as well as providing the opportunity for "vhosts" or "virtual hosts". The use of a vhost does not conceal the connection any better, but merely adds a statement as the hostname.
Many BNCs remain connected to an IRC server in the event the client should disconnect from the Internet. Often state changes are tracked so that they may be relayed to the client upon reconnection. Some implementations opt to store all messages sent across the network that the client would have normally received, and send them upon the clients reconnection; this is often considered to be much too resource dependent for commercial hosting services to provide. Other logging features and bot like functions may be included with various implementations but are not standard.
- User A logs onto IRC directly and appears as USERemail@example.com
- User A logs onto IRC indirectly through a BNC and appears as USERfirstname.lastname@example.org
A list of bouncer software.
- Bip IRC Proxy maintains a persistent connection and shows a backlog on reconnect.
- bnc is the original IRC bouncer.
- ezbounce's features include password protection, remote administration, logging and listening on multiple ports.
- JBouncer for IRC, written in Java. Supports logging.
- muh bnc is a smart and versatile irc-bouncing tool that will also go on IRC as soon as it is launched, guarding or attempting to get one's nick.
- psyBNC is said to be the oldest and most well-known IRC bouncer. It is easy to use, runs on Linux and became popular on FreeBSD, supports IPv4, IPv6, SSL, logging, multiple users and networks etc. Although psyBNC is like any other IRC proxy, it is often installed on compromised systems by the attacker.
- shroudBNC (IRC) supports SSL connections and offers a web interface. 
- ZNC (IRC) is easy to use, supports SSL connections, IPv6 and logging and offers a web interface. It is extendible by modules and scripts in C++, Python, Perl and Tcl.
- Bouncer written in Java is a generic bouncer/proxy. Supports SSL tunneling, Failover and LoadBalancing of destinations.
|This section does not cite any references or sources. (July 2011)|
BNCs are also often used for File Transfer Protocol (FTP), again to hide the user and server from each other and to route traffic through a specific location. FTP bouncers can be divided into two different categories, entry and traffic.
Entry bouncer acts as a gateway to the server, but it does not hide the existence of the actual server. Entry bouncers, like cubnc, can be used in a multi-server setup for easy access to each server and load balancing. This removes the need to select which FTP server to log in to, when trying to access the server farm.
Traffic bouncers relay traffic through the host they are installed on, and when used, it appears as the bouncer is actually the FTP server, thus hiding the real location of the server completely. Multiple traffic bouncers can be installed parallel, in order to balance traffic load across different links. Most elaborate bouncers can even bounce secure SSL/TLS connections.
- Lederer, Christian (phrozen77). (December 22, 2009). "IRC bouncer comparison". IRC-Junkie. December 22, 2009.
- Friedman, Nat (June 17, 2011). "Instant company". nat.org.
- "Linux IRC mini-HOWTO: IRC Bouncers (IRC Proxy)". The Linux Documentation Project. TLDP.org.
- "JBouncer". Jibble.org. Retrieved May 24, 2012.
- "psyBNC documentation". Ubuntu.com. Retrieved September 14, 2008.
- "irc/psyBNC". Freshports. Retrieved September 14, 2008.
- Mierau, Caspar Clemens (April 2007). "Looking for intruders with lsof" (PDF). Linux Magazine.
- "shroudBNC". shroudbnc.info.
- "Bouncer". Github. Retrieved November 2, 2012