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