Làm thế nào để chọn một cổng TCP / IP mặc định cho một dịch vụ mới?


110

Khi phát triển một ứng dụng sẽ lắng nghe trên cổng TCP / IP, người ta nên chọn một cổng mặc định như thế nào? Giả sử rằng ứng dụng này sẽ được cài đặt trên nhiều máy tính và bạn muốn tránh xung đột cổng.


1
Đây được trả lời tốt hơn ở đây: stackoverflow.com/questions/10476987/...
matt2000

Câu trả lời:


49

Tới đây và chọn một cổng với mô tảUnassigned


11
Bạn đang đề nghị anh ta chọn một cổng dưới 100?
mpen

3
Tôi nên chọn cái nào?
Owen

1
Nếu tất cả các nhà phát triển đi theo logic đó, điều đó có nghĩa là tất cả các dịch vụ mới tập trung xung quanh một vài cổng chưa được chỉ định. Xác suất dịch vụ đang chạy trên một cổng được chỉ định so với một cổng chưa được chỉ định là bao nhiêu. (Xin lỗi nếu tôi không để lộ một số bí mật thương mại :)
hultqvist

1
Nếu bạn đang tìm kiếm một cổng để sử dụng trên mạng nội bộ thì vui lòng xem xét câu trả lời này cho một câu hỏi tương tự: stackoverflow.com/questions/218839/…
adrianwadey

32

Bước đầu tiên: xem danh sách IANA :

Ở đó, bạn sẽ thấy ở cuối danh sách

"Cổng động và / hoặc cổng riêng là những cổng từ 49152 đến 65535"

vì vậy đó sẽ là những cược tốt hơn của bạn, nhưng khi bạn chọn một ứng dụng, bạn luôn có thể google trên đó để xem liệu có ứng dụng đủ phổ biến nào đã "xác nhận" nó không


8
Nhưng việc sử dụng một cổng động sẽ không khiến tôi gặp phải xung đột cổng không liên tục (mặc dù hiếm gặp)? Có lẽ sẽ an toàn hơn nếu sử dụng một cổng trong phạm vi đã đăng ký chưa được gán hoặc được gán cho một ứng dụng ít người biết đến.
Kevin Wong

4
trừ khi bạn đăng ký rõ ràng lựa chọn cổng của mình với IANA, bạn sẽ chạy cùng một tỷ lệ xung đột bằng cách sử dụng "UNASSIGNED" mà tôi nghĩ. Trên thực tế, vì có rất nhiều chưa được chỉ định ở cấp thấp, những người đó có lẽ sẽ có nhiều khả năng là IMHO
curtisk

2
Luôn bắt đầu với phạm vi chưa được chỉ định, với tùy chọn cổng có thể định cấu hình người dùng / quản trị viên để giải quyết các xung đột có thể xảy ra. CHỈ nếu ứng dụng của bạn được sử dụng rộng rãi (ví dụ như BitTorrent, hoặc một số mức sử dụng lớn khác) thì bạn mới nên thực sự cân nhắc việc đăng ký một cổng được chỉ định. Nếu không, hãy ở ngoài phạm vi được chỉ định. Nếu điều này là cho một cái gì đó hoàn toàn nội bộ / cá nhân thì chỉ cần ghi lại các cổng đang được sử dụng bởi các dịch vụ khác nhau và bạn sẽ ổn miễn là mọi người có thể tra cứu chúng ở đâu đó trực tuyến. Hãy nghĩ về phạm vi riêng tư / động tương tự như các IP không thể định tuyến - chúng hoàn hảo cho mục đích sử dụng nhỏ / riêng tư.
jefflunt

3
Đừng mắc sai lầm khi cho rằng ứng dụng của bạn cần một cổng IANA được chỉ định bởi vì bạn nghĩ rằng ứng dụng của mình sẽ bùng nổ trong quá trình sử dụng trước khi thực sự xảy ra. :)
jefflunt

7
Về phạm vi động, tôi nghĩ rằng câu hỏi "xung đột" có thể được đặt ra là liệu, nếu một hệ điều hành đang sử dụng phạm vi đó cho các cổng tạm thời (nếu cần), liệu điều đó có xảy ra xung đột với cổng bạn đã chọn không nếu hệ điều hành quyết định ngẫu nhiên để sử dụng cổng đó cho một số kết nối đi. (Theo tôi hiểu, việc sử dụng ngẫu nhiên phạm vi này là cổng tạm thời để làm gì.) Xem câu hỏi khác này nêu rõ mối quan tâm chi tiết hơn.
Garret Wilson

7

Nếu được sử dụng rộng rãi, nghĩa là bạn muốn bảo vệ chống lại những người khác sử dụng nó trong tương lai, bạn có thể đăng ký để được IANA đánh dấu là dành riêng cho ứng dụng của bạn tại đây


5

Danh sách đầy đủ nhất về số cổng chính thức của IANA và số cổng không chính thức mà tôi biết là nmap-services .


2

Bạn có thể muốn tránh sử dụng bất kỳ cổng nào từ danh sách này (Wikipedia).

Tôi sẽ chỉ chọn một và khi ứng dụng được nhiều người sử dụng, số cổng sẽ được công nhận và đưa vào danh sách như vậy.


2

Như những người khác đề cập, hãy kiểm tra IANA.

Sau đó, kiểm tra hệ thống cục bộ / etc / services của bạn để xem có một số cổng tùy chỉnh đã được sử dụng hay không.

Và làm ơn, đừng mã hóa nó. Đảm bảo rằng nó có thể định cấu hình, bằng cách nào đó, bằng cách nào đó - nếu không vì lý do gì khác mà bạn muốn có thể có nhiều nhà phát triển sử dụng các bản dựng được bản địa hóa của riêng họ cùng một lúc.


1

Chọn một sản phẩm chưa được chỉ định từ danh sách IANA thường là đủ, nhưng nếu bạn đang nói về một sản phẩm được phát hành thương mại, bạn thực sự nên đăng ký IANA để được chỉ định cho bạn. Lưu ý rằng quá trình thực hiện điều này rất đơn giản nhưng chậm; lần cuối cùng tôi đăng ký, phải mất một năm.


1

Nếu đây là ứng dụng mà bạn mong muốn được sử dụng rộng rãi, thì hãy đăng ký một số tại đây để không ai khác sử dụng nó.

Nếu không, chỉ cần chọn ngẫu nhiên một cái không sử dụng.

Vấn đề với việc sử dụng một trong dải động là nó có thể không khả dụng vì nó có thể đang được sử dụng cho một số cổng động.



-1

À, bạn có thể tham khảo một số cổng thông dụng tại đây và cố gắng không sử dụng của bất kỳ ai khác.

Nếu "mở cho công chúng nói chung" có nghĩa là bạn đang mở các cổng trên hệ thống của riêng mình, tôi sẽ trò chuyện với quản trị viên hệ thống của bạn về những cổng nào họ cảm thấy thoải mái khi làm điều đó.



-1

Chọn một cổng mặc định không can thiệp vào các daemon và máy chủ phổ biến nhất. Ngoài ra, hãy đảm bảo rằng số cổng không được liệt kê là vectơ tấn công của một số vi rút - một số công ty có chính sách nghiêm ngặt mà họ chặn các cổng đó bất kể điều gì. Cuối cùng nhưng không kém phần quan trọng, hãy đảm bảo rằng số cổng có thể định cấu hình.

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.