Có cách nào để xác định dịch vụ nào (trong svchost.exe) không kết nối đi không?


12

Tôi đang làm lại cấu hình tường lửa của mình với các chính sách hạn chế hơn và tôi muốn xác định nguồn gốc (và / hoặc đích) của một số kết nối gửi đi.

Tôi gặp sự cố vì chúng đến từ svchost.exe và đi đến các nhà cung cấp phân phối ứng dụng / nội dung web - hoặc tương tự:

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

Vì vậy, có thể biết dịch vụ nào kết nối cụ thể? Hoặc những gì bạn đề nghị về các quy tắc áp dụng cho những quy tắc này?

(Tường lửa Comodo & Windows 7)

Cập nhật:

netstat -ano& tasklist /svcgiúp tôi một chút nhưng chúng có nhiều dịch vụ trong một svchost.exe nên vẫn còn vấn đề. hơn nữa, tên dịch vụ được trả về bởi "tasklist / svc" không dễ đọc.

(Tất cả các kết nối là HTTP (cổng 80) nhưng tôi không nghĩ nó có liên quan)

Câu trả lời:


9

Tôi đã tìm thấy một phương pháp trong này câu trả lời Lỗi máy chủ (về việc sử dụng dịch vụ và bộ nhớ) mà tôi có thể sử dụng để phân tích riêng việc sử dụng dịch vụ mạng (với bất kỳ công cụ mạng nào)

Peter Mortensen:

Tách từng dịch vụ để chạy trong quy trình SVCHOST.EXE của riêng nó và dịch vụ tiêu thụ chu kỳ CPU sẽ dễ dàng hiển thị trong Trình quản lý tác vụ hoặc Trình khám phá quy trình (không gian sau "=" là bắt buộc):

SC Config Servicename Type= own

Làm điều này trong một cửa sổ dòng lệnh hoặc đặt nó vào một tập lệnh BAT. Đặc quyền quản trị là bắt buộc và khởi động lại máy tính là cần thiết trước khi nó có hiệu lực.

Trạng thái ban đầu có thể được khôi phục bằng cách:

SC Config Servicename Type= share

7

SysIternals Process Explorer có thể làm điều này cho bạn.

Mở các thuộc tính quy trình của svchost.exetrường hợp bạn đang cố gắng phân tích. Nhấp vào tab TCP / IP . Nhấp đúp chuột vào kết nối bạn muốn khám phá để hiển thị dấu vết ngăn xếp của kết nối. Bạn sẽ có thể theo dõi ngăn xếp trở lại DLL thực hiện dịch vụ. Đây là một đoạn trích từ tệp trợ giúp về chủ đề Quy trình đúng :

TCP / IP:

Bất kỳ điểm cuối TCP và UDP hoạt động nào thuộc sở hữu của quy trình đều được hiển thị trên trang này.

Trên Windows XP SP2 trở lên, trang này bao gồm nút Stack mở hộp thoại hiển thị ngăn xếp của luồng đã mở điểm cuối đã chọn tại thời điểm mở. Điều này hữu ích để xác định mục đích của các điểm cuối trong quy trình Hệ thống và quy trình Svchost vì ngăn xếp sẽ bao gồm tên của trình điều khiển hoặc dịch vụ chịu trách nhiệm về điểm cuối

Ngoài ra về cấu hình biểu tượng

Định cấu hình Biểu tượng: trên Windows NT trở lên, nếu bạn muốn Process Explorer giải quyết địa chỉ cho địa chỉ bắt đầu luồng trong tab luồng của hộp thoại thuộc tính quy trình và cửa sổ ngăn xếp luồng, sau đó định cấu hình biểu tượng bằng cách tải xuống gói Công cụ gỡ lỗi cho Windows từ web của Microsoft trang web và cài đặt nó trong thư mục mặc định của nó. Mở hộp thoại Cấu hình biểu tượng và chỉ định đường dẫn đến dbghelp.dll trong thư mục Công cụ gỡ lỗi và có các biểu tượng tải xuống công cụ biểu tượng theo yêu cầu từ Microsoft đến một thư mục trên đĩa của bạn bằng cách nhập chuỗi máy chủ biểu tượng cho đường dẫn biểu tượng. Ví dụ: để tải biểu tượng vào thư mục c: \ biểu tượng, bạn sẽ nhập chuỗi này:

srv c: \ biểu tượng http://msdl.microsoft.com/doad/symbols

Lưu ý: Bạn có thể cần chạy Process Explorer với tư cách quản trị viên để có thể xem ngăn xếp của luồng.


Rất thú vị, nhưng thật không may, PE v11.33 dường như không hỗ trợ ngăn xếp TCP / IP trên Windows 7: - / "Ngăn xếp không có sẵn trên phiên bản Windows này". Tôi không tìm thấy xác nhận trên web nhưng tôi khá chắc chắn rằng mình đã cấu hình đúng các Biểu tượng ...
fluxtendu

Kết quả tương tự với PE 12 mới: - /
fluxtendu

1
Hmm .. Tôi nhận được điều tương tự trên 7. Lạ là nó hoạt động tốt trên XP.
heavyyd

1
Tab TCP / IP phải có cột "Dịch vụ", ví dụ như trong khi xem xét một thể hiện của svchost.exe, sẽ cho bạn biết dịch vụ nào sở hữu mỗi kết nối (trong số các dịch vụ được nhóm theo cùng một PID). Ngay bây giờ tôi đang sử dụng PE 12.00 và tại thời điểm này tôi không thể kiểm tra xem cột "Dịch vụ" có ở phiên bản trước hay không, nhưng nó đáng để thử.
TataBlack

Tất cả các bạn đều đúng. Đối với tôi tính năng này chỉ hoạt động trong XP. Sẽ rất tốt nếu điều tra về những gì đã thay đổi trong w7 về vấn đề này để nó không hoạt động.
saulius2 15/03/2015

2

Tôi biết điều này có thể đã lỗi thời, nhưng trang này vẫn được xếp hạng cao trong tìm kiếm "kết nối svchost", vì vậy tôi sẽ ném đầu vào của mình vào đây. Có một công cụ gọi là Svchost Process Analyzer, nó có thể giúp: http://www.neuber.com/free/svchost-analyzer/index.html


2

Hãy thử sử dụng tasklist /svcnetstathoặc netstat -antừ dòng lệnh.

Điều này sẽ cho bạn thấy các chương trình đang sử dụng svchost.exe và các cổng đang được. Sử dụng số cổng, bạn có thể tra cứu giao thức thường sử dụng số này. Xem Danh sách số cổng TCP và UDP .


Có, nhưng một phiên bản duy nhất của svchost.exe thường lưu trữ 10-20 dịch vụ và rất khó tìm ra dịch vụ nào bị lỗi. Có một cách để có được thông tin đó , mặc dù.
Peter Mortensen

2

TCPView là một công cụ đồ họa sẽ hiển thị cho bạn dịch vụ, kết nối TCP và TCP (cả cục bộ và từ xa):

Hình ảnh


Giống như 'netstat -ano & tasklist / svc', công cụ này phân biệt các kết nối khác nhau trong một Svchost PID nhưng không hiển thị dịch vụ nào đứng sau chúng ... Nó đã tốt hơn vì nó liên kết với các kết nối PID & (và nhận ra một số cổng được biết rõ) nhưng nó vẫn không phải là những gì tôi đang tìm kiếm. (Hơn nữa, nó thiếu các tính năng của bộ lọc và nhật ký ...)
fluxtendu

Downvote vì điều này không giải quyết được vấn đề
Chris Dale

@ChrisDale: Tôi không đồng ý. Câu trả lời này cho thấy dịch vụ nào đang kết nối và do đó bổ sung cho câu trả lời được chấp nhận.
harrymc

@Harrymc TCPView chỉ hiển thị Svchost.exe nghe hoặc thực hiện các kết nối. svchost không phải là dịch vụ, chỉ là một container cho nhiều dịch vụ. Nếu bạn cần biết dịch vụ nào tạo kết nối, bạn chỉ có thể thông minh hơn vì bạn biết rằng một trong số nhiều người đang thực hiện kết nối. Đủ công bằng, nó bổ sung cho câu trả lời, nhưng chỉ là một chút. Tôi đã có cùng một vấn đề và TCPView đã không giải quyết nó cho tôi :) Mặc dù vậy, Sysiternals Process Explorer đã làm điều đó.
Chris Dale

1
@ChrisDale: Nó hiển thị pid, từ tất cả những thứ khác theo sau.
harrymc

1

Sử dụng trình quản lý tác vụ để xem các cột PID cho từng quy trình trong danh sách quy trình. Sau đó chạy netstat -anođể xem các kết nối hoạt động và liên quan đến PID (= id id).


1

Tiện ích NirSoft CurrPorts thực hiện mọi thứ bạn muốn, bao gồm lọc và đưa ra danh sách các dịch vụ của một quy trình.

Trong thực tế, vấn đề duy nhất với nó là làm thế nào để chọn trong số lượng lớn các cột thông tin mà nó có khả năng hiển thị.

hình ảnh


Đó là giải pháp tốt nhất cho đến nay nhưng không làm điều cần thiết Tôi đang tìm: Các "Quy trình dịch vụ" nhóm cột tất cả các dịch vụ có thể ...
fluxtendu

1

Như đã đề cập, hãy tìm ra bộ vi xử lý Svchost của quy trình svchost cụ thể và / hoặc sử dụng các ứng dụng của bên thứ 3 như : Currports, ProcessExplorersẽ giúp bạn xác định các dịch vụ theo quy trình nhất định (svchost.exe hoặc bất cứ thứ gì khác). Ngoài ra, Trình xem Svchost hoặc Trình phân tích Svchost cũng sẽ hiển thị nghiêm ngặt cho bạn thông tin về Svchost.

Tôi cũng muốn thêm: Các phiên bản mới hơn của Trình quản lý tác vụ Windows tích hợp ít nhất sẽ hiển thị cho bạn thấy một số thông tin hạn chế về các dịch vụ chạy dưới svchost (không cần cài đặt gì):

Đầu tiên, chọn quy trình svchost trong Quy trình.
Nhấp chuột phải vào quy trình svchost đã cho và chọn "Chuyển đến (các) Dịch vụ"
Nó sẽ chuyển trực tiếp đến tab dịch vụ và tô sáng các dịch vụ đã cho chạy theo quy trình svchost đó.

Một phương pháp khác:
Sử dụng dấu nhắc của quản trị viên CMD:
tasklist /svc /fi "IMAGENAME eq svchost.exe" > svchost_services.txt
notepad svchost_services.txt
Đây cũng là một cách nhanh chóng để có được PID của dịch vụ / dịch vụ cụ thể được đề cập.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.