Как следует выбрать порт по умолчанию при разработке приложения, которое будет прослушивать порт TCP / IP? Предположим, что это приложение будет установлено на многих компьютерах и что желательно избегать конфликтов портов.
Как следует выбрать порт по умолчанию при разработке приложения, которое будет прослушивать порт TCP / IP? Предположим, что это приложение будет установлено на многих компьютерах и что желательно избегать конфликтов портов.
Ответы:
Зайдите сюда и выберите порт с описаниемUnassigned
Первый шаг: посмотрите список IANA :
Там вы увидите в конце списка
«Динамические и / или частные порты - это порты с 49152 по 65535»
так что это будет ваш лучший выбор, но как только вы выберете одно, вы всегда сможете найти его в Google, чтобы узнать, есть ли достаточно популярное приложение, которое уже "заявило" на него
Самый полный список официальных номеров портов IANA и неофициальных номеров портов, которые мне известны, - это nmap-services .
Вероятно, вы захотите избежать использования каких-либо портов из этого списка (Википедия).
Я бы просто выбрал один, и как только приложение будет использовано массами, номер порта будет распознан и включен в такие списки.
Как упоминают другие, проверьте IANA.
Затем проверьте свои локальные системы / etc / services, чтобы узнать, не используются ли уже какие-либо настраиваемые порты.
И, пожалуйста, не кодируйте это жестко. Убедитесь, что его можно каким-то образом настроить - хотя бы по той причине, что вы хотите, чтобы несколько разработчиков одновременно использовали свои локализованные сборки.
Обычно достаточно выбрать неназначенный продукт из списка IANA, но если вы говорите о коммерчески выпущенном продукте, вам действительно следует подать заявку в IANA, чтобы он был назначен вам. Обратите внимание, что это простой, но медленный процесс; в последний раз, когда я подавал заявку на получение одной, это длилось год.
Если это для приложения, которое, как вы ожидаете, будет широко использоваться, зарегистрируйте номер здесь, чтобы никто другой не использовал его.
В противном случае просто случайным образом выберите неиспользованный.
Проблема с использованием одного в динамическом диапазоне состоит в том, что он может быть недоступен, потому что он может использоваться для динамического номера порта.
Используйте список iana. Загрузите файл 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.
Ну, вы можете ссылаться на некоторые часто используемые номера портов здесь и постарайтесь не использовать чужой.
Если под «открытым для широкой публики» вы имеете в виду, что вы открываете порты в своих собственных системах, я бы побеседовал с вашими системными администраторами о том, с какими портами они могут это сделать.
Выберите число, которое не очень распространено
Выберите порт по умолчанию, который не мешает работе наиболее распространенных демонов и серверов. Также убедитесь, что номер порта не указан как вектор атаки для некоторых вирусов - некоторые компании имеют строгие правила, согласно которым они блокируют такие порты, несмотря ни на что. И последнее, но не менее важное: убедитесь, что номер порта можно настроить.