Các cổng nguồn UDP được chọn như thế nào?


8

Tôi vừa thực hiện một gói chụp từ máy của mình và lọc ra tất cả các kết nối UDP. Tôi đã thấy một số kết nối nhất định sử dụng cổng Nguồn UDP được tạo ngẫu nhiên và kết nối nhất định sử dụng cùng một cổng Nguồn với Cổng đích UDP.

Tôi hiểu rằng các kết nối TCP sẽ ngẫu nhiên hóa cổng nguồn để phản hồi có cổng "chuyên dụng" để đáp ứng. Nhưng làm thế nào để nó hoạt động với UDP?

Tôi đang tìm kiếm câu trả lời có thẩm quyền. Liên kết đến RFC (hoặc không có gì) sẽ được đánh giá rất cao.

Điều gì xác định cổng Nguồn UDP?

  • Là nó được tạo ngẫu nhiên khi một phản ứng được mong đợi?
  • Có phù hợp với cổng đích khi không có phản hồi dự kiến? (thay vì sử dụng 0 làm cổng nguồn)?

Cảm ơn bạn.

Câu trả lời:


6

Nó phụ thuộc vào ứng dụng. Ví dụ, nhân Linux đã triển khai ngẫu nhiên cổng nguồn UDP khi không có cổng nguồn nào được chỉ định trong kernel 2.6.24 .

Vì vậy, hành vi bạn đang thấy trong một số kết nối phải là ứng dụng cụ thể chỉ định cổng nguồn giống với cổng đích, trong khi các hành vi khác đang để nó vào kernel.


Vì vậy, những gì bạn đang nói (để đảm bảo tôi hiểu) theo mặc định, UDP sẽ chọn ngẫu nhiên các cổng nguồn (giống như TCP) trừ khi chính dịch vụ / ứng dụng gọi một cái gì đó đặc biệt, để bao gồm sử dụng các cổng nguồn / đích phù hợp. Có đúng không?
Eddie

Đó là chính xác tùy thuộc vào nền tảng.
Jeff Strunk

+1 Điều này đúng; Không giống như TCP, nơi bạn không có quyền kiểm soát cổng nguồn (vì HĐH phải đảm bảo nó là duy nhất cho mỗi ổ cắm), trong UDP, ứng dụng có thể tự do cấu hình nó thành bất cứ thứ gì nó thích. Nếu có giao tiếp hai chiều, sẽ là "hợp lý" khi cổng nguồn phải là cổng mà bên kia phải trả lời (được nêu trong Wikipedia dưới "Số cổng nguồn"). Tuy nhiên, bất cứ ai viết ứng dụng có thể dễ dàng chọn sử dụng một số ngẫu nhiên thay thế.
Groo

0

Các cổng phù du được tạo cho các gói UDP giống như TCP.

http://www.hsc.fr/ressource/articles/win_net_srv/ephem_port_alloc.html


Nhưng không phải lúc nào, như chụp gói của tôi chỉ ra. Điều gì làm cho một số kết nối sử dụng cổng nguồn UDP ngẫu nhiên và các kết nối khác khớp với cổng đích? Và khi chúng khớp nhau, điều đó ảnh hưởng đến lưu lượng truy cập như thế nào?
Eddie

Câu trả lời này mô tả cụ thể hành vi của Windows. Câu trả lời khác là về hành vi của Linux. Giả sử những điều này vẫn được cập nhật, có vẻ như Windows không ngẫu nhiên theo mặc định như Linux.
thomasrutter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.