Có khả năng cao bạn tìm thấy bài viết này vì ứng dụng bạn chạy đang than phiền về một "cổng" (port) bị chặn hoặc bạn đọc về việc để một số "cổng" mở trên mạng có thể là vấn đề bảo mật.
Dù cách nào, cuối bài này bạn không chỉ biết những cổng mọi người nói về là gì, mà còn cách kiểm tra máy tính để tìm cổng mở hoặc đóng.
Cổng Mạng (Network Port) Là Gì?
Điều đầu tiên bạn nên biết là các cổng chúng ta đề cập ở đây là ảo (virtual). Nó không liên quan đến cổng phần cứng mạng vật lý trên router, TV, console hoặc máy tính. Cổng đơn giản là cách phần cứng và phần mềm mạng tổ chức lưu lượng thông tin.
Hãy tưởng tượng làn đường dành riêng trên đường ray. Bàn chân đường dành cho người đi bộ. Có thể có làn đường dành cho xe đạp. Xe covo và xe buýt cũng có làn riêng. Cổng phục vụ cùng chức năng. Một cổng có thể dùng nhận email, cổng khác chuyển yêu cầu truyền file, hoặc truy cập web.
Có hai loại cổng phổ biến, cần giải thích ngắn trước khi chuyển sang kiểm tra cổng nào trên hệ thống mở và nào không.
Cổng TCP & UDP Là Gì?
Hai loại cổng phổ biến trên mạng hiện đại gọi là cổng TCP và UDP. Đó là Transmission Control Protocol và User Datagram Protocol tương ứng. Vậy hai loại cổng này dùng giao thức mạng khác nhau.
Bạn có thể nghĩ chúng như bộ quy tắc riêng biệt cho cách các mẩu thông tin nên được gửi và nhận. Cả hai loại cổng đều xây dựng trên Internet Protocol (IP) cơ bản khiến internet và mạng gia đình, nói chung, hoạt động. Tuy nhiên, chúng phù hợp với ứng dụng khác nhau.
Sự khác biệt lớn là khi gửi thông tin qua UDP, người gửi không cần thiết lập kết nối với người nhận trước khi bắt đầu hội thoại. Nó giống như gửi thư. Bạn không biết người kia nhận tin nhắn và không có bảo chứng nhận phản hồi.
TCP, mặt khác, giống như gọi điện thoại. Người nhận phải "nhấc máy" kết nối và có luồng thông tin hai chiều cho đến khi ai đó chủ động riêng máy.
Tin nhắn UDP thường được phát sóng qua mạng cho bất kỳ ai đang lắng nghe trên cổng UDP chỉ định. Điều này làm nó hoàn hảo cho tin nhắn loại housekeeping liên quan đến vận hành mạng. Nó cũng hoàn hảo cho streaming voice-over-IP, game trực tuyến và phát sóng trực tuyến.
Tại sao? Các ứng dụng này hưởng lợi từ độ trễ thấp và luồng thông tin liên tục của UDP không cần hoàn hảo để hữu ích. Chút nhiễu trong chat Skype quan trọng ít hơn lượng lag thấp.
TCP phổ biến hơn UDP nhiều và chắc chắn đảm bảo tất cả dữ liệu được nhận không lỗi. Gần như mọi thứ không cần ưu điểm cụ thể của UDP, dùng TCP thay vào đó.
Cổng Nào Thường Mở Mặc Định?
Có RẤT NHIỀU cổng. Số cổng có thể từ 0 đến 65535! Điều đó không có nghĩa ứng dụng nào cũng chọn bất kỳ cổng nào. Có tiêu chuẩn và phạm vi thiết lập, giúp chúng ta hiểu được sự hỗn loạn.
Cổng 0-1023 liên quan đến một số dịch vụ mạng quan trọng và cơ bản nhất. Điều này hợp lý, vì cổng số thấp được gán trước. Giao thức SMTP cho email, ví dụ, độc quyền dùng cổng 25.
Cổng 1024-49151 gọi là "cổng đã đăng ký" (registered ports) và gán cho dịch vụ phổ biến quan trọng như OpenVPN trên cổng 1194 hoặc Microsoft SQL trên cổng 1433 và 1434.
Phần còn lại của số cổng gọi là cổng "động" (dynamic) hoặc "riêng tư" (private). Các cổng này không được dành riêng và ai cũng dùng được trên mạng để hỗ trợ dịch vụ cụ thể. Vấn đề chỉ nảy sinh khi hai hoặc nhiều dịch vụ trên cùng mạng dùng cùng cổng.
Mặc dù không thể liệt kê mọi cổng quan trọng, các cổng phổ biến này hữu ích để nhớ:
- 20 – FTP (File Transfer Protocol)
- 22 – Secure Shell (SSH)
- 25 – Simple Mail Transfer Protocol (SMTP)
- 53 – Domain Name System (DNS)
- 80 – Hypertext Transfer Protocol (HTTP)
- 110 – Post Office Protocol (POP3)
- 143 – Internet Message Access Protocol (IMAP)
- 443 – HTTP Secure (HTTPS)
Vì có hàng nghìn số cổng phổ biến, cách tiếp cận dễ nhất là nhớ các phạm vi. Cho biết cổng dành riêng hay không. Nhờ Google, bạn cũng có thể tra dịch vụ nào dùng cổng cụ thể ngay lập tức.
Tìm Cổng Mở Trong Windows
Bây giờ đã có kiến thức cơ bản về cổng TCP và UDP, đến lúc tìm cổng nào đang mở và dùng trên máy tính.
Tin tốt là Windows có lệnh hữu ích tích hợp sẽ hiển thị cổng nào hiện đang được dùng bởi các ứng dụng và dịch vụ khác nhau.
- Điều đầu tiên là mở Menu Start và tìm kiếm CMD.
- Bây giờ, nhấp chuột phải vào CMD và Chạy với tư cách Quản trị viên (Run as Administrator).
- Với Command Prompt mở, nhập:
Netstat -ab
- Đừng lo lắng về danh sách dài cuộn nhanh hơn bạn đọc. Bạn có thể dùng CTRL+C và CTRL+V để sao chép và dán thông tin vào Notepad hoặc trình soạn thảo văn bản khác.
- Thông tin trong ngoặc là tên chương trình dùng cổng. TCP hoặc UDP chỉ giao thức dùng trên cổng đó. Số bao gồm địa chỉ IP và số cổng sau dấu hai chấm.
Quét Tìm Cổng Bị Chặn
Điều đó giải quyết việc tìm cổng nào đang được dùng và bởi ứng dụng nào, nhưng không cho ta biết cổng nào đang bị chặn chủ động bởi Windows Firewall.
- Mở Menu Start và tìm kiếm CMD.
- Nhấp chuột phải vào CMD và Chạy với tư cách Quản trị viên.
- Với Command Prompt mở, nhập:
netsh firewall show state
Đây là hiển thị cổng bị chặn và mở theo cấu hình Windows Firewall.
Bạn sẽ thấy ghi chú lệnh này đã lỗi thời (deprecated), nhưng lệnh mới không cho thông tin chúng ta muốn. Vì vậy, dùng lệnh 'show state' vẫn là cách nhanh và dễ nhất lấy thông tin cổng.
Chỉ vì Windows Firewall không chặn cổng, không có nghĩa router hoặc ISP không chặn. Vì vậy điều cuối cùng là kiểm tra xem chặn bên ngoài có xảy ra không.
- Mở Menu Start và tìm kiếm CMD.
- Bây giờ, nhấp chuột phải vào CMD và Chạy với tư cách Quản trị viên.
- Với Command Prompt mở, nhập:
netstat -ano | findstr -i SYN_SENT
Nếu không có kết quả nào, thì không có gì bị chặn. Nếu một số cổng được liệt kê, nghĩa là chúng bị chặn. Nếu cổng không bị Windows chặn xuất hiện ở đây, bạn có thể muốn kiểm tra router hoặc gửi email cho ISP, nếu chuyển cổng khác không phải lựa chọn.
Ứng Dụng Hữu Ích Để Vẽ Bản Đồ Trạng Thái Cổng
Mặc dù Command Prompt là công cụ nhanh và thô, có ứng dụng bên thứ ba tinh tế hơn giúp có bức tranh cấu hình cổng. Hai ứng dụng nổi bật ở đây chỉ là ví dụ phổ biến.
SolarWinds Free Port Scanner
SolarWinds yêu cầu bạn gửi tên và chi tiết để tải, nhưng tùy bạn có điền thông tin thật hay không. Chúng tôi thử vài công cụ miễn phí trước khi chọn SolarWinds, nhưng nó là công cụ duy nhất vừa hoạt động đúng trên Windows 10 và có giao diện dễ dùng.
Nó cũng là công cụ duy nhất không kích hoạt cảnh báo virus false positive. Một vấn đề lớn với phần mềm quét cổng là công ty bảo mật thường xem chúng như malware. Vì vậy hầu hết người dùng bỏ qua cảnh báo virus đi kèm. Đó là vấn đề vì bạn không phân biệt false positive và virus thật trong app này.
SolarWinds có thể đi kèm ràng buộc, nhưng nó thực sự hoạt động như quảng cáo và dễ dùng.
CanYouSeeMe
Đây, như bạn có thể đoán, là dịch vụ website thay vì ứng dụng. Đây là điểm đến đầu tiên tốt để xem dữ liệu bên ngoài có thể vượt qua cổng cục bộ hay không. Nó tự động phát hiện địa chỉ IP và bạn chỉ cần chỉ định cổng muốn test.
Nó sẽ cho biết cổng bị chặn hay không và bạn sẽ phải tự tìm ra chặn ở máy, router hay cấp nhà cung cấp dịch vụ.
Kết Luận
Đối với hầu hết người dùng, cổng không phải điều bạn cần lo lắng. Chúng được quản lý bởi hệ điều hành, ứng dụng và phần cứng mạng.
Khi sự cố xảy ra tuy nhiên, tốt khi có công cụ cho bạn tìm cổng mở để phát hiện hoạt động đáng ngờ hoặc tìm ra chính xác nơi thông tin quý báu gặp tường chắn.