time seq 65535 | parallel -k --joblog portscan -j9 --pipe --cat -j200% -n9000 --tagstring '\033[30;3{=$_=++$::color%8=}m' 'nc -vz localhost $(head -n1 {})-$(tail -n1 {})'
Эта команда выполняет быстрый скан портов на локальном хосте. Она использует утилиту parallel
, которая позволяет параллельно выполнять команды.
Команда seq 65535
генерирует последовательность чисел от 1 до 65535, которая передается на вход команде parallel
.
Опция -k
гарантирует сохранение порядка вывода результатов.
Опция --joblog portscan
указывает, что результаты выполнения команды будут записаны в файл portscan
.
Опция -j9
ограничивает количество одновременно выполняющихся задач до 9.
Опция --pipe --cat
используется для передачи данных из seq
в последующую команду.
Опция -j200%
указывает, что parallel
может использовать до 200% доступных ядер процессора для выполнения задач.
Опция -n9000
ограничивает количество аргументов, передаваемых в команду nc
, до 9000.
Опция --tagstring '\033[30;3{=$_=++$::color%8=}m'
добавляет цветные теги к выводу команды.
Команда nc -vz localhost $(head -n1 {})-$(tail -n1 {})
выполняет проверку доступности портов на локальном хосте. Аргументы, переданные из seq
, используются для указания диапазона портов для сканирования.
Альтернативой может быть использование других утилит, таких как nmap
или masscan
, которые предоставляют более расширенные возможности для сканирования портов.