Cách Xem Các Port Trên Máy Tính

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:

  1. Phát hiện các dịch vụ đang chạy và các kết nối mạng hoạt động
  2. Xác định các lỗ hổng bảo mật tiềm ẩn
  3. Chẩn đoán sự cố mạng và kết nối
  4. 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:

netstat -ano

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:

netstat -ano | findstr LISTENING

Sau khi có PID, bạn có thể tìm tên tiến trình trong Task Manager:

  1. Mở Task Manager (Ctrl+Shift+Esc)
  2. Chuyển đến tab “Details”
  3. 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:

  1. Nhấn Ctrl+Shift+Esc để mở Task Manager
  2. Chuyển đến tab “Performance”
  3. Nhấp vào “Open Resource Monitor” ở phía dưới
  4. Chuyển đến tab “Network”
  5. 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:

# Xem tất cả các kết nối TCP
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:

  1. Tải PortQry từ trang chính thức của Microsoft
  2. Mở Command Prompt với quyền admin
  3. 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:

# Quét các port phổ biến trên máy local
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

Nguồn tham khảo:

Tài liệu chính thức về quản lý port của Microsoft: Microsoft Docs – Netstat

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:

# Xem tất cả các port đang lắng nghe
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:

netstat -tuln

# 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:

# Xem tất cả các port mạng đang mở
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:

# Quét nhanh các port phổ biến
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:

  1. Mở Windows Defender Firewall (firewall.cpl)
  2. Chọn “Advanced settings”
  3. Trong phần “Inbound Rules”, tìm quy tắc cho port cần chặn
  4. Nhấp chuột phải và chọn “Disable Rule” hoặc “Delete”

Trên Linux:

# Sử dụng iptables để chặn một port cụ thể
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

Cảnh báo bảo mật:

Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) khuyến cáo: Hướng dẫn cấu hình tường lửa của NIST

Luôn tuân thủ các quy định về bảo mật thông tin khi thực hiện quét port, đặc biệt là trên các hệ thống không phải của bạn.

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:

netstat -ano | findstr “PID”
tasklist | findstr “PID”

Trên Linux:

ss -tulnp | grep ‘tên_ứng_dụng’

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:

Test-NetConnection [địa_chỉ_IP] -Port [số_port]

Hoặc sử dụng telnet (cần bật tính năng telnet client trước):

telnet [địa_chỉ_IP] [số_port]

7.4. Làm thế nào để mở một port trên tường lửa?

Trên Windows:

  1. Mở Windows Defender Firewall với quyền admin
  2. Chọn “Advanced settings”
  3. Nhấp chuột phải vào “Inbound Rules” → “New Rule”
  4. Chọn “Port” → Nhập số port → Chọn giao thức (TCP/UDP)
  5. Chọn “Allow the connection”
  6. Áp dụng cho tất cả các profile (Domain, Private, Public)
  7. Đặt tên cho rule và hoàn tất

Trên Linux (ufw):

sudo ufw allow [số_port]/tcp
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:

  1. 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
  2. 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
  3. 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ị
  4. 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
  5. 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ờ
  6. Đà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.

Tài nguyên bổ sung:

Hướng dẫn bảo mật mạng từ Đại học Carnegie Mellon: CMU Network Security Guidelines

Tài liệu về quản lý port từ IETF: RFC 6335 – IANA Port Assignments

Leave a Reply

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