Cách Xem Các Port Hoạt Động Trên Máy Tính

Kiểm tra cổng mạng hoạt động trên máy tính

Nhập thông tin để quét và phân tích các cổng mạng đang mở trên hệ thống 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 hoạt động trên máy tính

Việc kiểm tra các cổng (port) mạng đang hoạt động trên máy tính là kỹ năng quan trọng đối với cả người dùng thông thường và quản trị viên hệ thống. Các cổng mạng hoạt động như những cửa ngõ kết nối giữa máy tính của bạn với thế giới bên ngoài. Bài viết này sẽ hướng dẫn bạn chi tiết cách kiểm tra, quản lý và bảo mật các cổng mạng trên hệ thống Windows, macOS và Linux.

1. Port mạng là gì và tại sao cần kiểm tra?

Port (cổng) mạng là một điểm cuối ảo trong hệ thống mạng, được sử dụng để giao tiếp giữa các chương trình trên máy tính với nhau hoặc với các thiết bị khác trên mạng. Mỗi port được xác định bằng một số nguyên từ 0 đến 65535, trong đó:

  • 0-1023: Các port 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)
  • 1024-49151: Các port đã đăng ký (Registered ports) dùng cho các ứng dụng cụ thể
  • 49152-65535: Các port độ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 hoạt động giúp bạn:

  1. Phát hiện các dịch vụ đang chạy không mong muốn
  2. Chẩn đoán sự cố kết nối mạng
  3. Ngăn chặn các cuộc tấn công mạng thông qua các port mở
  4. Tối ưu hóa hiệu suất mạng

2. Cách kiểm tra port hoạt động trên Windows

2.1 Sử dụng Command Prompt

Windows cung cấp công cụ netstat mạnh mẽ để kiểm tra các kết nối mạng và port đang mở:

  1. Mở Command Prompt với quyền admin (nhấp chuột phải → Run as administrator)
  2. Nhập lệnh sau để xem tất cả các port đang lắng nghe:
    netstat -ano
  3. Để lọc chỉ các port TCP:
    netstat -ano | findstr LISTENING
  4. Để tìm kiếm port cụ thể (ví dụ port 80):
    netstat -ano | findstr :80

Giải thích các cột trong kết quả:

  • Proto: Giao thức (TCP/UDP)
  • Local Address: Địa chỉ IP và port địa phương
  • Foreign Address: Địa chỉ IP và port từ xa
  • State: Trạng thái kết nối (LISTENING, ESTABLISHED, v.v.)
  • PID: ID của tiến trình sử dụng port

2.2 Sử dụng Resource Monitor

  1. Nhấn Ctrl+Shift+Esc để mở Task Manager
  2. Chuyển đến tab “Performance” → mở “Resource Monitor”
  3. Chọn tab “Network”
  4. Phần “Listening Ports” sẽ hiển thị tất cả port đang lắng nghe

2.3 Sử dụng PortQry

PortQry là công cụ dòng lệnh của Microsoft giúp kiểm tra trạng thái của các port TCP/UDP:

  1. Tải PortQry từ trang chính thức Microsoft
  2. Mở Command Prompt với quyền admin
  3. Chạy lệnh:
    portqry -n [địa_chỉ_IP] -e [số_port]

3. Cách kiểm tra port trên macOS

3.1 Sử dụng lệnh lsof

macOS sử dụng lệnh lsof (list open files) để kiểm tra các port mở:

  1. Mở Terminal (/Applications/Utilities/Terminal)
  2. Nhập lệnh sau để xem tất cả port đang lắng nghe:
    lsof -i -P | grep -i "listen"
  3. Để kiểm tra port cụ thể (ví dụ port 22):
    lsof -i :22

3.2 Sử dụng netstat

Tương tự như Windows, macOS cũng hỗ trợ netstat:

netstat -anv | grep LISTEN

3.3 Sử dụng Network Utility

  1. Mở Network Utility (/Applications/Utilities/Network Utility)
  2. Chọn tab “Port Scan”
  3. Nhập địa chỉ IP và phạm vi port cần quét
  4. Nhấn “Scan” để bắt đầu

4. Cách kiểm tra port trên Linux

4.1 Sử dụng ss

ss (socket statistics) là công cụ hiện đại thay thế cho netstat:

ss -tulnp

Giải thích các tham số:

  • -t: Hiển thị port TCP
  • -u: Hiển thị port UDP
  • -l: Chỉ hiển thị port đang lắng nghe
  • -n: Hiển thị số port thay vì tên dịch vụ
  • -p: Hiển thị tiến trình sử dụng port

4.2 Sử dụng netstat

netstat -tulnp

4.3 Sử dụng nmap

Nmap là công cụ quét mạng mạnh mẽ:

  1. Cài đặt nmap:
    sudo apt install nmap  # Debian/Ubuntu
    sudo yum install nmap  # CentOS/RHEL
  2. Quét các port mở trên localhost:
    nmap -sT -O localhost
  3. Quét phạm vi port cụ thể:
    nmap -p 1-1000 localhost

5. Các công cụ quét port trực tuyến

Ngoài các công cụ cục bộ, bạn có thể sử dụng các dịch vụ trực tuyến để quét port từ bên ngoài:

Công cụ Địa chỉ Đặc điểm
Shodan shodan.io Công cụ tìm kiếm các thiết bị kết nối Internet, cho phép tìm kiếm theo port mở
GRC ShieldsUP! grc.com/shieldsup Quét các port phổ biến và đánh giá mức độ bảo mật
YouGetSignal yougetsignal.com Quét nhanh các port mở trên địa chỉ IP công cộng

6. So sánh các phương pháp quét port

Phương pháp Ưu điểm Nhược điểm Thích hợp cho
netstat/ss Có sẵn trên tất cả hệ điều hành, không cần cài đặt Chỉ hiển thị port trên máy local, không quét từ xa Kiểm tra nhanh các port đang mở trên máy cá nhân
nmap Quét chi tiết, hỗ trợ nhiều tùy chọn, quét từ xa Cần cài đặt, có thể bị chặn bởi tường lửa Quản trị viên hệ thống, kiểm tra bảo mật
PortQry Công cụ chính thức từ Microsoft, giao diện thân thiện Chỉ hoạt động trên Windows, không quét UDP Người dùng Windows cần kiểm tra port cụ thể
Công cụ trực tuyến Không cần cài đặt, quét từ perspective bên ngoài Có thể không chính xác 100%, rủi ro về quyền riêng tư Kiểm tra nhanh port công cộng từ Internet

7. Các port phổ biến và ý nghĩa

Port Giao thức Dịch vụ Mô tả
20 TCP FTP Data Truyền dữ liệu FTP
21 TCP FTP Control Điều khiển kết nối FTP
22 TCP SSH Kết nối an toàn từ xa
23 TCP Telnet Kết nối từ xa không mã hóa (không an toàn)
25 TCP SMTP Gửi email
53 TCP/UDP DNS Phân giải tên miền
80 TCP HTTP Truy cập web không mã hóa
110 TCP POP3 Nhận email
143 TCP IMAP Quản lý email từ xa
443 TCP HTTPS Truy cập web mã hóa (SSL/TLS)
3389 TCP RDP Remote Desktop Protocol

8. Bảo mật các port mở

Các port mở có thể trở thành lỗ hổng bảo mật nếu không được quản lý đúng cách. Dưới đây là các biện pháp bảo mật cần thiết:

8.1 Đóng các port không cần thiết

  • Vô hiệu hóa các dịch vụ không sử dụng trong Services (Windows) hoặc systemd (Linux)
  • Sử dụng tường lửa để chặn các port không cần thiết
  • Thường xuyên kiểm tra các port mở bằng các công cụ đã đề cập

8.2 Cấu hình tường lửa

Trên Windows:

  1. Mở Windows Defender Firewall (Control Panel → System and Security)
  2. Chọn “Advanced settings”
  3. Tạo rules mới để chặn hoặc cho phép các port cụ thể

Trên Linux (sử dụng iptables):

# Chặn tất cả kết nối đến trừ một số port cụ thể
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # Cho phép SSH
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # Cho phép HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Cho phép HTTPS
iptables -A INPUT -j DROP  # Chặn tất cả các port khác

8.3 Cập nhật hệ thống thường xuyên

Các bản vá bảo mật thường xuyên được phát hành để vá các lỗ hổng liên quan đến các dịch vụ mạng. Đảm bảo:

  • Cập nhật hệ điều hành thường xuyên
  • Cập nhật firmware cho các thiết bị mạng (router, switch)
  • Cập nhật phần mềm dịch vụ (web server, database, v.v.)

8.4 Sử dụng VPN cho kết nối từ xa

Thay vì mở các port như RDP (3389) trực tiếp ra Internet, hãy:

  • Sử dụng VPN để tạo kết nối an toàn trước khi truy cập từ xa
  • Cấu hình chỉ cho phép kết nối từ xa qua mạng nội bộ
  • Sử dụng xác thực đa yếu tố (MFA) cho tất cả kết nối từ xa

9. Các lệnh nâng cao để quản lý port

9.1 Kiểm tra tiến trình sử dụng port trên Windows

Khi bạn đã xác định được PID từ lệnh netstat, bạn có thể tìm tiến trình tương ứng:

tasklist | findstr [PID]

9.2 Giết tiến trình đang chiếm port

Trên Windows:

taskkill /PID [PID] /F

Trên Linux/macOS:

kill -9 [PID]

9.3 Quét port từ xa với nmap

nmap -sS -p 1-1000 [địa_chỉ_IP]

Giải thích tham số:

  • -sS: Quét TCP SYN (stealth scan)
  • -p 1-1000: Quét port từ 1 đến 1000
  • -A: Bật phát hiện hệ điều hành và phiên bản dịch vụ
  • -T4: Tăng tốc độ quét (cần quyền admin)

10. Các công cụ chuyên nghiệp để quản lý port

10.1 Wireshark

Wireshark là công cụ phân tích giao thức mạng mạnh mẽ, cho phép:

  • Capture và phân tích tất cả lưu lượng mạng
  • Lọc theo port cụ thể
  • Phân tích chi tiết các gói tin

10.2 TCPView

Công cụ của Microsoft cho phép:

  • Xem tất cả kết nối TCP và UDP
  • Sắp xếp theo port, địa chỉ IP hoặc tiến trình
  • Đóng kết nối trực tiếp từ giao diện

10.3 Angry IP Scanner

Công cụ quét IP và port nhanh chóng:

  • Quét phạm vi IP rộng
  • Phát hiện các port mở
  • Xuất kết quả thành nhiều định dạng

11. Các câu hỏi thường gặp

11.1 Làm thế nào để biết port nào đang được sử dụng bởi chương trình nào?

Trên Windows, sử dụng lệnh:

netstat -ano | findstr :[port_number]

Sau đó tra cứu PID với:

tasklist | findstr [PID]

11.2 Tại sao một số port luôn mở mặc dù tôi không sử dụng?

Một số port mở mặc định do:

  • Dịch vụ hệ thống (ví dụ: port 135 cho RPC trên Windows)
  • Phần mềm antivirus/firewall
  • Các ứng dụng khởi động cùng hệ thống
  • Dịch vụ đám mây (OneDrive, Dropbox, v.v.)

11.3 Làm thế nào để kiểm tra xem port có thể truy cập từ Internet?

Bạn có thể:

  • Sử dụng các công cụ quét port trực tuyến như đã đề cập
  • Yêu cầu bạn bè kiểm tra từ mạng khác bằng lệnh telnet:
    telnet [your_public_IP] [port]
  • Sử dụng lệnh nc (netcat) từ máy Linux:
    nc -zv [your_public_IP] [port]

11.4 Port 445 là gì và tại sao nó nguy hiểm?

Port 445 được sử dụng cho giao thức SMB (Server Message Block) trên Windows, cho phép chia sẻ file và máy in trong mạng nội bộ. Nó nguy hiểm vì:

  • Nhiều lỗ hổng nghiêm trọng như EternalBlue (được khai thác bởi WannaCry)
  • Thường bị tấn công brute-force để truy cập trái phép
  • Nên chặn port này trên tường lửa nếu không sử dụng chia sẻ file

11.5 Làm thế nào để mở port trên router?

Để mở port (port forwarding) trên router:

  1. Truy cập giao diện quản trị router (thường qua 192.168.1.1)
  2. Đăng nhập với tài khoản admin
  3. Tìm mục “Port Forwarding” hoặc “NAT”
  4. Thêm rule mới với:
    • Port bên ngoài (External Port)
    • Địa chỉ IP nội bộ (Internal IP)
    • Port nội bộ (Internal Port)
    • Giao thức (TCP/UDP)
  5. Lưu cấu hình và khởi động lại router nếu cần

Leave a Reply

Your email address will not be published. Required fields are marked *