Назад | Перейти на главную страницу

Есть ли такой инструмент, который показывает процессы и порты вживую?

Я хотел бы отслеживать порты в «реальном времени» и процессы, которые их используют. Есть ли какой-нибудь инструмент, который может с этим справиться? Я представляю себе что-то вроде top, но со столбцом, в котором перечислены все порты, которые использует процесс ... или список портов, протокола и процесса, у которого этот порт открыт или который слушает.

Это для ОС на базе Linux.

Просто хотел спросить, какая ОС, и заметил, что вы отредактировали, чтобы добавить это. Тогда тебе повезло. Попробуйте этот быстрый и грязный однострочник (как root) в оболочке BASH:

while true ; do output=$(netstat -anptu) ; clear ; echo "$output" ; sleep 2 ; done

изменить: более сжатый, упорядоченный вывод:

while true ; do output=$( (netstat -anpt | awk '{ print $1" "$4" "$7" "$6 }' | tail -n +3 ; netstat -anpu | awk '{ print $1" "$4" "$6 }' | tail -n +3 ) | egrep '[0-9]\/' | sort | uniq) ; clear ; date ; echo "$output" ; sleep 2 ; done

Почему бы никому не предложить -c вариант для netstat.

Добавить -c к вашему существующему netstat команда, и она покажет вам результат в реальном времени.

Вы не указали ОС. Но если это Linux (что, я думаю, вероятно, поскольку вы упомянули top), то существует инструмент под названием iftop, который может отображать текущее использование полосы пропускания по IP-адресу. Это не совсем то, о чем вы просили, но в зависимости от ваших потребностей может быть достаточно близко.

Через некоторое время я обнаружил nethogs, это именно то, что мне было нужно в первую очередь:

Ему нужно имя устройства в качестве первого параметра, и он должен запускаться как sudo: sudo nethogs wlp9s0

смотреть на -i и -p варианты lsof инструмент:

watch lsof -a -itcp -p <PID>