Skip to main content

Check Port Open

Test port connectivity, verify service availability, and troubleshoot network issues.

What is Port Checking?

Ports are virtual endpoints for network connections. The Check Port Open tool helps you:

Test Connectivity - Check if ports are accessible
Verify Services - Confirm services are running
Troubleshoot - Diagnose network issues
Security Audit - Find open ports
Validate Config - Test firewall rules

Accessing Check Port Open

From Web Tools Tab

  1. Open any host connection
  2. Click "Web Tools" tab
  3. Select "Check Port Open" from left menu

Interface Overview

┌────────────────────────────────────────────────────┐
│ Check Port Open │
├────────────────────────────────────────────────────┤
│ Host: │
│ ┌──────────────────────────────────────────┐ │
│ │ example.com │ │
│ └──────────────────────────────────────────┘ │
│ │
│ Port: │
│ ┌──────────────────────────────────────────┐ │
│ │ 443 │ │
│ └──────────────────────────────────────────┘ │
│ [Check Port] │
├────────────────────────────────────────────────────┤
│ Result: │
│ │
│ ✓ Port 443 is OPEN on example.com │
│ │
│ Response Time: 42ms │
│ Service: HTTPS (Web Server) │
│ Status: Accessible │
└────────────────────────────────────────────────────┘

How to Use

Step 1: Enter Host

Enter hostname or IP address:

example.com
192.168.1.100
2001:db8::1
www.example.com

Step 2: Enter Port

Enter port number (1-65535):

Common ports:
80 (HTTP)
443 (HTTPS)
22 (SSH)
3306 (MySQL)

Step 3: Execute Check

Click "Check Port" or press Enter

The tool will:

  1. Resolve hostname to IP
  2. Attempt TCP connection
  3. Measure response time
  4. Report status (open/closed/filtered)
  5. Identify common services

Step 4: Interpret Results

✓ Port OPEN

  • Port is accessible
  • Service is listening
  • Firewall allows connection

✗ Port CLOSED

  • Port is not listening
  • Service not running
  • Connection refused

? Port FILTERED

  • Firewall may be blocking
  • No response received
  • Cannot determine state

Common Ports

Web Servers

80 - HTTP

Service: Web server (unencrypted)
Common: Apache, Nginx, IIS

443 - HTTPS

Service: Web server (encrypted)
Common: All modern websites

8080 - HTTP Alternate

Service: Alternative HTTP port
Common: Development servers, proxies

8443 - HTTPS Alternate

Service: Alternative HTTPS port
Common: Admin panels, APIs

Remote Access

22 - SSH

Service: Secure Shell
Use: Remote server access
Security: Keep closed except from trusted IPs

23 - Telnet

Service: Telnet (insecure)
Use: Legacy remote access
Security: DISABLE (use SSH instead)

3389 - RDP

Service: Remote Desktop Protocol
Use: Windows remote desktop
Security: Keep closed except from trusted IPs

5900 - VNC

Service: Virtual Network Computing
Use: Remote desktop
Security: Use VPN or SSH tunnel

Mail Servers

25 - SMTP

Service: Mail sending
Use: Server-to-server email
Security: Often blocked by ISPs

110 - POP3

Service: Mail retrieval (unencrypted)
Use: Downloading email
Security: Use encrypted version (995)

143 - IMAP

Service: Mail access (unencrypted)
Use: Email client access
Security: Use encrypted version (993)

465 - SMTPS

Service: SMTP over SSL
Use: Encrypted mail sending

587 - SMTP Submission

Service: Mail submission
Use: Client mail sending
Security: Supports STARTTLS

993 - IMAPS

Service: IMAP over SSL
Use: Secure email access

995 - POP3S

Service: POP3 over SSL
Use: Secure email download

Database Servers

3306 - MySQL/MariaDB

Service: MySQL database
Security: ⚠️ Should NOT be publicly accessible
Recommendation: Use SSH tunnel or VPN

5432 - PostgreSQL

Service: PostgreSQL database
Security: ⚠️ Should NOT be publicly accessible
Recommendation: Bind to localhost only

27017 - MongoDB

Service: MongoDB database
Security: ⚠️ Should NOT be publicly accessible
Recommendation: Enable authentication

6379 - Redis

Service: Redis cache
Security: ⚠️ Should NOT be publicly accessible
Recommendation: Bind to localhost, use password

1433 - Microsoft SQL Server

Service: MSSQL database
Security: ⚠️ Should NOT be publicly accessible
Recommendation: Firewall to specific IPs

File Transfer

21 - FTP

Service: File Transfer Protocol (insecure)
Security: ⚠️ Use SFTP (port 22) instead

22 - SFTP

Service: SSH File Transfer Protocol
Security: ✓ Secure, encrypted

69 - TFTP

Service: Trivial FTP (no auth)
Security: ⚠️ Very insecure, disable

445 - SMB

Service: Windows file sharing
Security: ⚠️ Close on internet-facing servers

Other Services

53 - DNS

Service: Domain Name System
Use: Name resolution
Security: Restrict to trusted IPs for queries

67-68 - DHCP

Service: Dynamic Host Configuration
Use: IP address assignment
Security: Internal network only

123 - NTP

Service: Network Time Protocol
Use: Time synchronization

161-162 - SNMP

Service: Simple Network Management
Use: Device monitoring
Security: ⚠️ Use SNMPv3, restrict access

Port States

Open

Meaning:

  • Service is listening on port
  • Accepts connections
  • Firewall allows traffic

Example:

Port 443 on example.com: OPEN
Response: Connection successful
Time: 42ms

What to do:

  • ✓ Expected service: Good
  • ✗ Unexpected service: Investigate and close

Closed

Meaning:

  • No service listening on port
  • Port explicitly refused connection
  • Host is reachable

Example:

Port 3306 on example.com: CLOSED
Response: Connection refused
Time: 15ms

What to do:

  • Expected to be open: Start service
  • Expected to be closed: Good (secure)

Filtered

Meaning:

  • Firewall dropping packets
  • No response received
  • Cannot determine if service exists

Example:

Port 22 on example.com: FILTERED
Response: Timeout
Time: >5000ms

Causes:

  • Firewall blocking
  • Network routing issue
  • Host unreachable

What to do:

  • Check firewall rules
  • Verify host is online
  • Test from different location

Timeout

Meaning:

  • No response within time limit
  • Host may be down
  • Network issue

Example:

Port 80 on example.com: TIMEOUT
Response: No response
Time: >10000ms

What to do:

  • Verify host is online
  • Check network connectivity
  • Increase timeout if remote

Security Considerations

Only Open Necessary Ports

Bad (too many open):

Port 21 (FTP): OPEN         ❌ Use SFTP
Port 22 (SSH): OPEN ✓ OK (from trusted IPs)
Port 23 (Telnet): OPEN ❌ Insecure
Port 80 (HTTP): OPEN ✓ OK
Port 443 (HTTPS): OPEN ✓ OK
Port 3306 (MySQL): OPEN ❌ Should be internal only
Port 8080: OPEN ⚠️ Why?

Good (minimal):

Port 22 (SSH): OPEN         ✓ Restricted to admin IPs
Port 80 (HTTP): OPEN ✓ Public web
Port 443 (HTTPS): OPEN ✓ Public web
All others: CLOSED ✓ Secure

Close Dangerous Ports

Disable immediately:

  • Port 21 (FTP) - Use SFTP instead
  • Port 23 (Telnet) - Use SSH instead
  • Port 69 (TFTP) - No authentication
  • Port 135-139 (Windows NetBIOS) - Exploitable
  • Port 445 (SMB) - Ransomware target
  • Port 3389 (RDP) if publicly exposed - Brute force attacks

Restrict Database Ports

Never expose directly:

❌ MySQL (3306): Accessible from internet
❌ PostgreSQL (5432): Public
❌ MongoDB (27017): No auth, public
❌ Redis (6379): Public

Use instead:

✓ SSH tunnel: ssh -L 3306:localhost:3306 user@server
✓ VPN: Connect to VPN first
✓ Firewall: Allow only specific IPs
✓ Cloud: Use private network

Port Scanning Ethics

⚠️ Important:

  • Only scan servers you own
  • Get permission before scanning others
  • Scanning without permission may be illegal
  • Respect network policies
  • Don't abuse the tool

Legal scanning:

  • ✓ Your own servers
  • ✓ With explicit permission
  • ✓ Bug bounty programs (with rules)
  • ✓ Authorized security audits

Illegal scanning:

  • ✗ Servers you don't own
  • ✗ Without permission
  • ✗ Malicious intent
  • ✗ Excessive/abusive scanning

Use Cases

1. Server Configuration Validation

After server setup:

Check expected open ports:
✓ Port 22 (SSH): OPEN
✓ Port 80 (HTTP): OPEN
✓ Port 443 (HTTPS): OPEN

Check should-be-closed ports:
✓ Port 21 (FTP): CLOSED
✓ Port 23 (Telnet): CLOSED
✓ Port 3306 (MySQL): CLOSED
✓ Port 27017 (MongoDB): CLOSED

2. Firewall Rule Testing

Test firewall configuration:

Before firewall rule:
Port 3306: OPEN (bad)

Add firewall rule:
iptables -A INPUT -p tcp --dport 3306 -j DROP

After firewall rule:
Port 3306: FILTERED (good)

3. Service Availability Check

Monitor service uptime:

Check critical services:
- Port 80 (Web): OPEN → Site accessible
- Port 443 (HTTPS): OPEN → SSL working
- Port 22 (SSH): OPEN → Can connect

Alert if any become CLOSED

4. Network Troubleshooting

Debug connectivity issues:

User reports site down:
1. Check port 80: TIMEOUT
2. Check port 443: TIMEOUT
3. Diagnosis: Server offline or network issue

Check DNS:
nslookup example.com
Ping: timeout

Conclusion: Server is down

5. Security Audit

Find exposed services:

Scan common ports:
- Port 21: CLOSED ✓
- Port 22: OPEN (restrict to trusted IPs)
- Port 23: CLOSED ✓
- Port 80: OPEN ✓
- Port 443: OPEN ✓
- Port 3306: OPEN ❌ (close immediately!)
- Port 3389: CLOSED ✓
- Port 27017: OPEN ❌ (close immediately!)

Action items:
1. Close port 3306 to public
2. Close port 27017 to public
3. Add firewall rules
4. Restrict SSH to admin IPs

Troubleshooting

Issue: Connection Timeout

Problem: No response from port check

Possible causes:

  1. Host is down
  2. Firewall blocking
  3. Service not running
  4. Network routing issue

How to diagnose:

# Check if host is reachable
ping example.com

# Check DNS resolution
nslookup example.com

# Try from different location
# (use Check Port Open from different server)

# Check firewall logs
sudo tail -f /var/log/ufw.log

Issue: Connection Refused

Problem: Port actively refused connection

Possible causes:

  1. Service not running
  2. Service crashed
  3. Wrong port number
  4. Service bound to localhost only

How to fix:

# Check if service is running
systemctl status nginx
systemctl status mysql

# Check what's listening on port
sudo netstat -tlnp | grep :80
sudo ss -tlnp | grep :80

# Check service configuration
# Make sure it's not bound to 127.0.0.1 only

Issue: Unexpected Open Ports

Problem: Ports open that shouldn't be

How to investigate:

# List all listening ports
sudo netstat -tlnp
sudo ss -tlnp

# Find what's using the port
sudo lsof -i :3306

# Check running processes
ps aux | grep mysql

# Review firewall rules
sudo iptables -L -n
sudo ufw status

Action:

  1. Identify the service
  2. Determine if it's needed
  3. If not needed: Stop and disable
  4. If needed: Add firewall rule to restrict access

Best Practices

1. Minimize Attack Surface

Only open what's needed:

Public web server:
✓ Port 80 (HTTP)
✓ Port 443 (HTTPS)
✗ Everything else: CLOSED or FILTERED

2. Use Firewall Rules

Restrict by IP when possible:

# SSH: Only from office IP
ufw allow from 203.0.113.0/24 to any port 22

# MySQL: Only from app server
ufw allow from 10.0.1.5 to any port 3306

# Web: Public access
ufw allow 80/tcp
ufw allow 443/tcp

3. Regular Audits

Schedule port scans:

Weekly:
- Scan all servers
- Document open ports
- Investigate changes
- Close unnecessary ports

Monthly:
- Full security audit
- Review firewall rules
- Update documentation
- Test from external network

4. Monitor Changes

Alert on unexpected ports:

Expected open ports: 22, 80, 443
Alert if any other port opens
Review and close if not authorized

5. Document Everything

Keep inventory:

# Server: web-01

## Open Ports
- Port 22 (SSH): Admin access only (10.0.0.0/8)
- Port 80 (HTTP): Public
- Port 443 (HTTPS): Public

## Closed Ports
- Port 21 (FTP): Disabled, use SFTP
- Port 3306 (MySQL): Internal only via SSH tunnel
- Port 3389 (RDP): Not installed

## Last Audit
- Date: 2024-10-17
- Auditor: Admin Team
- Status: Compliant

Next Steps