Как получить список портов, которые бесплатны на сервере Unix

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

Я попробовал команду netstat -a . Но возвращенная информация не дала убедительного результата, из которого все порты я могу использовать для нового приложения, которое я пишу. Оцените любую помощь, оказанную в этом отношении.

2 Solutions collect form web for “Как получить список портов, которые бесплатны на сервере Unix”

1: Вы должны использовать анонимные порты (ака эфемерные порты) для реализации службы UDP или TCP.

По умолчанию эти порты находятся в диапазоне 32768 – 65535.

 # ndd /dev/tcp tcp_smallest_anon_port 32768 # ndd /dev/tcp tcp_largest_anon_port 65535 

2: Если ваша служба не работает с правами root или имеет требуемую привилегию RBAC, вы не должны использовать привилегированный порт. По умолчанию все порты от 1 до 1024 имеют привилегию:

 # ndd /dev/tcp tcp_smallest_nonpriv_port 1024 

3: Если вы не знаете, что делаете, вы не должны использовать известный порт, который, как ожидается, будет запускать другую службу, чем тот, который вы планируете. Известные порты перечислены в /etc/services . например:

 # tail /etc/services dtspc 6112/tcp # CDE subprocess control fs 7100/tcp # Font server solaris-audit 16162/tcp # Secure remote audit logging servicetag 6481/udp servicetag 6481/tcp wnn6 22273/tcp # Wnn6 jserver wnn6 22273/udp # Wnn6 jserver rdc 121/tcp # SNDR server daemon snmpd 161/udp snmp # Net-SNMP snmp daemon swat 901/tcp # Samba Web Adm.Tool 

4: Вы не должны использовать порт, который уже используется существующей службой. Вы можете запустить их:

 # netstat -an | grep LISTEN | nawk '{$0=$1;gsub(".*\\.","");print}' | sort -un 

5: Наконец, вы не должны использовать порт, используемый отключенной службой, но это может быть включено в будущем. Это самая сложная часть для …

Вы можете использовать 1-65 535 портов в вашей системе, в которых первые 1024 имеют привилегии root.

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

 netstat -tunlep | grep LISTEN | awk '{print $4}' 

Затем вы можете использовать любой порт с 1-65535, за исключением этих портов.

  • Конфигурация совместного доступа в двух направлениях (модем с одной машиной на другую)
  • Linux-машина не обнаруживает сетевую карту
  • Нет wlan0 в Ubuntu 10.04
  • Понимание ifconfig stats
  • Как обеспечить «гостевую локальную сеть» на одном Ethernet-устройстве
  • Связь между портом, номером порта и протоколом?
  • insserv: скрипт нарушен
  • Откуда происходит переполнение кадров?
  • Поиск локальной подсети
  • NetBSD 5.1 Ошибка компиляции ядра NDIS
  • Отфильтровать запрос HTTP GET в wirehark?
  • Interesting Posts

    Перемещение файлов рекурсивно, если выполняется определенное условие

    Как создать конкретный пакет из исходного пакета Debian?

    Перенаправление всего трафика tcp в Tor с помощью iptables (прокси?)

    Может ли emacs использовать gpg-agent в терминале вообще?

    Распределение структуры безопасности inode selinux

    Подмонтирование, которое недоступно из-за разрешений FUSE, исчезает при доступе. Как?

    Как я могу узнать, что такое макет моей клавиатуры?

    Источник только часть скрипта из другого скрипта?

    Связывание двух широкополосных соединений для обслуживания LAN в качестве шлюза

    Изменение настроек XRANDR

    Какие приложения Linux полагаются на возможность чтения и записи в файл одновременно?

    Сценарий Bash с несколькими строками и Grep

    не выполняет то, что он должен делать?

    Ошибка записи /home/alessiomtx/.config/tint2/tint2rc: не каталог

    Почему «attr -l.» Рассказывает мне об атрибуте «selinux», который «attr-g selinux» отказывается читать?

    Linux и Unix - лучшая ОС в мире.