Вы можете использовать netstat
для этого. Смотрите пример (я подбросил ssh
):
netstat -putan | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1725/sshd
tcp 0 0 1.2.3.4:45734 1.2.3.5:22 ESTABLISHED 2491/ssh
tcp6 0 0 :::22 :::* LISTEN 1725/sshd
Объяснение:
Я часто использую параметры -putan
(потому что их легко запомнить).
-p
: показать PID приложения / процесса
-u
: показать порты / соединения udp
-t
: показать tcp порты / соединения
-a
: показать как слушающие, так и не слушающие розетки
-n
: числовой вывод (не выполнять поиск DNS для имен хостов и т. д.)
В приведенном выше выводе вы видите, что есть процесс ssh-демона ( sshd
) с PID, 1725
прослушивающим порт 22
на всех сетевых интерфейсах ( 0.0.0.0
). Также есть процесс клиента ssh (PID 2491
), связанный с IP-адресом 1.2.3.5
в номере порта 22
, мой IP-адрес есть, 1.2.3.4
и мой внешний порт есть 45734
. Вы видите, что соединение установлено. Поэтому я вошел через ssh
.