Port 1723 (PPTP)

TCP

Point-to-Point Tunneling Protocol — PPTP listens on port 1723 by default.

What is Port 1723?

Port 1723 is used by PPTP (Point-to-Point Tunneling Protocol), one of the earliest VPN protocols developed by Microsoft, Ascend Communications, and others in 1999 (RFC 2637). PPTP establishes a control channel on TCP port 1723 for connection management, while the actual VPN data tunnel uses GRE (Generic Routing Encapsulation, IP protocol 47).

PPTP was widely adopted because it was built into every version of Windows since Windows 95 OSR2, required no additional client software, and was simple to configure. The protocol encapsulates PPP (Point-to-Point Protocol) frames within GRE packets, creating a tunnel between the client and server.

PPTP supports authentication via MS-CHAPv2 (Microsoft Challenge Handshake Authentication Protocol version 2) and encryption via MPPE (Microsoft Point-to-Point Encryption) using the RC4 stream cipher with 40-bit or 128-bit keys.

Security Warning: PPTP is cryptographically broken and should not be used for any security-sensitive applications. MS-CHAPv2 can be cracked in under 24 hours, and MPPE encryption depends on the compromised MS-CHAPv2 handshake. Microsoft, NIST, and all major security organizations recommend migrating to modern VPN protocols.

PPTP vs Modern VPN Protocols

Feature PPTP OpenVPN WireGuard IKEv2/IPsec
Port TCP 1723 + GRE UDP/TCP 1194 UDP 51820 UDP 500, 4500
Encryption MPPE (RC4, broken) AES-256-GCM ChaCha20-Poly1305 AES-256-GCM
Security Broken Strong Strong Strong
Speed Fast (low overhead) Moderate Very fast Fast
NAT Traversal Problematic (GRE) Excellent Excellent Built-in (NAT-T)
Mobile Support Built into older OS App required App required Native (iOS/Android)
Codebase Proprietary ~100,000 lines ~4,000 lines OS kernel

Recommendation: For new deployments, use WireGuard for best performance, IKEv2/IPsec for mobile devices (native OS support), or OpenVPN for maximum compatibility and firewall bypass capability (can run on TCP 443).

Why PPTP Is Insecure

MS-CHAPv2 Authentication Is Broken: In 2012, security researcher Moxie Marlinspike demonstrated that MS-CHAPv2 can be reduced to cracking a single DES key. Using the tool chapcrack, any MS-CHAPv2 handshake can be converted to a single DES challenge, which can be brute-forced in under 24 hours using FPGA hardware or online services like CloudCracker. This means any PPTP password, regardless of complexity, can be recovered.

MPPE Encryption Depends on MS-CHAPv2: MPPE derives its encryption keys from the MS-CHAPv2 handshake. Since MS-CHAPv2 is broken, the MPPE encryption keys are also compromised. Additionally, MPPE uses RC4, which has known biases and vulnerabilities (the same weaknesses that led to WEP being deprecated in WiFi).

No Perfect Forward Secrecy: PPTP does not support Perfect Forward Secrecy (PFS). If the master key is compromised, all past and future sessions can be decrypted. Modern protocols like WireGuard and IKEv2 use ephemeral key exchange to ensure that compromising one session does not affect others.

GRE Tunnel Vulnerabilities: The GRE encapsulation used by PPTP does not provide integrity protection, making it susceptible to bit-flipping attacks. GRE is also problematic for NAT traversal, as many consumer routers and firewalls do not properly handle GRE passthrough, causing connection failures.

Known CVEs: Multiple critical vulnerabilities have been found in PPTP implementations, including buffer overflows in Microsoft's PPTP implementation (MS09-063), authentication bypasses, and denial-of-service attacks against the PPTP control channel on port 1723.

Migration Guide: PPTP to Modern VPN

If you are still running PPTP on port 1723, here is a step-by-step approach to migrate to a secure alternative:

Step 1: Choose a Replacement Protocol

Step 2: Deploy the New VPN Server

Example WireGuard setup on Ubuntu/Debian:

# Install WireGuard
apt install wireguard

# Generate server keys
wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key

# /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server-private-key>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <client-public-key>
AllowedIPs = 10.0.0.2/32

Step 3: Migrate Clients and Close Port 1723

Port 1723 Configuration

Windows (Built-in PPTP Client)

Windows still includes a PPTP client in Settings > Network > VPN. To connect:

# PowerShell: Create PPTP VPN connection
Add-VpnConnection -Name "Legacy VPN" `
  -ServerAddress "vpn.example.com" `
  -TunnelType Pptp `
  -AuthenticationMethod MSChapv2 `
  -EncryptionLevel Required

# Connect
rasdial "Legacy VPN" username password

Linux (pptpd Server)

# /etc/pptpd.conf (NOT recommended for production)
option /etc/ppp/pptpd-options
localip 10.0.0.1
remoteip 10.0.0.100-200

# /etc/ppp/pptpd-options
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8

# Firewall: allow TCP 1723 + GRE
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
Do not deploy new PPTP servers. The configuration above is provided only for understanding existing legacy systems. Always use WireGuard, IKEv2/IPsec, or OpenVPN for new deployments.

How to Check Port 1723

Remote Scanning

To check if port 1723 is open on a remote host:

Local Listening Check

To check if port 1723 is listening on your local machine:

Note: PPTP requires both TCP port 1723 and GRE (IP protocol 47) to function. If port 1723 is open but GRE is blocked, PPTP connections will fail during the data tunnel phase.

Troubleshooting Port 1723

Connection refused: The PPTP server (pptpd) is not running. Check with systemctl status pptpd on Linux or verify the Routing and Remote Access Service (RRAS) is running on Windows Server.

Connection drops after authentication: GRE (protocol 47) is blocked by a firewall or NAT device. Many consumer routers don't support GRE passthrough. Enable GRE passthrough in router settings or switch to a VPN protocol that doesn't use GRE (OpenVPN, WireGuard).

Error 619 (Windows): The connection could not be established. Common causes: firewall blocking port 1723 or GRE, ISP blocking PPTP traffic, or a double NAT situation preventing GRE passthrough.

Error 807 (Windows): Network connection between your computer and the VPN server was interrupted. Check internet connectivity, verify the PPTP server is reachable on port 1723, and ensure no intermediate firewall is blocking GRE.

Authentication failures: Verify MS-CHAPv2 is enabled on both client and server. Check that the username/password is correct in /etc/ppp/chap-secrets (Linux) or Active Directory (Windows). Note that EAP-TLS is not supported by PPTP.

Slow performance: PPTP uses single-threaded encryption (MPPE/RC4) which cannot utilize modern multi-core CPUs efficiently. Consider WireGuard, which achieves near-wire-speed performance using modern parallel cryptography (ChaCha20-Poly1305).

Related Ports

Frequently Asked Questions

What is port 1723 used for?
Port 1723 is used by PPTP (Point-to-Point Tunneling Protocol), one of the earliest VPN protocols developed by Microsoft in 1999. It establishes a control channel on TCP port 1723, while the actual VPN data tunnel uses GRE (Generic Routing Encapsulation, IP protocol 47). PPTP is considered deprecated due to critical security vulnerabilities in its authentication and encryption.
Is PPTP (port 1723) secure?
No. PPTP is not secure and should not be used for any sensitive communications. Its authentication protocol MS-CHAPv2 can be cracked to a single DES key in under 24 hours using tools like chapcrack. Its encryption (MPPE) uses RC4 which has known weaknesses, and the key derivation depends on the already-broken MS-CHAPv2 handshake. Both Microsoft and security researchers recommend migrating to WireGuard, IKEv2/IPsec, or OpenVPN.
What should I use instead of PPTP?
WireGuard (port 51820/UDP) offers the best performance with modern cryptography and a minimal codebase (~4,000 lines). IKEv2/IPsec (ports 500, 4500/UDP) provides excellent mobile support with native iOS/Android integration and automatic reconnection. OpenVPN (port 1194 or 443) is the most widely deployed with strong security and can bypass most firewalls when running on TCP 443.
Why do some organizations still use PPTP?
Some organizations still use PPTP due to legacy system compatibility, built-in Windows support without additional software, simple configuration, and low overhead making it fast for non-sensitive traffic. However, it should only be used when no security is required (e.g., geo-unblocking non-sensitive content) and never for protecting confidential data, credentials, or financial information.
How do I check if port 1723 is open?
Use nmap -sV -p 1723 hostname to scan remotely and identify PPTP, nc -zv hostname 1723 for a quick TCP test, ss -tlnp | grep 1723 to check locally on Linux, or Test-NetConnection -ComputerName hostname -Port 1723 in Windows PowerShell. Remember that PPTP also requires GRE (protocol 47) to be allowed through firewalls.
How do I migrate from PPTP to WireGuard?
Install WireGuard on the server, generate key pairs with wg genkey and wg pubkey, configure the WireGuard interface with the server's private key and client public keys, set up firewall rules for UDP port 51820, distribute client configurations, run both protocols in parallel during transition, then disable PPTP and close port 1723 and GRE at the firewall.

🔍 Check Your IP Address

While you're here, find out your public IP address, location, and ISP details instantly.

Check My IP →