SEOlust
Security

Open Port Checker

Scan common ports to find security risks like exposed databases, SSH, and RDP.

All tools

🔌 Open Port Checker

Check which common ports are open on your server and identify potential security risks.

⚠️ Important Notice

Only scan your own servers or servers you have permission to test. Unauthorized port scanning may be illegal in your jurisdiction and can trigger security alerts.

🔌 What Are Network Ports?

Network ports are virtual endpoints for network connections. Each service (web, email, database, SSH) runs on a specific port number. Open ports allow incoming connections, which is necessary for services to work but can be a security risk if the wrong ports are exposed.

Common Ports We Check:
🔹 80/443: Web servers (HTTP/HTTPS)
🔹 21/22: File transfer (FTP/SSH)
🔹 3306/5432: Databases (MySQL/PostgreSQL)
🔹 3389: Remote Desktop (RDP)

💡 Why Check Open Ports?

  • Security: Unnecessary open ports are attack vectors
  • Data Protection: Databases should never be publicly accessible
  • Access Control: SSH/RDP should be restricted by firewall
  • Compliance: PCI-DSS and other standards require port security

Free Open Port Checker - Scan Network Ports & Find Security Vulnerabilities

Our free Open Port Checker scans common network ports on your server to identify security vulnerabilities and unnecessary exposures. The tool tests 14 critical ports including web servers (HTTP 80, HTTPS 443), databases (MySQL 3306, PostgreSQL 5432, MongoDB 27017, Redis 6379), file transfer (FTP 21, SSH 22), remote access (RDP 3389, VNC 5900), and email (SMTP 25, 587). Get instant security assessment showing which ports are open/closed/filtered, risk level for each open port (Critical, High, Medium, Low), specific recommendations for securing exposed services, and response time measurements. Essential for server security audits, preventing unauthorized access, protecting databases from public exposure, securing remote administration, and compliance with security standards (PCI-DSS, HIPAA, SOC 2). Includes comprehensive guides for firewall configuration, IP whitelisting, service hardening, and fixing common vulnerabilities. Only scan servers you own or have permission to test.

What Are Network Ports?

Network ports are virtual endpoints that allow different services and applications to communicate over a network using unique port numbers from 1-65535. Think of ports like apartment numbers in a building - the IP address is the building address, and the port number directs traffic to the specific service (apartment) you want to reach. How ports work: Every network connection consists of IP address plus port number (example 192.168.1.1:80), server listens on specific ports for incoming connections, client connects to server's IP and port to access service, operating system routes traffic based on port numbers, firewall rules control which ports allow connections, services bind to ports (web server to 80, database to 3306). Port number ranges: Well-known ports 0-1023 are reserved for standard services like HTTP (80), HTTPS (443), FTP (21), SSH (22), assigned by IANA (Internet Assigned Numbers Authority), require root/admin privileges to bind on Unix systems; Registered ports 1024-49151 are assigned by IANA for specific services like MySQL (3306), RDP (3389), PostgreSQL (5432), commonly used by popular applications and databases; Dynamic/private ports 49152-65535 are temporary ports used by client applications for outbound connections, automatically assigned by operating system, not typically used for server listening. Common services and their standard ports: Web traffic uses HTTP on port 80 unencrypted and HTTPS on port 443 encrypted with SSL/TLS, secure web browsing requires 443 open, port 80 often redirects to 443; Database servers bind to MySQL 3306, PostgreSQL 5432, MongoDB 27017, Redis 6379, should NEVER be accessible from internet; File transfer uses FTP 21 unencrypted (insecure), SFTP 22 encrypted via SSH (secure), FTPS 989/990 encrypted with SSL; Remote administration via SSH 22 for Linux/Unix servers, RDP 3389 for Windows Remote Desktop, VNC 5900 for screen sharing; Email services use SMTP 25 for mail server to server transfer, SMTP 587 for client submission with TLS, IMAP 143/993 and POP3 110/995 for receiving email. Port security fundamentals: Open port means service is listening and accepting connections making it accessible from network, Closed port means no service listening and connections are refused with RST packet, Filtered port means firewall is blocking access and connections timeout or are dropped without response, you want critical services filtered or closed to public, only necessary services should be open to internet, administrative services should be restricted by IP whitelist. Our tool tests these critical ports to identify which are accessible from internet, flags dangerous exposures like open databases, provides risk assessment for each open port, recommends appropriate security measures, helps comply with security standards requiring port restrictions.

Why Open Ports Are Security Risks

Every open port is a potential entry point for attackers, and unnecessary open ports significantly expand your attack surface.

  • Attack Surface Expansion: Each open port provides another avenue for attackers to probe and exploit, automated scanners constantly search internet for open ports, port scans are often first step in attack reconnaissance, attackers target common vulnerable services on standard ports, reducing open ports reduces opportunities for compromise, principle of least privilege applies to network access, only services you actually use should be accessible, example: unused MySQL port 3306 open invites brute-force login attempts even if you don't need external database access
  • Database Exposure (Critical): Database ports like MySQL 3306, PostgreSQL 5432, MongoDB 27017 should NEVER be internet-accessible, databases contain all application data including user credentials and sensitive records, default database passwords commonly unchanged and well-known, attackers attempt credential stuffing with leaked password lists, NoSQL injection and SQL injection can extract entire databases, MongoDB famously left open on thousands of servers resulting in massive breaches, databases should listen only on localhost (127.0.0.1) or private network, example: 2017 MongoDB ransomware attacks targeted 27017 exposing 99000+ databases
  • Brute-Force Attacks on Admin Ports: SSH 22 and RDP 3389 are constantly targeted by automated brute-force attacks, attackers try thousands of username/password combinations per hour, weak passwords cracked in minutes or hours, compromised admin access gives attacker full server control, RDP attacks can leverage known Windows vulnerabilities, SSH with weak keys or passwords easily compromised, recommend disabling password auth for SSH use key-based only, change default ports and implement fail2ban to block attackers, example: RDP attacks increase 300%+ during major events when attention elsewhere
  • Information Disclosure: Port scanning reveals technology stack and potential vulnerabilities, banner grabbing shows software versions with known exploits, open FTP might leak directory structure and file names, email ports reveal mail server software, service fingerprinting identifies exact versions to target, older unpatched services discoverable through version disclosure, attackers build profile of your stack to plan targeted attacks, example: Apache 2.4.29 banner reveals you need to patch ShellShock vulnerability
  • DDoS Amplification: Certain open ports can be abused for DDoS amplification attacks, NTP 123, DNS 53, SSDP 1900 commonly exploited, attackers spoof victim IP and send requests to your server, your server sends large responses to victim amplifying attack, you become unwitting participant in attack infrastructure, ISP may null-route your IP if used for amplification, implement BCP38 and response rate limiting, example: NTP amplification factor can be 500x turning 1 Gbps to 500 Gbps
  • Lateral Movement After Breach: Once attacker gains initial access through one vulnerability, open internal ports enable lateral movement to other systems, database ports allow access to all data, file sharing ports provide document access, admin ports enable privilege escalation, attackers pivot through network using exposed services, segmentation and internal firewall rules critical, zero trust model assumes breach and restricts movement, example: attacker compromises web server then uses open MySQL to access database
  • Compliance Violations: PCI-DSS requires restricting port access for payment systems, HIPAA mandates protecting electronic health information, SOC 2 audits check firewall rules and port security, open administrative ports fail security questionnaires, annual penetration tests flag unnecessary exposures, insurance requirements increasingly include port security, regulatory fines possible if breach traced to open port, example: PCI-DSS requirement 1.3 prohibits direct public access to cardholder data

How to Use the Open Port Checker

Scanning your server for open ports helps identify security vulnerabilities before attackers find them.

  • Enter domain or IP address: Input your server's domain name or IP address in the form field, works with domains (example.com) or IP addresses (192.168.1.1), automatically handles both IPv4 and IPv6 addresses, tests from external perspective showing internet-visible ports, use your public IP not localhost to see real exposure, only scan servers you own or have permission to test, unauthorized scanning may be illegal in your jurisdiction
  • Click Check Ports button: Tool initiates connection tests to 14 common critical ports, each port tested with 3-second timeout to avoid hanging, tests run sequentially to avoid overwhelming server, measures response time for each port connection, determines if port is open, closed, or filtered by firewall, entire scan completes in under 60 seconds, results show real-time port accessibility from internet
  • View overall security assessment: Large visual indicator shows overall risk level based on findings, Critical Risk if database or admin ports open to public, High Risk if insecure protocols like FTP accessible, Medium Risk if unnecessary alternate ports exposed, Low Risk if only standard web ports open, color-coded (red critical, orange high, yellow medium, blue low, green safe), immediate understanding of security posture
  • Check open ports list: Each open port displayed with detailed information, shows port number and service name (Port 3306 - MySQL), displays service description and what it's used for, indicates risk level specific to that service, provides response time measurement in milliseconds, explains why port being open might be concerning, lists security recommendations for that specific port, links to relevant security documentation
  • Review closed ports: Ports properly secured shown in collapsible section, confirms firewall or service correctly blocking access, closed critical ports are good sign of security, validates security configuration working as intended, helps verify changes after hardening, shows which services not running or properly restricted, useful baseline for future comparisons
  • Read security recommendations: Specific actionable advice based on your open ports, critical warnings for dangerous exposures like databases, firewall configuration examples for your situation, IP whitelisting instructions for administrative access, guidance on disabling unnecessary services, compliance requirements related to open ports, step-by-step hardening procedures
  • Copy or download report: Copy button places full report on clipboard, download saves comprehensive analysis as text file, includes all open and closed ports with details, contains specific recommendations for your configuration, suitable for security audit documentation, share with team or security professionals, track changes over time by saving regular scans

Critical Ports That Should Be Closed

Certain ports should almost never be accessible from the public internet due to severe security implications.

  • Database Ports - CRITICAL: MySQL port 3306 should only listen on localhost 127.0.0.1 never 0.0.0.0, PostgreSQL 5432 must be restricted to application servers only via firewall, MongoDB 27017 notorious for breaches when left publicly accessible, Redis 6379 often has no authentication by default and contains cached data, Microsoft SQL Server 1433 and 1434 targets of automated attacks, Memcached 11211 can be exploited for DDoS amplification, databases contain most valuable data and credentials, configure bind-address to localhost in database config file, use SSH tunnel or VPN for remote admin access, whitelist only application server IPs in firewall, example fix: MySQL my.cnf set bind-address = 127.0.0.1
  • Remote Desktop Protocol 3389 - CRITICAL: RDP is #1 target for ransomware attacks, constantly bombarded with brute-force login attempts, Windows vulnerabilities like BlueKeep allow remote code execution, attackers can access full Windows desktop if compromised, should only be accessible via VPN never directly from internet, if must be public use strong passwords and Network Level Authentication, change default port and implement account lockout policies, use jump box or bastion host for administrative access, example: 2019 BlueKeep vulnerability affected 1 million RDP servers
  • SSH Port 22 - CRITICAL: Secure Shell provides root access to Linux/Unix servers, automated bots continuously attempt SSH brute-force, weak passwords cracked in hours, compromise gives attacker complete control, MUST use key-based authentication disable password auth, restrict to specific IP addresses via firewall rules, use fail2ban to block repeated login attempts, consider changing default port (security through obscurity), example fix: sshd_config set PasswordAuthentication no and PubkeyAuthentication yes
  • FTP Port 21 - HIGH RISK: File Transfer Protocol transmits passwords in plain text unencrypted, credentials easily intercepted through packet sniffing, FTP bounce attacks can probe internal network, anonymous FTP often misconfigured allowing uploads, modern alternatives like SFTP and FTPS much more secure, disable FTP entirely use SFTP (port 22) instead, if required use FTPS with SSL/TLS encryption, restrict IP addresses and use strong credentials, example: replace vsftpd with SFTP via SSH
  • Telnet Port 23 - CRITICAL: Ancient protocol transmits everything including passwords unencrypted, completely obsolete replaced by SSH, should never be used for anything ever, if detected disable immediately and install SSH, attackers use Telnet for IoT device botnets, Mirai botnet specifically targeted Telnet 23, absolutely no legitimate use case for Telnet today, example: Mirai infected 600000 devices via Telnet defaults
  • SMTP Port 25 - MEDIUM RISK: Open SMTP relay can be abused to send spam, port 25 should only accept mail from authorized servers, configure SPF, DKIM, DMARC to prevent spoofing, modern submission should use 587 with TLS instead, open relay gets your IP blacklisted rapidly, implement authentication for outbound mail, rate limit to prevent abuse, example: check if open relay with telnet test
  • VNC Ports 5900-5909 - HIGH RISK: Virtual Network Computing often has weak or no authentication, transmits unencrypted by default without VNC over SSH, provides full desktop access like RDP, many VNC servers use same default password, should only be used over VPN or SSH tunnel, better to use SSH X11 forwarding for remote GUI, commercial alternatives like TeamViewer more secure, example: use ssh -L 5900:localhost:5900 for VNC tunneling
  • Elasticsearch 9200 - CRITICAL: Elasticsearch with no authentication exposes all indexed data, attackers can query and exfiltrate entire database, ransomware specifically targets exposed Elasticsearch, default installation has no security (fixed in 8.0+), must enable X-Pack security or restrict via firewall, only application servers should access directly, use reverse proxy with authentication for external access, example: 2020 attacks deleted data from 4500+ exposed instances

How to Secure Open Ports

Properly securing network ports requires multiple layers of defense from firewall rules to service hardening.

  • Configure Firewall Rules: Use iptables (Linux) ufw (Ubuntu) firewalld (CentOS) or cloud provider firewall, default deny all incoming connections except explicitly allowed, allow only necessary ports (typically 80 and 443 for web), drop packets rather than reject to avoid information disclosure, log blocked connection attempts for monitoring, example iptables: iptables -A INPUT -p tcp --dport 22 -j DROP
  • Implement IP Whitelisting: Restrict administrative ports to known IP addresses only, SSH RDP and databases should allow only office/VPN IPs, use CIDR notation for IP ranges (192.168.1.0/24), update whitelist when remote IP changes, consider dynamic DNS for home office IPs, test rules before saving to avoid locking yourself out, example: iptables -A INPUT -p tcp -s 203.0.113.0/24 --dport 22 -j ACCEPT
  • Use VPN for Remote Access: OpenVPN WireGuard or commercial VPN for secure remote administration, all admin traffic tunneled through encrypted VPN connection, database and SSH access only via VPN no direct internet, split-tunnel or full-tunnel configuration based on security needs, VPN provides additional authentication layer, monitor VPN logs for suspicious connections, example: WireGuard configuration for secure admin access
  • Change Default Ports (Limited Value): Changing SSH from 22 to custom port reduces automated attacks, not real security but decreases noise and failed login attempts, security through obscurity not sufficient alone, combine with other measures like key auth and fail2ban, RDP can move from 3389 to custom high port, attackers still find with port scan but reduces drive-by attacks, document custom ports for team knowledge, example: sshd_config change Port 22 to Port 2222
  • Enable Host-Based Firewalls: Every server should run local firewall independent of network firewall, defense in depth principle assumes network firewall can be bypassed, Windows Firewall ufw firewalld or iptables on every host, restrict inter-server communication to necessary services, log all dropped packets for incident response, test firewall rules thoroughly before production, example: ufw allow from 10.0.0.0/8 to any port 3306
  • Implement Fail2Ban or Similar: Automatically ban IPs after repeated failed login attempts, SSH and RDP primary use cases for fail2ban, configure bantime jails for different services, whitelist your own IPs to avoid locking yourself out, monitor fail2ban logs to identify attack patterns, combine with geographic IP blocking if appropriate, example: fail2ban jail for SSH blocks after 3 failed attempts for 1 hour
  • Service-Level Security: Configure services to listen only on necessary interfaces (localhost vs all), MySQL bind-address 127.0.0.1 prevents external connections, disable unnecessary service features and modules, use strong authentication for all services (complex passwords or keys), keep software updated with security patches, run services as non-privileged users when possible, example: PostgreSQL listen_addresses = 'localhost' in postgresql.conf
  • Use Service-Specific Authentication: Database require strong passwords complex 16+ characters, SSH use key-based authentication disable password login entirely, RDP require Network Level Authentication and certificates, VPN use multi-factor authentication for connections, Web services implement OAuth or strong session management, FTP if used must have strong passwords and TLS, example: ssh-keygen -t ed25519 for SSH key generation
  • Monitor and Alert: Implement intrusion detection system IDS like Snort or Suricata, SIEM tools aggregate logs for analysis (Splunk ELK stack), alert on port scan attempts against your servers, monitor for successful connections to unusual ports, log all connection attempts to admin ports, review logs regularly or automate with scripts, example: configure Suricata rules for database port access alerts
  • Regular Security Audits: Scan ports monthly with this tool or nmap, penetration testing at least annually, vulnerability scanning with OpenVAS or Nessus, review firewall rules quarterly for accuracy, check for new services listening on unexpected ports, audit user accounts with admin access, compliance scans for PCI HIPAA SOC2, example: nmap -sS -sV -O -p- yourserver.com
  • Disable Unnecessary Services: List all running services and stop unneeded ones, systemctl list-units on Linux or Services on Windows, disable services that auto-start on boot, uninstall packages you don't use, reduces attack surface and resource usage, fewer services means fewer ports to secure, example: systemctl disable apache2 if not running web server
  • Use SSH Tunneling for Databases: Access remote databases through SSH tunnel rather than open port, ssh -L 3306:localhost:3306 user@server for MySQL, application connects to localhost:3306 which tunnels to remote, database never exposed to internet, works for any service that listens on localhost, slightly slower but massively more secure, example: use SSH tunnel in database GUI tools like MySQL Workbench

Pro Tip

The most secure configuration is having ONLY ports 80 (HTTP) and 443 (HTTPS) open to the internet, with all administrative and database access requiring VPN connection first. This dramatically reduces attack surface while maintaining full functionality: web servers on 80/443 serve public traffic normally, administrators connect to VPN before accessing SSH/RDP/databases, VPN provides authentication layer before accessing admin services, attackers cannot even reach SSH/database ports without VPN credentials, failed VPN attempts logged and blocked automatically, even if SSH password weak it doesn't matter without VPN access. Set up firewall rules that allow 80/443 from anywhere (source 0.0.0.0/0) but restrict all other ports to VPN subnet only (source 10.8.0.0/24 for OpenVPN example). Configure databases to listen on localhost only (127.0.0.1) or private network interface, use SSH tunneling for remote database administration where you ssh into server then connect to localhost, or set up jump box/bastion host that's only server with both internet and database access requiring VPN for jump box then SSH from jump box to database server. For SSH specifically disable password authentication entirely in sshd_config with PasswordAuthentication no and PubkeyAuthentication yes, use ED25519 or RSA 4096-bit keys, set PermitRootLogin no and create sudo user instead, implement fail2ban to ban IPs after 3 failed attempts, consider port knocking or fwknop for additional obscurity, use SSH certificates instead of keys for large deployments. Change default RDP port from 3389 to high port (50000+) which eliminates 99% of automated attacks, require Network Level Authentication (NLA) in Windows, implement account lockout policy after 3 bad passwords, use RDP Gateway for additional authentication layer, consider Remote Desktop Services Gateway for enterprise, disable RDP entirely if not needed and use VPN + SSH + X forwarding instead. For databases verify bind-address in my.cnf (MySQL) or listen_addresses in postgresql.conf set to localhost, test from external network to confirm connection refused, use SSH tunnel with ssh -L for remote access, implement strong passwords 20+ random characters, enable MySQL general_log temporarily to audit connections, rotate database credentials quarterly, use different passwords per environment (dev/staging/prod). Cloud hosting (AWS, Azure, GCP) has Security Groups or Firewall Rules that should be configured to allow 80/443 from 0.0.0.0/0 but all other ports only from your office IP or VPN subnet, use principle of least privilege for security group rules, document why each rule exists for audit trail, review and remove unused rules quarterly, use terraform or CloudFormation to codify firewall rules, implement AWS Systems Manager Session Manager for bastion-less admin access. Run port scans against your servers monthly using this tool or nmap -sV -sC -O -p- to catch configuration drift, new services installed by packages, compromised systems opening backdoor ports, schedule automated scans and alert on changes, compare results to baseline to identify new exposures, document approved open ports for team knowledge, use tools like Shodan.io to see what attackers see from internet. Remember that perfect security means minimizing attack surface - every open port is a risk even if properly configured, compromised application on port 80 can lead to lateral movement, services have vulnerabilities discovered regularly requiring patching, zero-day exploits bypass even best configurations, defense in depth assumes breach and limits damage, combine port security with application security hardening intrusion detection and monitoring.

FAQ

What ports should be open on my server?
For a typical web server, only ports 80 (HTTP) and 443 (HTTPS) should be open to the internet. All administrative ports like SSH (22), databases (3306, 5432), and RDP (3389) should be restricted to specific IPs or accessible only via VPN.
Why is my database port open and how do I close it?
Database ports are often open due to default configuration listening on all interfaces (0.0.0.0). Close it by editing the database config file (my.cnf for MySQL, postgresql.conf for PostgreSQL) and setting bind-address to 127.0.0.1 (localhost only), then restart the database service.
Is port scanning legal?
Scanning your own servers is legal. Scanning others' servers without permission may violate computer fraud laws and terms of service. Only use this tool to scan servers you own or have explicit written permission to test. Unauthorized scanning can result in legal action.
What does filtered vs closed mean?
Closed means no service is listening and the server actively refuses connections (sends RST packet). Filtered means a firewall is blocking the port and drops packets without responding (connection times out). Filtered is generally better as it provides less information to attackers.
Should SSH port 22 be open?
SSH should NOT be open to the entire internet. Restrict it to your office IP or VPN subnet using firewall rules. If you must allow global access, use key-based authentication only (disable passwords), change the default port, and implement fail2ban to block brute-force attempts.
How do I close open ports?
Close ports by: (1) stopping the service listening on that port, (2) configuring the service to listen only on localhost (127.0.0.1), or (3) blocking the port with firewall rules (iptables, ufw, or cloud security groups). The best approach depends on whether you need the service.
What is the difference between TCP and UDP ports?
TCP ports use connection-oriented protocol requiring handshake (more common for servers). UDP ports use connectionless protocol without handshake (used by DNS, VPN). Our tool checks TCP ports which cover most security-critical services. UDP requires different scanning techniques.
Why does the scan take time?
Each port test waits up to 3 seconds for response to determine if open, closed, or filtered. Testing 14 ports can take 30-60 seconds total. Timeouts happen when firewall drops packets silently rather than refusing connection, which is actually good for security (filtered).
Can I test specific ports not in the default list?
This tool tests the 14 most critical common ports for security assessment. For comprehensive scanning of specific ports or port ranges, use command-line tools like nmap which offer full control but require technical knowledge and server access to install.
What if I need a port open for legitimate reasons?
Some services require open ports (web servers need 80/443, mail servers need 25/587). The key is: (1) only open ports you actually use, (2) implement service-level security (authentication, TLS), (3) restrict by IP when possible, and (4) monitor for attacks.
How often should I scan my ports?
Scan monthly or after any configuration change. New software installations, package updates, and system changes can open unexpected ports. Regular scanning catches configuration drift before attackers find it. Schedule automated scans and alert on changes from baseline.
Will this scanning trigger security alerts?
Port scanning from this tool is gentle (one port at a time with timeouts) and shouldn't trigger alerts. However, intrusion detection systems (IDS) may log the scan. If you have security monitoring, you might see logs from your scan. This is normal and not a concern when scanning your own servers.

Related tools

Pro tip: pair this tool with Security Header Strength Checker and Exposed Admin Path Detector for a faster SEO workflow.