# samyk/pwnat

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/samyk-pwnat).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,898 stars · 508 forks · C · GPL-3.0

## Links

- GitHub: https://github.com/samyk/pwnat
- Homepage: https://samy.pl/pwnat/
- awesome-repositories: https://awesome-repositories.com/repository/samyk-pwnat.md

## Description

pwnat is a set of software utilities designed for TCP hole punching, network tunneling, and proxy-based port forwarding to bypass network address translation restrictions. It functions as a tool for establishing direct TCP connections between hosts located behind separate network address translators without requiring manual port forwarding, DMZ configurations, or third-party servers.

The project enables peer-to-peer TCP tunnels by exploiting network address translation table properties to bypass firewalls. It provides a proxy that routes local port traffic to remote hosts and ports through penetrating tunnels, facilitating the routing of TCP services such as SSH or HTTP across restrictive network boundaries.

The system includes capabilities for symmetric NAT traversal, network service tunneling, and remote traffic routing. Security is managed through access control list filtering to restrict the destination hosts and ports accessible through the established tunnels.

## Tags

### Networking & Communication

- [TCP Hole Punching](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling/tcp-hole-punching.md) — Establishes direct peer-to-peer TCP connections by synchronizing outgoing connection attempts across different NATs.
- [Connection State Synchronization Protocols](https://awesome-repositories.com/f/networking-communication/connection-state-synchronization-protocols.md) — Uses a predefined sequence of signals to synchronize network states before attempting the direct TCP handshake.
- [Firewall Traversal Mechanisms](https://awesome-repositories.com/f/networking-communication/firewall-traversal-mechanisms.md) — Provides a utility for creating direct network paths through restrictive firewalls and NATs.
- [NAT Table Manipulation](https://awesome-repositories.com/f/networking-communication/nat-table-manipulation.md) — Exploits NAT translation table properties to force the allow-listing of unsolicited incoming TCP packets.
- [NAT Traversal](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxies/udp-tunneling/nat-traversal.md) — Coordinates packet timing and source ports to bypass restrictive symmetric NAT firewall rules.
- [Local Port Forwarding](https://awesome-repositories.com/f/networking-communication/network-port-forwarding/local-port-forwarding.md) — Forwards connections from a local port to a specified remote host and port using a traversing tunnel. ([source](https://samy.pl/pwnat/))
- [Local Port Mapping](https://awesome-repositories.com/f/networking-communication/network-port-forwarding/local-port-mapping.md) — Maps local listening ports to remote destinations for routing external traffic through a tunnel.
- [Peer-to-Peer Tunneling](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling.md) — Creates a network tunnel linking remote hosts via TCP by exploiting NAT translation table properties.
- [Port Forwarding](https://awesome-repositories.com/f/networking-communication/port-forwarding.md) — Forwards traffic from a local port to a specific remote destination across network boundaries.
- [Service Tunnels](https://awesome-repositories.com/f/networking-communication/service-tunnels.md) — Routes TCP services such as SSH or HTTP from a remote host to a local machine.
- [TCP Punchthrough Connections](https://awesome-repositories.com/f/networking-communication/webrtc-media-orchestration/peer-connectivity/nat-punchthrough-connections/tcp-punchthrough-connections.md) — Establishes direct TCP connections between clients and servers behind separate NATs without manual port forwarding. ([source](http://samy.pl/pwnat))
