Bạn cần kiểm tra xem máy chủ có mở port hay không (Telnet) nhưng máy tính lại chưa cài Telnet Client? Đừng lo lắng, Windows hiện đại đã tích hợp sẵn công cụ mạnh mẽ hơn để làm việc này.
Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra Port bằng PowerShell sử dụng lệnh Test-NetConnection – một giải pháp thay thế hoàn hảo, an toàn và nhanh chóng hơn Telnet truyền thống.
Minh họa kết quả lệnh Test-NetConnection thành công
Tại sao nên dùng PowerShell thay vì Telnet?
Trước đây, quản trị viên hệ thống thường dùng lệnh telnet IP PORT để kiểm tra kết nối. Tuy nhiên, trên các phiên bản Windows mới (Windows 10, 11, Server 2016+), Telnet Client bị tắt mặc định vì lý do bảo mật. Việc cài đặt thêm Telnet trong môi trường doanh nghiệp (như ngân hàng, công ty lớn) thường bị chặn hoặc yêu cầu quy trình phê duyệt phức tạp.
Giải pháp thay thế chính là PowerShell với lệnh Test-NetConnection (viết tắt là TNC). Nó có sẵn, không cần cài đặt và cung cấp thông tin chi tiết hơn.
Hướng dẫn lệnh Test-NetConnection chi tiết
1. Cú pháp câu lệnh cơ bản
Để bắt đầu, bạn hãy mở PowerShell lên (Windows + S > gõ PowerShell) và nhập lệnh theo cú pháp sau:
Test-NetConnection -ComputerName [Địa_chỉ_IP_hoặc_Domain] -Port [Số_Port]
Ví dụ thực tế: Kiểm tra kết nối đến máy chủ portal.connect247.vn qua cổng 4443:
Test-NetConnection -ComputerName zing.vn -Port 443
2. Cách đọc kết quả trả về
Sau khi nhấn Enter, PowerShell sẽ trả về các thông số. Bạn chỉ cần quan tâm đến dòng cuối cùng:
ComputerName : zing.vn RemoteAddress : 42.112.58.213 RemotePort : 443 InterfaceAlias : Ethernet SourceAddress : 192.168.1.100 TcpTestSucceeded : True
- TcpTestSucceeded: True ✅
-> Kết nối thành công (Cổng đang mở, Firewall cho phép đi qua). - TcpTestSucceeded: False ❌
-> Kết nối thất bại (Cổng đóng, sai IP, hoặc bị Firewall chặn).
3. Mẹo dùng lệnh tắt (Alias) cho Pro
Nếu bạn lười gõ dòng lệnh dài dòng phía trên, Microsoft đã tạo sẵn một lệnh viết tắt là tnc. Bạn có thể gõ ngắn gọn như sau:
tnc google.com -p 443
(Kết quả tương đương nhưng thao tác nhanh hơn rất nhiều).
So sánh Telnet (CMD) và PowerShell
Dưới đây là bảng so sánh để bạn thấy rõ tại sao PowerShell là lựa chọn tối ưu hơn trong năm 2025:
| Tiêu chí | Telnet Client (CMD) | PowerShell (Test-NetConnection) |
|---|---|---|
| Cài đặt | Phải cài thủ công (Turn Windows features on/off) | Có sẵn (Built-in) trên mọi Windows hiện đại |
| Quyền hạn | Yêu cầu quyền Admin để cài đặt | Chạy được với quyền User thường |
| Bảo mật | Giao thức cũ, không mã hóa, dễ bị chặn | An toàn, chuẩn mực của Microsoft |
| Thông tin | Chỉ hiện màn hình đen hoặc lỗi kết nối | Hiển thị rõ IP nguồn, IP đích, trạng thái True/False |
Khi nào nên sử dụng lệnh này?
- Kiểm tra Web Server: Check port 80 (HTTP) hoặc 443 (HTTPS) xem web có sống không.
- Kiểm tra Remote Desktop: Check port 3389 xem server có cho phép remote không.
- Kiểm tra SQL Server: Check port 1433 để troubleshoot lỗi kết nối database.
- Chẩn đoán mạng: Xác định xem lỗi do đường truyền mạng hay do Firewall chặn.
Lưu ý quan trọng
- Lệnh
Test-NetConnectionhỗ trợ từ Windows 8.1 / Windows Server 2012 R2 trở lên. - Nếu bạn dùng Windows 7 (đã quá cũ), bạn bắt buộc phải cài Telnet Client hoặc dùng phần mềm bên thứ 3 như PuTTY.
- Nếu kết quả là
WARNING: Ping to ... failednhưngTcpTestSucceeded: Truethì đừng lo. Điều này nghĩa là Server chặn lệnh Ping (ICMP) nhưng vẫn mở cổng dịch vụ bình thường.
Hy vọng bài viết này giúp bạn nắm vững cách kiểm tra Port bằng PowerShell. Đây là kỹ năng cơ bản nhưng cực kỳ quan trọng đối với bất kỳ ai làm việc với hệ thống mạng và máy chủ.
👉 Xem thêm: Hướng dẫn cấu hình Cloudflare Tunnel để không cần mở Port