Как следует поступить с выбором порта TCP / IP по умолчанию для новой службы?

StackOverflow https://stackoverflow.com/questions/133879

  •  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, чтобы вам его назначили.Обратите внимание, что процесс выполнения этого прост, но медленен;в последний раз, когда я подавал заявку на него, это заняло год.

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

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

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

Ну, вы можете сослаться на некоторые часто используемые номера портов здесь и старайся не пользоваться чужими.

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

Выберите число, которое не является очень Обычный

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top