12

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

У меня есть проблема, потому что они приходят из 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 tasklist /svc мне немного помогает, но в одном файле svchost.exe много служб, так что это все еще проблема. Более того, имена служб, возвращаемые "tasklist /svc", не легко читаются.

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

8 ответов8

9

В этом ответе «Ошибка сервера» я нашел метод (об услугах и использовании памяти), который я мог бы использовать для индивидуального анализа использования служб в сети (с помощью любого сетевого инструмента).

Питер Мортенсен:

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

SC Config Servicename Type= own

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

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

SC Config Servicename Type= share
7

SysInternals Process Explorer может сделать это за вас.

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

TCP/IP:

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

В Windows XP с пакетом обновления 2 (SP2) и выше эта страница содержит кнопку «Стек», которая открывает диалоговое окно, в котором отображается стек потока, который открыл выбранную конечную точку во время открытия. Это полезно для определения назначения конечных точек в системном процессе и процессах Svchost, потому что в стеке будет указано имя драйвера или службы, которая отвечает за конечную точку

Также о настройке символов

Настройте символы: в Windows NT и более поздних версиях, если вы хотите, чтобы Process Explorer разрешал адреса для начальных адресов потоков на вкладке потоков в диалоговом окне свойств процесса и в окне стека потоков, а затем настраивал символы, сначала загрузив пакет средств отладки для Windows из веб-сайта Microsoft. сайт и установить его в каталог по умолчанию. Откройте диалоговое окно «Настроить символы» и укажите путь к файлу dbghelp.dll, который находится в каталоге «Инструменты отладки», и заставьте механизм символов загружать символы по требованию из Microsoft в каталог на диске, введя строку сервера символов для пути символа. Например, чтобы загрузить символы в каталог c:\symbols, вы должны ввести следующую строку:

srv c:\symbols http://msdl.microsoft.com/download/symbols

Примечание. Для просмотра стека потока может потребоваться запустить Process Explorer от имени администратора.

2

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

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

2

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

Образ

2

Я знаю, что это может быть устаревшим, но все же эта страница занимает высокое место в поиске "svchost соединений", поэтому я оставлю здесь свой вклад. Существует инструмент под названием Svchost Process Analyzer, он может помочь:http://www.neuber.com/free/svchost-analyzer/index.html

1

Как уже упоминалось, найдите svchost PID данного процесса svchost и / или используйте сторонние приложения, такие как: Currports , ProcessExplorer которые помогут вам идентифицировать службы в рамках данного процесса (svchost.exe или что-то еще). Кроме того, Svchost Viewer или Svchost Analyzer строго покажет вам информацию svchost.

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

Сначала выберите процесс svchost в разделе Процессы.
Щелкните правой кнопкой мыши по данному процессу svchost и выберите «Перейти к сервису (ам)»
Он перейдет непосредственно на вкладку services и выделит данные службы, запущенные в этом процессе svchost.

Другой метод:
Используя приглашение администратора CMD:
tasklist /svc /fi "IMAGENAME eq svchost.exe" > svchost_services.txt
notepad svchost_services.txt
Это также быстрый способ получить PID данного svchost / сервиса, о котором идет речь.

1

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

1

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

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

образ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .