Есть множество причин, по которым вы можете захотеть помониторить сетевую активность в вашей системе Linux.
Вы можете устранять неполадки в сети, вы можете проверить, нет ли вредоносных приложений, создающих подозрительную сетевую активность и т.д.
Какой бы ни была причина, далее мы рассмотрим несколько способов узнать, какие процессы в вашей системе задействованы в сетевой активности и с кем общаются.
Netstat
Netstat – это мощная утилита, которая может выводить сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадить соединения и т.д.
Мы будем использовать его для достижения целей этого руководства.
Установка Netstat
В системах на основе Debian и Debian, таких как Ubuntu, используйте apt.
# apt install net-tools
В системах на базе Red Hat Enterprise Linux и Red Hat используйте yum,
# yum install net-tools
В системах на основе Arch используйте pacman.
# pacman -S net-tools
Просмотр сетевых процессов
Во-первых, давайте рассмотрим процессы.
Для этого введите следующую команду:
$ sudo netstat -tulpen
У каждого процесса вы можете увидеть используемый протокол, локальный адрес и порт, который он слушает, пользователя, под которым он работает, и имя PID/программы.
Как просмотреть все сетевые подключения
Теперь давайте посмотрим на все текущие сетевые подключения.
Для этого введите следующую команду, которая похожа на предыдущую, за исключением того, что мы используем -a для просмотра всех сокетов вместо -l, чтобы просто просмотреть прослушивающие сокеты.
$ sudo netstat -atupen
Просмотр установленных подключений
Вы можете оказаться в ситуации, когда хотите просмотреть только соединения с типом ESTABLISHED.
ss
Просмотр процессов
Для просмотра всех процессов введите следующее:
$ sudo ss -tlunp
Просмотреть все сетевые подключения
Чтобы просмотреть все сетевые соединения, введите следующее, где a заменяет l и показывает все сетевые сокеты, а не только слушающие.
$ sudo ss -taunp
Просмотр установленных подключений
Если -a или -l не включены, то ss покажет только установленные соединения.
Для просмотра только установленных соединений введите следующее.
$ sudo ss -tunp
lsof
Как просмотреть все сетевые подключения
Для просмотра всех сетевых подключений введите следующее.
$ sudo lsof -nP -i
Просмотр установленных подключений
Чтобы просмотреть только установленные соединения, введите следующую команду, где дополнительные переключатели перечисляют все установленные TCP-соединения.
$ sudo lsof -nP -iTCP -sTCP:ESTABLISHED
Просмотр процессов
Чтобы просмотреть слушающие процессы с помощью lsof, введите следующее.
$ sudo lsof -nP -iTCP -sTCP:LISTEN
При этом будут пропущены все процессы, которые прослушивают UDP, поэтому может быть желательно вместо этого ввести следующее, чтобы включить их.
$ sudo lsof -nP -i | grep 'LISTEN\|UDP'
Искал приложение для того чтоб посмотреть сетевую активность в macOS именно в терминале. Первых двух в Homebrew не было, но была lsof, и она очень хорошо помогла! Спасибо за статью!