Công cụ kiểm tra cổng mạng (Port)
Nhập thông tin để quét và phân tích các cổng mở trên máy tính của bạn
Kết quả quét cổng
Hướng dẫn toàn tập: Cách xem các port trên máy tính (Cập nhật 2024)
Lưu ý quan trọng: Việc quét cổng trên mạng nội bộ là hợp pháp, nhưng quét các hệ thống không phải của bạn có thể vi phạm pháp luật. Luôn đảm bảo bạn có quyền truy cập trước khi thực hiện bất kỳ hoạt động quét nào.
1. Port là gì và tại sao cần kiểm tra?
Port (cổng) trong mạng máy tính là các điểm kết nối ảo mà qua đó dữ liệu được gửi và nhận giữa các thiết bị. Mỗi port được gán một số từ 0 đến 65535 và được sử dụng cho các dịch vụ cụ thể:
- Port 0-1023: Các cổng nổi tiếng (Well-known ports) được gán cho các dịch vụ tiêu chuẩn như HTTP (80), HTTPS (443), FTP (21)
- Port 1024-49151: Các cổng đã đăng ký (Registered ports) dùng cho các ứng dụng cụ thể
- Port 49152-65535: Các cổng động/riêng (Dynamic/private ports) dùng cho kết nối tạm thời
Việc kiểm tra các port mở trên máy tính giúp bạn:
- Phát hiện các dịch vụ đang chạy và các kết nối mạng hoạt động
- Xác định các lỗ hổng bảo mật tiềm ẩn
- Chẩn đoán sự cố mạng và kết nối
- Quản lý tài nguyên hệ thống hiệu quả hơn
2. 5 phương pháp kiểm tra port trên Windows
2.1. Sử dụng Command Prompt (netstat)
Công cụ netstat (Network Statistics) là phương pháp đơn giản nhất để xem các port mở trên Windows:
Giải thích các tham số:
-a: Hiển thị tất cả các kết nối và cổng lắng nghe
-n: Hiển thị địa chỉ và số cổng dưới dạng số
-o: Hiển thị ID tiến trình (PID) sở hữu kết nối
Để lọc kết quả chỉ hiển thị các port đang lắng nghe:
Sau khi có PID, bạn có thể tìm tên tiến trình trong Task Manager:
- Mở Task Manager (Ctrl+Shift+Esc)
- Chuyển đến tab “Details”
- Tìm PID tương ứng trong cột “PID”
2.2. Sử dụng Resource Monitor
Resource Monitor cung cấp giao diện đồ họa để xem các port mạng:
- Nhấn Ctrl+Shift+Esc để mở Task Manager
- Chuyển đến tab “Performance”
- Nhấp vào “Open Resource Monitor” ở phía dưới
- Chuyển đến tab “Network”
- Mở rộng phần “Listening Ports” để xem tất cả các port đang mở
2.3. Sử dụng PowerShell
PowerShell cung cấp các cmdlet mạnh mẽ để quản lý mạng:
Get-NetTCPConnection -State Listen
# Xem thông tin chi tiết về một port cụ thể
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
2.4. Sử dụng công cụ PortQry
PortQry là công cụ dòng lệnh của Microsoft để kiểm tra trạng thái port:
- Tải PortQry từ trang chính thức của Microsoft
- Mở Command Prompt với quyền admin
- Chạy lệnh:
portqry.exe -n localhost -e [số_port]
2.5. Sử dụng công cụ của bên thứ ba (Nmap, Angry IP Scanner)
Các công cụ chuyên nghiệp như Nmap cung cấp khả năng quét port nâng cao:
nmap -sV -O 127.0.0.1
# Quét toàn bộ 65535 port (cảnh báo: mất thời gian)
nmap -p- -T4 127.0.0.1
3. 4 phương pháp kiểm tra port trên Linux/macOS
3.1. Sử dụng lệnh ss
Lệnh ss (socket statistics) là công cụ hiện đại thay thế cho netstat:
ss -tuln
# Xem các kết nối TCP
ss -t -a
# Xem các kết nối UDP
ss -u -a
3.2. Sử dụng lệnh netstat
Tương tự như trên Windows, Linux cũng hỗ trợ netstat:
# Giải thích:
-t: TCP port
-u: UDP port
-l: Chỉ hiển thị các port đang lắng nghe
-n: Hiển thị số port thay vì tên dịch vụ
3.3. Sử dụng lệnh lsof
Lệnh lsof (list open files) có thể liệt kê các port mạng:
sudo lsof -i
# Xem các port của một dịch vụ cụ thể (ví dụ: apache)
sudo lsof -i :80
# Xem các port do một user cụ thể mở
sudo lsof -i -u username
3.4. Sử dụng Nmap
Nmap cũng hoạt động hiệu quả trên Linux/macOS:
nmap -F localhost
# Quét chi tiết với phát hiện phiên bản dịch vụ
nmap -sV localhost
# Quét UDP port
nmap -sU -F localhost
4. Cổng phổ biến và dịch vụ tương ứng
Dưới đây là bảng các cổng mạng phổ biến và dịch vụ tương ứng của chúng:
| Số cổng | Giao thức | Dịch vụ | Mô tả | Mức độ nguy hiểm |
|---|---|---|---|---|
| 20 | TCP | FTP (Data) | Truyền dữ liệu FTP | Trung bình |
| 21 | TCP | FTP (Control) | Điều khiển kết nối FTP | Cao |
| 22 | TCP | SSH | Kết nối an toàn từ xa | Thấp |
| 23 | TCP | Telnet | Kết nối từ xa không mã hóa | Rất cao |
| 25 | TCP | SMTP | Gửi email | Trung bình |
| 53 | TCP/UDP | DNS | Phân giải tên miền | Cao |
| 80 | TCP | HTTP | Truy cập web không mã hóa | Trung bình |
| 110 | TCP | POP3 | Nhận email | Trung bình |
| 143 | TCP | IMAP | Quản lý email từ xa | Trung bình |
| 443 | TCP | HTTPS | Truy cập web mã hóa | Thấp |
| 3389 | TCP | RDP | Remote Desktop Protocol | Cao |
5. Phân tích kết quả và xử lý các port nguy hiểm
5.1. Cách nhận biết port nguy hiểm
Một số dấu hiệu cảnh báo về port nguy hiểm:
- Các port không rõ dịch vụ (ví dụ: 31337, 4444 thường dùng bởi malware)
- Các port mở không cần thiết cho hoạt động của hệ thống
- Các kết nối từ địa chỉ IP lạ hoặc nước ngoài
- Các dịch vụ cũ, không được cập nhật (ví dụ: Telnet, FTP không mã hóa)
5.2. Cách đóng các port không cần thiết
Trên Windows:
- Mở Windows Defender Firewall (firewall.cpl)
- Chọn “Advanced settings”
- Trong phần “Inbound Rules”, tìm quy tắc cho port cần chặn
- Nhấp chuột phải và chọn “Disable Rule” hoặc “Delete”
Trên Linux:
sudo iptables -A INPUT -p tcp –dport [số_port] -j DROP
# Sử dụng ufw (Uncomplicated Firewall)
sudo ufw deny [số_port]/tcp
5.3. Cách bảo mật các port cần thiết
Đối với các port cần mở để hệ thống hoạt động:
- Luôn cập nhật phần mềm/dịch vụ lên phiên bản mới nhất
- Sử dụng mật khẩu mạnh và xác thực hai yếu tố
- Giới hạn địa chỉ IP được phép kết nối (nếu có thể)
- Sử dụng VPN để truy cập từ xa thay vì mở port trực tiếp
- Thiết lập cảnh báo cho các hoạt động đáng ngờ
6. Công cụ quét port trực tuyến (cần thận trọng)
Một số công cụ quét port trực tuyến phổ biến:
| Công cụ | URL | Đặc điểm | Mức độ an toàn |
|---|---|---|---|
| Shodan | shodan.io | Công cụ tìm kiếm thiết bị kết nối Internet | Trung bình (chỉ nên dùng cho thiết bị của mình) |
| GRC ShieldsUP! | grc.com/shieldsup | Kiểm tra các port mở từ bên ngoài | Cao (chỉ quét từ bên ngoài) |
| YouGetSignal | yougetsignal.com | Kiểm tra port đơn giản | Trung bình |
| Canyouseeme | canyouseeme.org | Kiểm tra port cụ thể từ bên ngoài | Cao |
7. Các câu hỏi thường gặp về kiểm tra port
7.1. Làm thế nào để biết port nào đang được sử dụng bởi ứng dụng cụ thể?
Trên Windows:
tasklist | findstr “PID”
Trên Linux:
7.2. Tại sao một số port xuất hiện ngẫu nhiên?
Các port động (49152-65535) thường được hệ điều hành gán tự động cho các kết nối tạm thời. Đây là hành vi bình thường và không phải lúc nào cũng đáng lo ngại. Tuy nhiên, nếu bạn thấy các port này kết nối với địa chỉ IP lạ, đó có thể là dấu hiệu của phần mềm độc hại.
7.3. Làm cách nào để kiểm tra xem một port cụ thể có mở không?
Bạn có thể sử dụng công cụ Test-NetConnection trên Windows PowerShell:
Hoặc sử dụng telnet (cần bật tính năng telnet client trước):
7.4. Làm thế nào để mở một port trên tường lửa?
Trên Windows:
- Mở Windows Defender Firewall với quyền admin
- Chọn “Advanced settings”
- Nhấp chuột phải vào “Inbound Rules” → “New Rule”
- Chọn “Port” → Nhập số port → Chọn giao thức (TCP/UDP)
- Chọn “Allow the connection”
- Áp dụng cho tất cả các profile (Domain, Private, Public)
- Đặt tên cho rule và hoàn tất
Trên Linux (ufw):
sudo ufw enable
7.5. Có nên đóng tất cả các port không?
Không nên đóng tất cả các port vì hệ thống cần một số port cơ bản để hoạt động bình thường. Thay vào đó, bạn nên:
- Chỉ mở những port thực sự cần thiết
- Đóng các port không sử dụng
- Giới hạn quyền truy cập đến các port mở
- Thường xuyên kiểm tra và cập nhật các dịch vụ sử dụng port
8. Kết luận và khuyến nghị
Việc kiểm tra và quản lý các port mở trên máy tính là một phần quan trọng trong việc bảo mật hệ thống và mạng của bạn. Dưới đây là những khuyến nghị chính:
- Thường xuyên kiểm tra: Ít nhất mỗi tháng một lần, quét các port mở trên hệ thống của bạn
- Cập nhật phần mềm: Luôn cập nhật hệ điều hành và các ứng dụng lên phiên bản mới nhất
- Sử dụng tường lửa: Bật và cấu hình tường lửa đúng cách trên tất cả các thiết bị
- Giới hạn quyền truy cập: Chỉ mở port khi thực sự cần thiết và giới hạn địa chỉ IP được phép kết nối
- Giám sát liên tục: Sử dụng các công cụ giám sát mạng để phát hiện hoạt động đáng ngờ
- Đào tạo nhân viên: Nếu bạn quản trị mạng cho tổ chức, đảm bảo tất cả nhân viên được đào tạo về bảo mật cơ bản
Bằng cách thực hiện các biện pháp trên, bạn có thể giảm đáng kể nguy cơ bị tấn công thông qua các port mạng mở và duy trì một hệ thống an toàn, ổn định.