Как определить процессы, использующие сетевые возможности, и можно ли их завершить?

Как определить процессы, использующие сетевые возможности, и можно ли их завершить?

В выходных данных

netstat -a | grep LISTEN

Обычно процессов много. Как (где) узнать о них информацию, каково их назначение в системе и можно ли их убить? Какие из них могут быть небезопасными, а какие безопасными?

решение1

Как (где) я могу узнать информацию о них,

Сначала вам нужно выяснить, какая программа привязана к каждому порту. К сожалению, не существует единого стандартного способа сделать это, который будет работать на всех системах типа *ix, и ваш вопрос не указывает его.

В некоторых версиях netstatесть флаг, который будет включать соответствующее имя программы в каждой выходной строке. Например, --programв Linux или -bWindows.

Если у вас netstatнет такого флага (например, OS X), вам придется найти другой метод, который работает в вашей системе. lsof -i, /procспелеология и т. д.

какова их цель в системе?

Как только вы узнаете название программы, man prognameвы, как правило, получите достаточно информации, чтобы самостоятельно ответить на этот вопрос.

[могу ли я] убить их?

Вы поймете это, как только узнаете, что делает каждый сервер.

Один ответ здесь не является подходящим местом для списка всех вещей, которые вы можете убить. Просто слишком много возможностей. Если вы не уверены в определенной программе после прочтения ее документации, вы можете задать здесь другой вопрос, спрашивая о ней. Некоторые вещи довольно очевидны (например, sshd), другие более неясны (например, avahi).

Какие из них могут быть небезопасными, а какие безопасными?

Редко бывает так, что программа запускается по умолчанию на новой *ix-системе, что абсолютно небезопасно.

(В старые недобрые времена это было не так. Часто можно было увидеть системы telnetd, работающие без chroot ftpd, r*команды...)

Любой нестандартный фоновый прослушиватель TCP должен быть установлен вами или другим доверенным администратором, поэтому, по всей вероятности, вы уже разобрались со всеми проблемами безопасности.

Здесь есть серые зоны. У вас может быть работающий сервер, который не абсолютно небезопасен, но условно небезопасен. Возможно, он не заблокирован должным образом, возможно, у него есть неисправленные ошибки и т. д. Это то, что нужно всем специалистам по компьютерной безопасности, но это не то, на что можно ответить здесь одним вопросом. Если у вас нет такого опыта, Google, вероятно, является вашим первым средством. Если вы не нашли там то, что вам нужно, вы можете разместить здесь новый вопрос о конкретном сервере.

решение2

Команда

netstat -a | grep LISTEN

перечисляет все процессы, прослушивающие различные типы сокетов. Эти сокеты могут быть любого семейства адресов, например ipv4 (udp или tcp), ipv6 (udp6 или tcp6), unix.

Такие записи, как:

tcp        0      0 *:webmin                *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN

означает tcp, что используется протокол и на вашем компьютере запущен какой-то сервер, как в моем случае запущены webmin и ftp-сервер.

Такие записи, как:

 tcp6       0      0 [::]:8484               [::]:*                  LISTEN     
 tcp6       0      0 [::]:netbios-ssn        [::]:*                  LISTEN     

означает, что используется протокол TCP6 IPv6.

Такие записи, как:

unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
unix  2      [ ACC ]     STREAM     LISTENING     13305    /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

созданы ORBit CORBA. Эта архитектура Common Object Request Broker Architecture (CORBA) является стандартом, определенным Object Management Group (OMG), который позволяет программным компонентам, написанным на нескольких компьютерных языках и запущенным на нескольких компьютерах, работать вместе, т. е. поддерживает несколько платформ.

1. Как (где) я могу узнать информацию о них?

Предположим, я хочу найти информацию о /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b. Я могу узнать подробности, выполнив следующую команду:

$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

Эта команда выдала следующий результат:

indicator  1909    pradeep   10u  unix 0xf6bd8900          0t0      13305 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
indicator  1909    pradeep   12u  unix 0xf6b1f600          0t0      13314 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

Здесь:

indicator— имя команды unix, связанной с процессом. 1909— PID процесса indicator.

2. какова их цель в системе?

Некоторые процессы, такие как

tcp        0      0 *:ftp                   *:*                     LISTEN

предназначены для прослушивания FTP-сервера.

Другие, как:

 unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75

предназначены для межпроцессного взаимодействия между различными процессами, используемыми CORBA.

3. Могу ли я их убить?

Это зависит от критичности процесса. Предположим, если вы убьете любой сервер, который слушает, то он прекратит все коммуникации, связанные с этим сервером.

4. Какие из них могут быть небезопасными, а какие безопасными?

Все это безопасные процессы.

решение3

netstat -nap | grep LISTENдаст следующий вывод, который будет включатьимяипидпринадлежащийслушаюпроцессы:

unix  2      [ ACC ]     STREAM     LISTENING     20763  2333/gnome-terminal /tmp/orbit-eugene/linc-91d-0-2dbe139bd35e3
unix  2      [ ACC ]     STREAM     LISTENING     17900  2014/bonobo-activat /tmp/orbit-eugene/linc-7de-0-2b0c0606f265
unix  2      [ ACC ]     STREAM     LISTENING     18325  2274/gnome-screensa /tmp/orbit-eugene/linc-7ef-0-59f130216cc19

-n- Показывать числовые адреса вместо попыток определить символические имена хостов, портов или пользователей.

-a- Показывать как прослушиваемые, так и не прослушиваемые сокеты.

-p Показывать PID и имя программы, к которой принадлежит каждый сокет.

Связанный контент