Как получить информацию об открытых портах и процессах на терминале с помощью команды lsof

alias oports="echo -e "User:\tCommand:\tPort:\n----------------------------" && lsof -i 4 -P -n | awk '/LISTEN/ {print $3, $1, $9}' | sed 's/ [a-z0-9\.\*]*:/ /' | sort -u -k 3 -n | xargs printf '%-10s %-10s %-10s\n'"


Команда «lsof» используется для получения информации о открытых файловых дескрипторах в системе. Параметр «-i 4» указывает на IPv4 адреса, а параметр «-p» указывает на процесс. Команда «awk ‘/listen/ {print $3, $1, $9}'» выбирает только строки, содержащие ключевое слово «listen» и выводит третье, первое и девятое поле строки. Затем команда «sed ‘s/ [a-z0-9\.\*]*:/ /'» заменяет все символы идентификатора адреса на пробелы. Сортировка командой «sort -u -k 3 -n» сортирует результат по третьему полю и удаляет повторяющиеся строки. В конце команда «xargs printf ‘%-10s %-10s %-10s\n'» форматирует вывод в столбцы.

Команда «alias oports» создает псевдоним «oports», который выводит информацию об открытых портах и процессах в системе. Вывод содержит столбцы «Пользователь», «Команда» и «Порт». В начале вывода дополнительно выводится заголовок таблицы.

Альтернативой этой команде может быть использование других инструментов, таких как «netstat» или «ss», которые также предоставляют информацию о открытых портах и процессах.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *