Розробляючи додаток, який прослуховуватиме порт TCP / IP, як слід піти про вибір порту за замовчуванням? Припустимо, що ця програма буде встановлена на багатьох комп’ютерах і бажано уникати конфліктів портів.
Розробляючи додаток, який прослуховуватиме порт TCP / IP, як слід піти про вибір порту за замовчуванням? Припустимо, що ця програма буде встановлена на багатьох комп’ютерах і бажано уникати конфліктів портів.
Відповіді:
Зайдіть сюди і виберіть порт із описомUnassigned
Перший крок: подивіться список IANA :
Там ви побачите в кінці списку
"Динамічні та / або приватні порти - це від 49152 до 65535"
тож це були б ваші кращі ставки, але як тільки ви виберете один, ви завжди можете на ньому гугл, щоб побачити, чи є достатньо популярний додаток, який вже "заявляв" на нього
Найповніший список офіційних номерів портів IANA та неофіційних номерів портів, які я знаю, - це nmap-сервіси .
Напевно, ви хочете уникати використання портів із цього списку (Wikipedia).
Я просто вибрав би один, і як тільки додаток буде використано масою, номер порту стане розпізнаваним та включений до таких списків.
Як згадують інші, перевірте IANA.
Потім перевірте свої локальні системи / тощо / послуги, щоб побачити, чи вже є користувацькі порти, які вже використовуються.
І будь ласка, не жорстко кодуйте це. Переконайтеся, що це можливо налаштувати, так чи інакше - якщо ні з якої іншої причини ви хочете мати можливість декількох розробників, які використовують свої локалізовані збірки одночасно.
Вибір непризначеного зі списку 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.
Ну, ви можете посилатися на деякі часто використовувані номери портів тут і постарайтеся не використовувати чужий.
Якщо під "відкритим для широкої публіки" ви маєте на увазі відкриття портів у власних системах, я б поспілкувався з вашими системними адміністраторами про те, з якими портами їм комфортно робити це.
Виберіть порт за замовчуванням, який не заважає найпоширенішим демонам і серверам. Також переконайтеся, що номер порту не вказаний як вектор атаки на якийсь вірус - деякі компанії мають сувору політику, коли вони блокують такі порти, незважаючи ні на що. І останнє, але не менш важливо, переконайтеся, що номер порту настроюється.