Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Xác định Service nào đang chạy dưới một SVCHOST.EXE process ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (362.19 KB, 7 trang )

Xác định Service nào đang chạy dưới một SVCHOST.EXE process

Có khá nhiều câu hỏi liên quan đến
svchost.exe. Ví dụ như tại sao svchost.exe lại
chiếm 100% CPU? Có thể kill svchost.exe đi
được không? Tất cả các câu hỏi này đều liên
quan đến hiểu biết về svchost.exe. Khi có được
những thông tin về svchost.exe trong bài viết
dưới đây, bạn dễ dàng xử lý được các tình
huống trên.


Service là những chương trình Windows mà bắt đầu khi nạp Windows và tiếp tục
chạy ở mức nền (background) của hệ điều hành và không có sự
tương tác từ
phía người dùng. Với những người quen *nix, service trên Windows tương tự
như daemon trên *.nix.

Phần lớn các service trên Windows là dạng exe, tuy nhiên cũng có một vài
service dạng dll. Windows không có cách thực hiện file dll trực tiếp, mà thông
qua một chương trình đóng vai trò launch các dll này. Cụ thể, Windows sử dụng
SVCHOST.EXE để launch các service dll, nó còn được gọi là Generic Host
Process for Win32 Services. Mỗi SVCHOST process có thể quản lý một hoặc
nhiều Service DLL khác nhau.

Dưới đây là 02 phương pháp để xem một svchost.exe process kiểm soát máy
tính của bạn

1. Xác định service nào chạy dưới svchost.exe process bằng Process
Explorer


Process Explorer là một chương trình quản lý process, cho phép thấy được
những process đang chạy trên Windows và đưa ra thông tin cho mỗi process.
Một tính năng của Process Explorer là cho phép đưa ra các service và
svchost.exe điều khiển.

Process Explorer là một công cụ miễn phí nằm trong gói công cụ của hãng
Sysinternal. Hiện gói các công cụ này được MS mua lại. Tham khảo về Process
Explorer và download theo link dưới:
/>

Sau khi download Process Explorer, chạy, giao diện như Hình 1
Giao diện Process Explorer


Trên Hình 1, cuộn danh sách các process để tìm các svchost.exe process. Để
xem những service nào đang chạy trong svchost.exe nào, nhắp đúp vào
svchost.exe đó. Trong ví dụ ở hình 1, svchost.exe có PID = 656 có 2 service là
rapimgr.exe và Dot1XCfg.exe (Chú ý rằng các svchost.exe sẽ được phân biệt
bằng PID).

Để chi tiết về một svchost.exe, nhắp đúp vào svchost.exe đó, sẽ xuất hiện hộp
thoại svchost.exe Properties như Hình 2.

svchost.exe properties - tab Services


Trên svchost.exe Properties, chọn tab Services. Sẽ xuất hiện danh sách các
service chạy bên dưới svchost.exe. Có thể kiểm tra chi tiết về các file này. Như
vậy với phương pháp trên sẽ xác định được service nào đang chạy trong
svchost.exe nào.


2. Xác định service chạy dưới svchost.exe process bằng lệnh tasklist

Trên Windows XP Pro và Windows 2003 có công cụ là tasklist.exe. Công cụ này
cho phép liệt kê những process, service đang chạy trên Windows.

Để chạy tasklist.exe, chạy cửa sổ Terminal, sau đó gõ lệnh. Ví dụ thực hiện lệnh
sau:
tasklist /svc /fi "imagename eq svchost.exe" (1)

TaskList



Trên Hình 3 là việc thực hiện câu lệnh (1). Nhận thấy rằng svchost.exe có PID =
656, đang chạy 02 Service là DcomLaunch và TermService.

3. Thông tin nâng cao về svchost.exe

Bây giờ chúng ta đã biết một svchost.exe process có thể nạp và quản lý nhiều
service. Tuy nhiên những service nào lại được ghép thành một nhóm để cùng
chạy dưới một svchost.exe? Những nhóm này được định nghĩa bởi việc thiết lập
trong Windows Registry key sau:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\SVCHOST
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\SVCHOST


Trên Hình 4 là Registry, mục svchost. ở cột bên phải, chú ý rằng với mỗi nhóm

có giá trị REG_MULTI_SZ là danh sách các tên Service.

×