Cổng 0 mang ý nghĩa đặc biệt trong lập trình mạng, đặc biệt là trong Hệ điều hành Unix khi nói đến lập trình socket, nơi cổng được sử dụng để yêu cầu các cổng động, do hệ thống cấp phát. Cổng 0 là một cổng ký tự đại diện cho hệ thống biết để tìm số cổng phù hợp.
Không giống như hầu hết các số cổng, cổng 0 là một cổng dành riêng trong mạng TCP / IP, có nghĩa là nó không được sử dụng trong các thông điệp TCP hoặc UDP. Các cổng mạng trong TCP và UDP nằm trong khoảng từ số 0 đến 65535. Số cổng trong phạm vi từ 0 đến 1023 được xác định là cổng không tạm thời, cổng hệ thống hoặc cổng nổi tiếng. Cơ quan quản lý số cổng được chỉ định trên Internet (IANA) duy trì danh sách chính thức về mục đích sử dụng dự kiến của các số cổng này trên internet và cổng hệ thống 0 sẽ không được sử dụng.
Cách Cổng TCP / UDP 0 Hoạt động trong Lập trình Mạng
Việc định cấu hình kết nối ổ cắm mạng mới yêu cầu một số cổng được cấp phát ở cả phía nguồn và đích. Thông báo TCP hoặc UDP được gửi bởi người khởi tạo (nguồn) chứa cả số cổng để người nhận thư (đích) có thể gửi thông báo phản hồi tới điểm cuối giao thức chính xác.
IANA đã phân bổ trước các cổng hệ thống được chỉ định cho các ứng dụng internet cơ bản như máy chủ web (cổng 80), nhưng nhiều ứng dụng mạng TCP và UDP không có cổng hệ thống riêng và phải lấy một cổng từ hệ điều hành của thiết bị mỗi lần chạy.
Để cấp phát số cổng nguồn của nó, các ứng dụng gọi các hàm mạng TCP / IP như bind () để yêu cầu một. Ứng dụng có thể cung cấp một số cố định (được mã hóa cứng) để bind () nếu họ muốn yêu cầu một số cụ thể, nhưng yêu cầu như vậy có thể không thành công vì một ứng dụng khác đang chạy trên hệ thống hiện đang sử dụng nó.
Ngoài ra, nó có thể cung cấp cổng 0 để bind () làm tham số kết nối của nó. Điều đó kích hoạt hệ điều hành tự động tìm kiếm và trả về một cổng khả dụng phù hợp trong dải số cổng động TCP / IP.
Ứng dụng không được cấp cổng 0 mà là một số cổng động khác. Ưu điểm của quy ước lập trình này là tính hiệu quả. Thay vì mỗi ứng dụng triển khai và chạy mã để thử nhiều cổng cho đến khi chúng nhận được một cổng hợp lệ, các ứng dụng dựa vào hệ điều hành.
Unix, Windows và các hệ điều hành khác khác nhau trong việc xử lý cổng 0, nhưng cùng một quy ước chung áp dụng.
Cổng 0 và Bảo mật Mạng
Lưu lượng mạng được gửi qua internet đến các máy chủ đang lắng nghe trên cổng 0 có thể được tạo ra từ những kẻ tấn công mạng hoặc do các ứng dụng được lập trình không chính xác. Các thông báo phản hồi mà các máy chủ tạo ra để phản hồi lại lưu lượng cổng 0 giúp những kẻ tấn công tìm hiểu hành vi và các lỗ hổng mạng tiềm ẩn của các thiết bị đó.
Nhiều nhà cung cấp dịch vụ internet (ISP) chặn lưu lượng truy cập trên cổng 0, cả tin nhắn đến và tin nhắn đi, để đề phòng những hành vi lợi dụng này.
FAQ
Số cổng là gì?
Số cổng được sử dụng cho các kết nối mạng TCP / IP đóng vai trò như thông tin địa chỉ, xác định người gửi và người nhận tin nhắn. Số cổng cho phép các ứng dụng khác nhau trên cùng một mạng chia sẻ tài nguyên cùng một lúc.
Làm cách nào để tìm số cổng?
Để tìm số cổng của một địa chỉ IP cụ thể, hãy chuyển đến dấu nhắc lệnh, nhập netstat -a, sau đó nhấn Enter. Bạn sẽ thấy danh sách các kết nối TCP đang hoạt động cùng với địa chỉ IP và số cổng được phân tách bằng dấu hai chấm.
Tôi có thể kết nối với cổng 0 không?
Không. Chính thức, cổng 0 không tồn tại và bạn không thể kết nối với nó, vì đó là số cổng không hợp lệ. Tuy nhiên, bạn có thể gửi một gói internet đến và đi từ cổng 0 giống như cách bạn gửi một số cổng khác.