Как следует выбрать порт TCP / IP по умолчанию для нового сервиса? - PullRequest
98 голосов
/ 25 сентября 2008

При разработке приложения, которое будет прослушивать порт TCP / IP, как следует выбрать порт по умолчанию? Предположим, что это приложение будет установлено на многих компьютерах и что желательно избегать конфликтов портов.

Ответы [ 12 ]

46 голосов
/ 25 сентября 2008

Зайдите здесь и выберите порт с описанием Unassigned

32 голосов
/ 25 сентября 2008

Первый шаг: посмотрите на список IANA :

Там вы увидите в конце списка

"Динамические и / или частные порты - от 49152 до 65535"

так что это будут ваши лучшие ставки, но как только вы выберете одну, вы всегда можете зайти на нее и посмотреть, есть ли достаточно популярное приложение, которое уже "заявило" о ней

6 голосов
/ 25 сентября 2008

Если при широком использовании вы имеете в виду защиту от других людей, использующих его в будущем, вы можете подать заявку на то, чтобы IANA пометила его как зарезервированное для вашего приложения здесь

5 голосов
/ 25 сентября 2008

Наиболее полный список официальных номеров портов IANA и неофициальных номеров портов, которые я знаю, это nmap-services .

2 голосов
/ 15 апреля 2017

Использовать список Яны. Загрузите файл csv из:

https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv

и используйте этот скрипт для поиска незарегистрированных портов:

for port in {N..M}; do if ! grep -q $port service-names-port-numbers.csv; then echo $port;fi; done;

и поставьте 2 числа вместо N и M.

2 голосов
/ 25 сентября 2008

Как уже упоминалось, проверьте IANA.

Затем проверьте свои локальные системы / etc / services и посмотрите, есть ли уже используемые пользовательские порты.

И, пожалуйста, не задавайте это жестко. Убедитесь, что он настраивается, так или иначе - если по какой-то другой причине вы не хотите, чтобы несколько разработчиков использовали свои собственные локализованные сборки одновременно.

2 голосов
/ 25 сентября 2008

Вы, вероятно, хотите избежать использования любых портов из этого списка (Википедия).

Я бы просто выбрал один, и как только приложение будет использовано массами, номер порта будет распознан и включен в такие списки.

1 голос
/ 25 сентября 2008

Если это приложение, которое вы планируете широко использовать, зарегистрируйте номер здесь так что никто другой не использует его.

В противном случае, просто выберите неиспользованный случайным образом.

Проблема с использованием единицы в динамическом диапазоне заключается в том, что она может быть недоступна, поскольку может использоваться для динамического номера порта.

1 голос
/ 25 сентября 2008

Обычно достаточно выбрать неназначенного из списка IANA, но если вы говорите о коммерчески выпущенном продукте, вам действительно следует обратиться в IANA, чтобы получить назначенный вам продукт. Обратите внимание, что процесс это простой, но медленный; последний раз, когда я подавал заявку, это заняло год.

0 голосов
/ 25 сентября 2008

Выберите порт по умолчанию, который не мешает наиболее распространенным демонам и серверам. Также убедитесь, что номер порта не указан в качестве вектора атаки для некоторых вирусов - в некоторых компаниях действуют строгие правила, запрещающие такие порты независимо от того, что именно. И последнее, но не менее важное: убедитесь, что номер порта настраивается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...