Как узнать, какие приложения используют «Процесс хоста для служб Windows» для получения измеренных данных?

2341
user568458

Мне приходится тратить много времени на дозированные соединения в стране, где данные дороги. Я использую межсетевой экран Glasswire, чтобы следить за тем, какое программное обеспечение использует мои ценные данные, и регулировать программы, которые используют слишком много (или не должны их использовать). Это позволяет мне видеть, какое программное обеспечение использует сколько данных, а затем включать и выключать доступ к Интернету для свиноводов, которые не соответствуют моим настройкам «измеряемой сети» ( например, Dropbox ).

Моя проблема заключается в том, что иногда программное обеспечение крадется по задней части Glasswire, когда включается Host Process for Windows Services. Использование данных обнаруживается как не Host Process for Windows Servicesимеющее представления о том, какое приложение использует хост-процесс:

Введите описание изображения здесь

Мои единственные варианты - полностью отключить Host Process или позволить мошенническому приложению съесть мои данные без проверки - и это зависит от многих программ. Например, если я выключу его, доступ к Интернету через мой браузер перестанет работать.

Обычно он использует очень мало данных:

Введите описание изображения здесь

... но иногда он идет бананом и начинает загружать сотни мегабайт данных без видимой причины. Иногда в названии веб-хоста, к которому он обращается, есть ключ, но часто это нечто общее, например, akamai.

Например, недавно, без каких-либо предупреждений или объяснений, Host Process for Windows Services загрузил около 250 МБ, почти все из которых были от akamai, небольшое количество было от adobe.com (но это могло быть совпадением). Мне пришлось выбирать между отключением всего, что зависело от хост-процесса (включая мои браузеры), или разрешением неизвестному приложению съесть неизвестный большой объем данных без видимой причины.


Есть ли способ узнать, что использует Host Process for Windows Services для получения данных, и выборочно отключить индивидуальное использование Host Process for Windows Services без отключения всего этого?

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

6
[Согласно Википедии] (https://en.wikipedia.org/wiki/Svchost.exe#Service_tags) это недокументированный API. `netstat -b` показывает, к какому сервису относится соединение, поэтому все, что вам нужно, возможно. Daniel B 8 лет назад 0

1 ответ на вопрос

3
fluxtendu

Я задал похожий вопрос некоторое время назад и, наконец, нашел ответ на вопрос «Ошибка сервера» об использовании памяти службами. Ответ состоит в том, чтобы отделить все вероятные сервисы от Host Process, чтобы они также работали для использования в сети. (Даже после разделения я не уверен, что GlassWire различает разные сервисы, но это делает Nirsoft CurrPorts или Sysinternals Process Explorer )

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

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

SC Config Servicename Type= own

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

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

SC Config Servicename Type= share

Пример: чтобы инструментарий управления Windows работал в отдельном файле SVCHOST.EXE:

SC Config winmgmt Type= own

Эта техника не имеет никаких побочных эффектов, за исключением, возможно, незначительного увеличения потребления памяти. Помимо наблюдения за использованием ЦП для каждой службы, он также позволяет легко отслеживать дельту ошибок страниц, скорость чтения дискового ввода-вывода и скорость записи дискового ввода-вывода для каждой службы. Для Process Explorer, меню View / Select Columns: вкладка Process Process / Page Fault Delta, вкладка Performance Process / IO Delta Write Bytes, вкладка Performance Process / IO Delta Read Bytes, соответственно.


В большинстве систем есть только один процесс SVCHOST.EXE, который имеет много сервисов. Я использовал эту последовательность (ее можно вставить прямо в окно командной строки):

rem 1. "Automatic Updates" SC Config wuauserv Type= own  rem 2. "COM+ Event System" SC Config EventSystem Type= own  rem 3. "Computer Browser" SC Config Browser Type= own  rem 4. "Cryptographic Services" SC Config CryptSvc Type= own  rem 5. "Distributed Link Tracking" SC Config TrkWks Type= own  rem 6. "Help and Support" SC Config helpsvc Type= own  rem 7. "Logical Disk Manager" SC Config dmserver Type= own  rem 8. "Network Connections" SC Config Netman Type= own  rem 9. "Network Location Awareness" SC Config NLA Type= own  rem 10. "Remote Access Connection Manager" SC Config RasMan Type= own  rem 11. "Secondary Logon" SC Config seclogon Type= own  rem 12. "Server" SC Config lanmanserver Type= own  rem 13. "Shell Hardware Detection" SC Config ShellHWDetection Type= own  rem 14. "System Event Notification" SC Config SENS Type= own  rem 15. "System Restore Service" SC Config srservice Type= own  rem 16. "Task Scheduler" SC Config Schedule Type= own  rem 17. "Telephony" SC Config TapiSrv Type= own  rem 18. "Terminal Services" SC Config TermService Type= own  rem 19. "Themes" SC Config Themes Type= own  rem 20. "Windows Audio" SC Config AudioSrv Type= own  rem 21. "Windows Firewall/Internet Connection Sharing (ICS)" SC Config SharedAccess Type= own  rem 22. "Windows Management Instrumentation" SC Config winmgmt Type= own  rem 23. "Wireless Configuration" SC Config WZCSVC Type= own  rem 24. "Workstation" SC Config lanmanworkstation Type= own  rem End. 
Я, должно быть, неправильно понял первый шаг, потому что, когда я вписываю `SC Config Servicename Type = own` в командную строку (как пользователь-администратор, Windows 8.1), он просто возвращает« [SC] OpenService FAILED 1060: указанная служба не существует как установленный сервис. - Где я должен поставить эту команду? ** РЕДАКТИРОВАТЬ ** о, я вижу, "Servicename" должно быть реальным именем службы, хаха, упс! Так что я пройдусь по списку внизу; Есть ли способ найти другие имена служб в моей системе? Я думаю, что мои мошеннические сервисы нестандартны (возможно, Adobe или Google) user568458 8 лет назад 0
В диспетчере служб (запустите services.msc) щелкните правой кнопкой мыши службу и выберите свойства fluxtendu 8 лет назад 0

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