Если я наберу «netstat», я могу увидеть список IP-адресов, к которым подключен мой компьютер.
Если я начну с IP-адреса, как мне найти процесс, открывший соединение с указанным IP-адресом?
Я считаю следующую команду довольно удобной
netstat -nap --ip
Ты можешь использовать sockstat -c | grep IP.IP.IP.IP
.
Без grep вывод выглядит так.
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS hennes sshd 74693 3 tcp4 131.155.141.68:22 88.159.82.134:4748 hennes sshd 74693 4 stream -> ?? root sshd 74690 3 tcp4 131.155.141.68:22 88.159.82.134:4748 root sshd 74690 5 stream -> ?? hennes ssh 72543 3 tcp6 2001:610:1108:5011::68:637622001:610:1108:5010::159:22 hennes sshd 84193 3 tcp4 131.155.141.68:22 88.159.82.134:1047 hennes sshd 84193 4 stream -> ?? root sshd 84190 3 tcp4 131.155.141.68:22 88.159.82.134:1047 root sshd 84190 5 stream -> ?? postfix pickup 84095 7 dgram -> ?? hennes tf-50b8 61863 3 tcp6 2001:610:1108:5011::68:612482001:610:1108:5011::70:3333 001:610:1108:5011::68:222001:610:1108:5011:2e0:81ff:fe2d:e87c:54441 root sshd 75997 3 tcp6 2001:610:1108:5011::68:222001:610:1108:5011:2e0:81ff:fe2d:e87c:54441 root sshd 75997 5 stream -> ?? hennes irssi 46812 3 tcp4 131.155.141.68:57245 88.198.94.219:6667 hennes irssi 46806 3 tcp4 131.155.141.68:56526 131.155.140.178:6667 hennes ssh 91455 3 tcp6 2001:610:1108:5011::68:543982001:610:1108:5010::135:22
С помощью grep вы можете использовать простой фильтр, поэтому он показывает только желаемый IP-адрес, но заголовок также теряется.
Вы захотите использовать либо lsof
или fuser
.
lsof
имеет более простой синтаксис, а также напрямую отображает всю необходимую информацию, включая имя исполняемого файла процесса:
lsof -i @address
1- открыть cmd> netstat -ano
2- вы увидите столбец, в котором указан PID с номером
3- откройте диспетчер задач, перейдите на вкладку процессов и выберите меню «Просмотр», пока вы находитесь на этой вкладке.
4- затем выберите «выбрать столбец» и добавьте PID
Теперь вы увидите, к чему привязан PID из команды netstat.