Giden bağlantıyı hangi hizmetin (svchost.exe'de) belirlediğinin bir yolu var mı?


13

Güvenlik duvarı yapılandırmamı daha kısıtlayıcı politikalarla yeniden yapıyorum ve bazı giden bağlantıların provenansını (ve / veya hedefini) belirlemek istiyorum.

Svchost.exe'den geldikleri ve web içeriğine / uygulama dağıtım sağlayıcılarına gittikleri için bir sorunum var - veya benzeri:

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

Peki, hangi hizmetin belirli bir bağlantıyı yaptığını bilmek mümkün müdür? Ya da bu kurallara uygulanan kurallar hakkında tavsiyeniz nedir?

(Comodo Güvenlik Duvarı ve Windows 7)

Güncelleme:

netstat -ano& tasklist /svcbana biraz yardım ama hala bir sorun bu yüzden bir svchost.exe birçok hizmet vardır. dahası, "görev listesi / svc" tarafından döndürülen hizmet adlarının okunması kolay değildir.

(Tüm bağlantılar HTTP (bağlantı noktası 80), ancak alakalı olduğunu düşünmüyorum)

Yanıtlar:


9

Bu Sunucu Hatası yanıtında (hizmetler ve bellek kullanımı hakkında) hizmetlerin ağ kullanımını (herhangi bir ağ aracıyla) ayrı ayrı analiz etmek için kullanabileceğim bir yöntem buldum

Peter Mortensen:

Her bir hizmeti kendi SVCHOST.EXE işleminde çalışacak şekilde bölün, CPU döngülerini tüketen hizmet Görev Yöneticisi'nde veya İşlem Gezgini'nde kolayca görünür ("=" karakterinden sonraki boşluk gereklidir):

SC Config Servicename Type= own

Bunu bir komut satırı penceresinde yapın veya bir BAT komut dosyasına yerleştirin. Yönetici ayrıcalıkları gerekir ve yürürlüğe girmeden önce bilgisayarın yeniden başlatılması gerekir.

Orijinal durum şu şekilde geri yüklenebilir:

SC Config Servicename Type= share

7

SysInternals Process Explorer bunu sizin için yapabilir.

Analiz svchost.exeetmeye çalıştığınız örneğin işlem özelliklerini açın . Tıklayın TCP / IP sekmesine. Bağlantının yığın izini getirmek için keşfetmek istediğiniz bağlantıya çift tıklayın. Yığını, hizmeti uygulayan DLL'e kadar izleyebilmelisiniz. Proses Özellikleri konusundaki yardım dosyasından bir alıntı :

TCP / IP:

İşlemin sahip olduğu tüm etkin TCP ve UDP uç noktaları bu sayfada gösterilir.

Windows XP SP2 ve sonraki sürümlerde bu sayfa, açılış sırasında seçilen bitiş noktasını açan iş parçacığının yığınını gösteren bir iletişim kutusu açan bir Yığın düğmesi içerir. Bu, Sistem işleminde ve Svchost işlemlerinde uç noktaların amacını tanımlamak için yararlıdır, çünkü yığın, uç noktadan sorumlu sürücü veya hizmetin adını içerecektir

Ayrıca Sembolleri Yapılandırma Hakkında

Sembolleri Yapılandır: Windows NT ve üstünde, Process Explorer'ın işlem özellikleri iletişim kutusunun ve iş parçacığı yığını penceresinin iş parçacığı başlangıç ​​adresleri için adresleri çözümlemesini istiyorsanız, önce Microsoft'un web sitesinden Windows için Hata Ayıklama Araçları paketini indirerek sembolleri yapılandırın site ve varsayılan dizinine yükleme. Sembolleri Yapılandır iletişim kutusunu açın ve Hata Ayıklama Araçları dizinindeki dbghelp.dll dosyasının yolunu belirtin ve sembol altyapısı için, sembol yolunu bir sembol sunucusu dizesi girerek Microsoft'tan talep edilen sembolleri diskinizdeki bir dizine indirmesini sağlayın. Örneğin, sembollerin c: \ semboller dizinine indirilmesi için şu dizeyi girersiniz:

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

Not: İş parçacığının yığınını görebilmek için Process Explorer'ı yönetici olarak çalıştırmanız gerekebilir.


Çok ilginç, ama ne yazık ki PE v11.33, Windows 7'de TCP / IP yığınlarını desteklemiyor gibi görünüyor: - / "Yığınlar bu Windows sürümünde mevcut değil". Web'de onay bulamadım, ancak Sembolleri doğru bir şekilde yapılandırdığımdan eminim ...
fluxtendu

Yeni PE 12 ile aynı sonuç: - /
fluxtendu

1
Hmm .. Aynı şeyi 7'de alıyorum. Garip XP'de iyi çalışıyor.
heavyd

1
TCP / IP sekmesinde, örneğin svchost.exe örneğine bakarken, hangi hizmetin her bağlantının sahibi olduğunu bildiren (aynı PID altında gruplanan hizmetler arasında) bir "Hizmet" sütunu olmalıdır. Şu anda PE 12.00 kullanıyorum ve şu anda "Hizmet" sütununun önceki sürümde olup olmadığını kontrol edemiyorum, ama denemeye değer olmalı.
TataBlack

Haklısın. Benim için bu özellik yalnızca XP'de çalışır. Bu konuda w7'de nelerin değiştiğini araştırmak iyi olur, bu yüzden işe yaramaz.
saulius2


2

TCPView size hizmet, PID ve TCP bağlantısını (hem yerel hem de uzak) gösterecek bir grafik aracıdır:

TCPView ekran görüntüsü


'Netstat -ano & tasklist / svc' gibi bu araç, bir svchost PID'deki farklı bağlantıları ayırır, ancak arkalarında hangi hizmetin olduğunu göstermez ... PID ve bağlantıları birbirine bağladığı için (ve bazı iyi bilinen bağlantı noktalarını tanıdığı için) zaten daha iyi ama hala aradığım şey bu değil. (Ayrıca filtre ve günlük özellikleri eksik ...)
fluxtendu 22:30

Bu sorunu çözmediğinden aşağı oy
Chris Dale

@ChrisDale: Kabul etmiyorum. Bu cevap hangi hizmetin bağlandığını gösterir ve bu nedenle kabul edilen yanıtı tamamlar.
harrymc

@Harrymc TCPView yalnızca svchost.exe dosyasını dinliyor veya bağlantı kuruyor. svchost hizmet değil, birden çok hizmet için bir kaptır. Hangi hizmetin bağlantıları yaptığını bilmeniz gerekiyorsa, çoğundan birinin bağlantı yaptığını bildiğiniz için yalnızca daha akıllıca davranabilirsiniz. Yeterince adil, cevabı tamamlıyor, ama sadece biraz. Aynı sorun vardı ve TCPView benim için çivi vermedi :) Sysinternals Process Explorer olsa yaptı.
Chris Dale

1
@ChrisDale: Aşağıdaki tüm pid gösterir.
harrymc

2

Kullanmayı deneyin tasklist /svcve netstatya netstat -ankomut satırından.

Bu size svchost.exe ve kullanılan bağlantı noktalarını kullanan programları gösterecektir. Bağlantı noktası numaralarını kullanarak, sayıyı yaygın olarak kullanan protokolü arayabilirsiniz. Bkz . TCP ve UDP bağlantı noktası numaralarının listesi .


Evet, ancak svchost.exe dosyasının tek bir örneği genellikle 10-20 hizmeti barındırır ve hangi hizmetin hatalı olduğunu bulmak zordur. Yine de bu bilgiyi almanın bir yolu var .
Peter Mortensen

1

İşlem listesindeki her işlem için PID sütunlarını görüntülemek üzere görev yöneticisini kullanın. Ardından netstat -anoetkin bağlantıları ve ilişkili PID'yi (= işlem kimliği) görüntülemek için çalıştırın .


1

Belirtildiği gibi, verilen svchost işleminin svchost PID bulmak ve / veya benzeri 3. parti uygulamaları kullanmak: Currports, ProcessExplorersize verilen süreç (svchost.exe veya başka bir şey) kapsamında hizmet belirlemenize yardımcı olacaktır. Ayrıca, Svchost Viewer veya Svchost Analyzer da size kesinlikle svchost bilgilerini gösterecektir.

Ayrıca eklemek istedim: Yerleşik Windows Görev Yöneticisi'nin daha yeni sürümleri en azından svchost altında çalışan hizmetler hakkında bazı sınırlı bilgileri gösterecektir (hiçbir şey yüklemenize gerek yoktur):

İlk olarak, İşlemler altındaki svchost işlemini seçin.
Verilen svchost işlemini sağ tıklayın ve "Hizmetlere Git" i seçin
Doğrudan hizmetler sekmesine gidecek ve o svchost işlemi altında çalışan belirli hizmetleri vurgulayacaktır.

Başka bir yöntem:
Yönetici CMD istemini kullanma:
tasklist /svc /fi "IMAGENAME eq svchost.exe" > svchost_services.txt
notepad svchost_services.txt
Bu aynı zamanda söz konusu svchost / hizmetinin PID'sini almanın hızlı bir yoludur.


1

NirSoft yardımcı programı CurrPorts , bir sürecin hizmetlerinin filtrelenmesi ve listesini vermek de dahil olmak üzere istediğiniz her şeyi yapar.

Aslında, bununla ilgili tek sorun, potansiyel olarak gösterebileceği çok sayıda bilgi sütunu arasından nasıl seçim yapılacağıdır.

CurrPorts yardımcı programının ekran görüntüsü


Bu şimdiye kadarki en iyi çözüm ama aradığım temel şeyi yapmıyor: "İşlem Hizmetleri" sütun tüm olası hizmetleri
gruplandırıyor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.