(netstat -atn | awk '{printf "%s\n%s\n", $4, $4}' | grep -oE '[0-9]*$'; seq 32768 61000) | sort -n | uniq -u | head -n 1
Команда «netstat -atn» выводит список всех текущих TCP-соединений и прослушивающих TCP-портов на компьютере. Результат этой команды подается на вход команды «awk ‘{printf «%s\n%s\n», $4, $4}'», которая форматирует вывод, разделяя номера портов на отдельные строки. Затем команда «grep -oe ‘[0-9]*$'» отфильтровывает только числа портов.
Затем команда «seq 32768 61000» генерирует последовательность чисел от 32768 до 61000, предполагая, что это диапазон непривилегированных TCP-портов. Оба вывода команд объединяются с помощью оператора «||», который передает его на вход команды «sort -n» для сортировки в числовом порядке. Далее команда «uniq -u» удаляет повторяющиеся значения.
В конце, с помощью команды «head -n 1» выводится только первая строка (наименьшее значение), что в итоге является неиспользуемым непривилегированным TCP-портом.
Альтернативой этой команде может быть использование специализированных утилит, таких как «lsof» или «ss», которые также могут предоставить информацию о TCP-портах и соединениях. Команда принимает аргументы.