Как я резервирую порты для своего приложения?

Это расширяется несколько на !! прием упоминается в этом ответе. Существует на самом деле набор связанных с историей команд, которые имеют тенденцию быть забытыми о (люди склонны наносить удар, 100 раз вместо этого ища команду, они знают, что ввели).

  • history команда покажет список недавно команд выполнения с указателем события налево
  • !N заменит командой, связанной с указателем события N
  • !-N займет место N th новая команда; например. !-1 заменит новой командой, !-2 второе новое, и т.д.
  • Как упомянуто в другом ответе, !! сокращение от !-1, быстро заменять последней командой
  • !string заменит новой командой, которая начинается string
  • !?string? заменит новой командой, которая содержит string

Указатели Word могут быть прибавлены к a ! команда истории для изменения результатов. Двоеточие разделяет событие и указатели слова, например. !!:0. Указатель события !! может быть сокращен до просто ! при использовании указателя слова, таким образом, !!:0 эквивалентно !:0.

  • !:0 получит команду, которая выполнялась
  • !:1 получит первый аргумент (и !:2 второе, и т.д.)
  • !:2-3 получит вторые и третьи аргументы
  • !:^ другой путь состоит в том, чтобы получить первый аргумент. !:$ получит последнее
  • !:* получит все аргументы (но не команда)

Модификаторы могут также быть добавлены к a ! команда истории, каждый снабженный префиксом двоеточием. Любое число может быть сложено на (например. !:t:r:p).

  • h - Строка до основного имени файла
  • t - Только основное имя файла
  • r - Строка до расширения файла
  • e - Только расширение файла
  • s/search/replacement - Замените первое вхождение search с replacement
  • gs/search/replacement - Замените все случаи search с replacement

30
24.06.2011, 02:21
3 ответа

Технически, нет такой вещи как "зарезервированный порт".

В TCP/UDP единственный способ "зарезервировать" порт к на самом деле bind() сокет к нему. Связанный порт не будет использоваться другими приложениями; неиспользуемый порт, ну, в общем, не использован, таким образом, другие приложения являются бесплатными использовать его.

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

15
27.01.2020, 19:38
  • 1
    Кроме того, избегайте использования известных / зарезервированных портов если вообще возможный. –  EightBitTony 23.06.2011, 20:03
  • 2
    Иногда существуют зарезервированные порты. Это - хорошие общие рекомендации, но не корректный ответ на Linux. –  Jason Newton 01.01.2016, 22:04

На самом деле вышеупомянутый ответ не совсем точен. sysctls net.inet.ip.portrange.first и net.inet.ip.portrange.last указывают диапазон портов, которые ОС может выделить для случайных портов. Вы хотели бы удостовериться, что диапазон зарезервированных портов для Вашего приложения не находится в пределах этих переменных.

Смотрите в Руководстве FreeBSD, разделе: 12.14. Настройка Пределов Ядра. Но та же основная предпосылка должна относиться к Linux также.

15
27.01.2020, 19:38

Гарантировать ядро не выделит 49000 и 49001 клиентам, поскольку Вы хотите использовать их для своих серверов на Linux.

sysctl -w net.ipv4.ip_local_reserved_ports = 49000, 49001

отбросьте его в /etc/sysctl.conf, и затем выполненный sysctl -p.

Обратите внимание, что это не тестируется.

Ссылки

18
27.01.2020, 19:38
  • 1
    я попробовал это, но он также препятствовал тому, чтобы мое собственное приложение использовало порты! Что относительно того, чтобы определить номера портов с именами в /etc/services? –   15.09.2015, 02:59
  • 2
    @user134197 выхода $p эха, Это не должно препятствовать тому, чтобы Ваше собственное приложение использовало те порты при явном использовании не нулевого номера порта в Вашем связывать запрос. Это работает на меня. –  Mark Lakata 16.10.2015, 04:03

Теги

Похожие вопросы