Существует ли способ определить, какой сервис (в svchost.exe) делает исходящее соединение?

Я восстанавливаю свою конфигурацию брандмауэра с более строгими политиками, и я хотел бы определить происхождение (и/или место назначения) некоторых исходящих соединений.

У меня есть проблема, потому что они происходят из svchost.exe и переходят к веб-контенту / поставщики поставки приложения - или подобный:

5 IP in range: 82.96.58.0 - 82.96.58.255      --> Akamai Technologies         akamaitechnologies.com
3 IP in range: 93.150.110.0 - 93.158.111.255  --> Akamai Technologies         akamaitechnologies.com
2 IP in range: 87.248.194.0 - 87.248.223.255  --> LLNW Europe 2               llnw.net
205.234.175.175                               --> CacheNetworks, Inc.         cachefly.net
188.121.36.239                                --> Go Daddy Netherlands B.V.   secureserver.net

Таким образом, действительно ли возможно знать, какой сервис делает конкретное соединение? Или то, какова Ваша рекомендация о правилах, относилось к этим?

(Comodo Firewall & Windows 7)

Обновление:

netstat -ano & tasklist /svc помогите мне немного, но они - многие сервисы в одном svchost.exe, таким образом, это - все еще проблема. кроме того, сервисные названия, возвращенные "списком задач/svc", не легки читаемый.

(Всеми соединениями является HTTP (порт 80), но я не думаю, что это релевантно),

12
задан 21.03.2010, 13:34

6 ответов

Я нашел метод в этом ответе Отказа сервера (об услугах и использовании памяти), что я мог использовать для анализа индивидуально использования сети сервисов (с любым сетевым инструментом)

Peter Mortensen:

Разделите каждый сервис для выполнения в его собственном процессе SVCHOST.EXE, и сервис, использующий циклы ЦП, будет легко видим в Проводнике Диспетчера задач или Процесса (пространство после того, как "=" будет требоваться):

SC Config Servicename Type= own

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

Исходное состояние может быть восстановлено:

SC Config Servicename Type= share
9
ответ дан 07.12.2019, 11:50

Проводник Процесса SysInternals может сделать это для Вас.

Откройте свойства процесса svchost.exe экземпляр Вы пытаетесь проанализировать. Нажмите на вкладку TCP/IP. Дважды щелкните по соединению, которое Вы желаете обнаружить для перевода в рабочее состояние отслеживания стека соединения. Необходимо смочь проследить стек до DLL, который реализует сервис. Вот является выборка от справочного файла по теме Процесса Properites:

TCP/IP:

Любой активный TCP и конечные точки UDP, принадлежавшие процессу, показывают на этой странице.

На Windows XP SP2 и выше эта страница включает кнопку Stack, которая открывает диалоговое окно, которое показывает стопку потока, который открыл выбранную конечную точку во время открытого. Это полезно для идентификации цели конечных точек в процессах System process и Svchost, потому что стек будет включать название драйвера или сервиса, который ответственен за конечную точку

Также при конфигурировании символов

Настройте Символы: на Windows NT и выше, если Вы хотите, чтобы Проводник Процесса разрешил адреса для начальных адресов потока на вкладке потоков диалогового окна свойств процесса и окна стопки потока затем, настраивают символы первой загрузкой Средств отладки для пакета Windows с веб-сайта и установки Microsoft его в ее каталоге по умолчанию. Откройте Настраивать диалоговое окно Символов и укажите путь к dbghelp.dll, это находится в каталоге Debugging Tools, и имейте символы загрузки механизма символа по требованию от Microsoft до каталога на Вашем диске путем ввода строки сервера символов для пути символа. Например, чтобы иметь загрузку символов к каталогу c:\symbols Вы ввели бы эту строку:

srvc:\symbolshttp://msdl.microsoft.com/download/symbols

Примечание: Вы, возможно, должны запустить Проводник Процесса как администратор, чтобы смочь видеть стопку потока.

7
ответ дан 07.12.2019, 11:50

Попытайтесь использовать tasklist /svc и netstat или netstat -an из командной строки.

Это покажет Вам программы, которые используют svchost.exe и порт быть. Используя номера портов, Вы можете искать протокол, который обычно использует число. См. Список номеров портов UDP и TCP.

2
ответ дан 07.12.2019, 11:50

TCPView является графическим инструментом, который покажет Вам сервис, PID и соединение TCP (и локальный и удаленный):

Image

2
ответ дан 07.12.2019, 11:50

Используйте диспетчер задач для просмотра столбцов PID для каждого процесса в списке процессов. Затем выполненный netstat -ano просмотреть активные соединения и связало PID (= идентификатор процесса).

1
ответ дан 07.12.2019, 11:50

CurrPorts утилиты NirSoft делает все, что Вы хотите, включая фильтрацию и предоставление списка процессуальные извещения.

На самом деле единственная проблема с ним состоит в том, как выбрать среди огромного количества информационных столбцов, которые это может потенциально отобразить.

image

1
ответ дан 07.12.2019, 11:50

Теги

Похожие вопросы