Czy istnieje sposób na określenie, która usługa (w svchost.exe) wykonuje połączenie wychodzące?


12

Powtarzam konfigurację zapory sieciowej z bardziej restrykcyjnymi zasadami i chciałbym określić pochodzenie (i / lub miejsce docelowe) niektórych połączeń wychodzących.

Mam problem, ponieważ pochodzą z svchost.exe i przechodzą do dostawców treści internetowych / dostarczania aplikacji - lub podobnych:

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

Czy więc można dowiedzieć się, która usługa wykonuje określone połączenie? Lub jaka jest twoja rekomendacja odnośnie zasad stosowanych do tych?

(Comodo Firewall i Windows 7)

Aktualizacja:

netstat -ano & amp; tasklist /svc pomóż mi trochę, ale jest wiele usług w jednym svchost.exe, więc to nadal problem. ponadto nazwy usług zwracane przez „tasklist / svc” nie są łatwe do odczytania.

(Wszystkie połączenia są HTTP (port 80), ale nie sądzę, aby były istotne)

Odpowiedzi:


9

Znalazłem w tym metodę Odpowiedź na błąd serwera (o usługach i wykorzystaniu pamięci), które mogę wykorzystać do indywidualnej analizy korzystania z usług przez sieć (za pomocą dowolnego narzędzia sieciowego)

Peter Mortensen:

Podziel każdą usługę na własną   Proces SVCHOST.EXE i usługa   zużycie cykli procesora będzie   łatwo widoczne w Menedżerze zadań lub   Process Explorer (spacja po „=”   jest wymagane):

SC Config Servicename Type= own

Zrób to w oknie wiersza poleceń lub   umieść go w skrypcie BAT.   Wymagane są uprawnienia administracyjne   a ponowne uruchomienie komputera to   wymagane, zanim zacznie obowiązywać.

Pierwotny stan można przywrócić:

SC Config Servicename Type= share

7

SysInternals Process Explorer może to zrobić dla ciebie.

Otwórz właściwości procesu svchost.exe instancja, którą próbujesz przeanalizować. Kliknij na TCP / IP patka. Kliknij dwukrotnie połączenie, które chcesz odkryć, aby wyświetlić ślad połączenia. Powinieneś być w stanie śledzić stos z powrotem do biblioteki DLL, która implementuje usługę. Oto fragment pliku pomocy na temat Właściwości procesu :

TCP / IP:

Wszelkie aktywne punkty końcowe TCP i UDP   przez proces są pokazane na tej stronie.

W systemie Windows XP SP2 i nowszych ta strona   zawiera przycisk Stack, który otwiera a   okno dialogowe, które pokazuje stos   wątek, który otworzył wybrany   punkt końcowy w czasie otwarcia. To   jest przydatny do identyfikacji celu   punktów końcowych w procesie System i   Procesy Svchost ponieważ stos   będzie zawierać nazwę kierowcy lub   usługa, która jest odpowiedzialna za   punkt końcowy

Również na Konfigurowanie symboli

Konfiguruj symbole: w systemie Windows NT i   wyżej, jeśli chcesz Process Explorer   do rozwiązywania adresów dla rozpoczęcia wątku   adresy na karcie wątków   okno dialogowe właściwości procesu i   okno stosu wątków, a następnie skonfiguruj   symbole, najpierw pobierając   Narzędzia do debugowania dla pakietu Windows   ze strony internetowej Microsoft i   instalowanie go w domyślnym ustawieniu   informator. Otwórz Konfiguruj symbole   okno dialogowe i określ ścieżkę do   dbghelp.dll, który jest w debugowaniu   Katalog Tools i symbol   symbole pobierania silnika na żądanie   Microsoft do katalogu na dysku   wpisując łańcuch serwera symboli dla   ścieżka symbolu. Na przykład mieć   symbole do pobrania na symbole c:   katalog, w który wpisujesz ten ciąg:

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

Uwaga: Być może będziesz musiał uruchomić Process Explorer jako administrator, aby móc zobaczyć stos wątku.


Bardzo interesujące, ale niestety PE v11.33 wydaje się nie obsługiwać stosów TCP / IP w systemie Windows 7: - / „Stosy niedostępne w tej wersji systemu Windows”. Nie znalazłem potwierdzenia w sieci, ale jestem pewien, że poprawnie skonfigurowałem symbole ...
fluxtendu

Ten sam wynik z nowym PE 12: - /
fluxtendu

1
Hmm .. Dostaję to samo na 7. Dziwne to działa dobrze na XP.
heavyd

1
Karta TCP / IP powinna mieć kolumnę „Usługa”, która na przykład podczas przeglądania instancji svchost.exe informuje, która usługa jest właścicielem każdego połączenia (wśród usług zgrupowanych w tym samym PID). W tej chwili używam PE 12.00 iw tej chwili nie mogę sprawdzić, czy kolumna „Usługa” była tam w poprzedniej wersji, ale warto spróbować.
TataBlack

Wszystko masz rację. Dla mnie ta funkcja działa tylko w XP. Byłoby miło zbadać, co się zmieniło w w7 pod tym względem, więc to nie działa.
saulius2


2

Spróbuj użyć tasklist /svc i netstat lub netstat -an z linii poleceń.

Spowoduje to wyświetlenie programów używających svchost.exe i używanych portów. Używając numerów portów, możesz być w stanie wyszukać protokół, który zwykle używa numeru. Widzieć Lista numerów portów TCP i UDP .


Tak, ale pojedyncza instancja svchost.exe często obsługuje 10-20 usług i trudno jest ustalić, która usługa jest winna. Jest sposób na uzyskanie tych informacji , chociaż.
Peter Mortensen

2

TCPView to narzędzie graficzne, które pokaże Ci usługę, PID i połączenie TCP (zarówno lokalne, jak i zdalne):

Image


Like 'netstat -ano & amp; tasklist / svc 'to narzędzie wyróżnia różne połączenia w jednym svchost PID, ale nie pokazuje, która usługa jest za nimi ... Jest już lepsza, ponieważ łączy PID i połączenia (i rozpoznawanie niektórych dobrze znanych portów), ale nadal nie jest to, czego szukam. (Ponadto brakuje mu filtrów i funkcji dzienników ...)
fluxtendu

Downvote, ponieważ nie rozwiązuje to problemu
Chris Dale

@ ChrisDale: Nie zgadzam się. Ta odpowiedź pokazuje, która usługa się łączy, a więc uzupełnia zaakceptowaną odpowiedź.
harrymc

@Harrymc TCPView pokazuje tylko svchost.exe słuchając lub nawiązując połączenia. svchost nie jest usługą, a jedynie kontenerem dla wielu usług. Jeśli chcesz wiedzieć, która usługa nawiązuje połączenia, jesteś tylko mądrzejszy, ponieważ wiesz, że jeden z wielu nawiązuje połączenie. W porządku, to uzupełnia odpowiedź, ale tylko odrobinę. Miałem ten sam problem, a TCPView nie przykuł tego do mnie :) Sysinternals Process Explorer jednak to zrobił.
Chris Dale

1
@ChrisDale: Pokazuje pid, z pozostałych wynika.
harrymc

1

Użyj menedżera zadań, aby wyświetlić kolumny PID dla każdego procesu na liście procesów. Następnie uruchomić netstat -ano aby wyświetlić aktywne połączenia i skojarzony PID (= identyfikator procesu).


1

Narzędzie NirSoft CurrPorts robi wszystko, co chcesz, w tym filtrowanie i podawanie listy usług procesu.

W rzeczywistości jedynym problemem jest to, jak wybrać spośród ogromnej liczby kolumn informacji, które może wyświetlić.

image


To najlepsze rozwiązanie do tej pory, ale nie robi istotnej rzeczy, której szukam: kolumna „Usługi procesowe” grupuje wszystkie możliwe usługi ...
fluxtendu

1

Jak wspomniano, znajdź svchost PID danego procesu svchost i / lub użyj aplikacji innych firm, takich jak: Currports, ProcessExplorer pomoże zidentyfikować usługi w ramach danego procesu (svchost.exe lub cokolwiek innego). Również, Przeglądarka Svchost lub Analizator Svchost pokaże ci również informacje o svchost.

Chciałem też dodać: Nowsze wersje wbudowanego Menedżera zadań Windows przynajmniej pokażą ci ograniczone informacje o usługach uruchomionych w svchost (nie ma potrzeby instalowania niczego):

Najpierw wybierz proces svchost w obszarze Procesy.
Kliknij prawym przyciskiem myszy   proces svchost i wybierz „Przejdź do usługi”
Przejdzie bezpośrednio do   kartę usług i podświetl podane usługi uruchomione w ramach tego svchost   proces.

Inna metoda:
Korzystanie z monitu administratora CMD:
tasklist /svc /fi "IMAGENAME eq svchost.exe" > svchost_services.txt
notepad svchost_services.txt
Jest to również szybki sposób na uzyskanie PID danego svchost / danej usługi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.