Skocz do zawartości

Zaawansowana diagnostyka komputera – Sysinternals Suite w akcji


Recommended Posts

W poradniku [FAQ]Diagnostyka Komputera opisałem podstawowe zagadnienia związane z komputerami oraz jak testować komputer. Jednak co w wypadku, kiedy Windows jest naprawdę uciążliwy i nie chce się naprawić i nie możemy nijak tego zdiagnozować?

 

Dzisiaj na warsztat bierzemy narzędzie nazwane Sysinternals Suite, prawa ręka każdego administratora, programisty od optymalizacji, jednak również zwykłego użytkownika.

 

Sysinternals Suite jest zbiorem ponad 70 mini programów do zarządzania systemem Windows, które zostały stworzone przez Marka Russinovich. Programy w nim zawarte są w stanie wykryć problemy wydajnościowe, wycieki pamięci, malware, spyware, wirusy.  

 

Dają ogromny obraz tego, co się dzieje z naszym systemem, gdzie menedżer zadań czy konfiguracja systemu się kończy, tam zaczyna się Sysinternals Suite. Są to darmowe narzędzia wspierane przez Microsoft i co ważne, działają na każdym komputerze z Windowsem. 

 

Autoruns

DrgjHMj.png

Autoruns jest narzędziem, dzięki któremu jesteśmy w stanie dowiedzieć się jakie usługi, programy, biblioteki uruchamiają się razem ze startem systemu. 

 

Kategorie 

Aplikacja dzieli usługi na kategorie: 

  • Everything – czyli wszystko, co system uruchamia. 

  • Logon – standardowe lokalizacje usług z automatycznym startem, czyli folder użytkownicy, folder startowy, rejestr kluczy oraz domyślne foldery aplikacji. 

  • Internet Explorer  - pliki pomocnicze, rozszerzenia do kochanego IE  

  • Scheduled Tasks – zadania, które uruchamiają się co pewien okres np. co 1i znajdują się w zakładkach Logon Boot Execute. 

  • Services – usługi, które mają ustawiony automatyczny start wraz z systemem. 

  • Drivers – włączone sterowniki obsługujące komponenty komputera takie jak USB, CPU, GPU o najwyższych prawach dostępu do nich (kernel-mode). 

  • Explorer – programy, które posiadają GUI i w momencie uruchomienia odpalają powłokę systemu Windows np. pulpit, WinRAR, menu start. 

  • AppInit DLLs – biblioteki, które uruchamiają aplikacje. 

  • Boot Execute – natywne usługi, które uruchamiają się podczas rozruchu komputera przed uruchomieniem systemu. 

  • Image Hijacks – usługi uruchamiane z poziomu wiersza poleceń z opcjami, z jakimi się uruchamiają. 

  • Known DLLs  - biblioteki, jakie system Windows ładuje wraz ze startem usług. 

  • Winlogon  biblioteki, które zostały zarejestrowane podczas wydarzeń w Logon. 

  • Winsock Providers – zarejestrowane protokoły dla programów sieciowych, często malware rejestruje się jako jeden z nich. 

  • LSA Providers – paczki bezpieczeństwa, poświadczeń usług oraz notyfikacji. 

  • Print Monitors  biblioteki potrzebne do buforowania plików, aby można było je wydrukowaćmalware często używa tego typu bibliotek. 

Analiza systemu 

Narzędzie posiada wbudowany system do sprawdzenia konfiguracji rozruchowej systemu Windows. Wystarczy podpiąć dysk do komputera z tym programem i przejść do File -> Analyze Offline System… a następnie wskazać folder Windows na drugim dysku

 

Program analizuje i wyświetla wszystkie programy, które uruchamiają się podczas rozruchu i w razie znalezienia przyczyny istnieje możliwość eliminacji usługi, która powoduje problemy 

Tryb można wzbogacić o opcje, a dokładniej w Options -> Scan Options…  można włączyć: 

  • Scan only per-user locations  wyświetla usług tylko folderu użytkownika przy pominięciu reszty systemu. 

  • Verify code signatures – sprawdza, czy dana usługa została zweryfikowana tj. czy należy do zaufanego dostawcy np. Microsoft. 

  • Check VirusTotal.com – każda usługa przejdzie przez testy online w VirusTotal i w kolumnie obok usługi wyświetli wynik. 

  • Submit Unknown Images – opcja, która pozwala przesłać próbkę danych do VirusTotal w celu jej analizy, jeśli nie posiadają takowej w bazie.

 

BgInfo

TcJj1gh.png

Bginfo jest programem do tworzenia zrzutów ekranu wraz z konfiguracją naszego systemu. Program po uruchomieniu i braku reakcji przez 10 sekundach załaduje na pulpit nowe zdjęcie ze specyfikacją naszego systemu. Przydatne narzędzie, jeśli często używasz specyfikacji swojego komputera lub nie wiesz jak znaleźć takie informacje. 

 

1DiRWjT.jpg

Aplikacja, która pozwala stworzyć trzy dodatkowe wirtualne pulpity poza głównym, gdzie na każdym możemy robić coś innegoProgram ładuje się do zasobnika w prawym dolnym rogu i celu stworzenia nowego pulpitu wystarczy kliknąć ikonę oraz wybrać nowy pulpit. Program przeniesie nas na pusty ekran. Możemy przełączać się między pulpitami za pomocą CTRL+1,2,3,4. 

 

Program dla osób, które lubią pastwić się nad swoim komputerem. Jeśli interesują Cię BSoD’y czy programy do analizy komputera, to ten program wywoła dla Ciebie odpowiednie zachowaniePosiada trzy tryby:  

  • Crash – osiem sposobów na BSoD, od namieszania w jądrze systemu, aż po przeładowanie systemu liczbami.

  • Hang – prosty sposób na zawieszenie komputera, gdzie tylko hard reset pomoże. 

  • Leak – zapełnienie pamięci bezużytecznymi danymi, czyli wyciek pamięci 

 


Process Explorer

81k2oOv.pngProcess Explorer jest bardzo rozbudowanym bratem Menedżera zadań. Jak bardzo rozbudowanym? Mamy dostęp do ponad 160 wskaźników podzielonych na kategorie i widzimy je w postaci kolejnych kolumn. 

 

Zbierane dane 

diHEIuV.png

zakładce View-> Select Columns…  istnieją następujące kategorie: 

  • Process Image – są to podstawowe wskaźniki o procesie, który jest uruchomiony. 

  • Process Performance – wskaźniki, które mierzą wydajność i zużycie CPU. 

  • Status Bar – właściwości komputera tj. ilość procesów, zużycie CPU, ilość wątków. Wskaźniki pojawiają się na pasku na samym dole programu. 

  • Process I/O – informacje nt. zapisów i odczytów danych z dysku. 

  • Process GPU – zużycie GPU oraz jego pamięci. 

  • Process Memory – informacje nt. pamięci i co się z tymi danymi dzieje, kiedy przetwarza je CPU oraz jak system optymalizuje pamięć. 

  • DLL – informacje o bibliotekach tj. plikach z końcówką .dll. Można je podejrzeć klikając na proces i wciskając CTRL+D. 

  • Handle – informacje nt. plików, katalogów tylko, że z punktu widzenia systemu, czyli adresów w systemie szesnastkowym, kluczy dostępu czy nazw np. Chrome.exe. Klikając na proces, a potem CTRL+H załadujemy panel. 

  • .NET – wskaźniki przydatne deweloperom .NET, którzy optymalizują aplikacje pod wydajność. 

 

Znaczenie kolorów 

EjO1Lzy.pngKażdy proces ma przypisany kolor, który zmienia się co jakiś czas a dokładniej: 

  • Zielony – nowo powstały proces. 

  • Czerwony – proces został usunięty, skończył się. 

  • Jasnofioletowy – nasze procesy tj. programy, które działają na naszym obecnym koncie. 

  • Łososiowy – działające usługi np. Svchost.exe. 

  • Ciemnoszary – zawieszone usługi. 

  • Fioletowy – spakowane, zhermetyzowane procesy, warto uważać, ponieważ mogą zawierać zawirusowane programymalware, lub spyware. 

  • Jasnożółty  procesy oparte o platformę .NET Framework. 

  • Pomarańczowy – główne procesy nazwane zadaniami, które używają innych procesów np. Chrome.exe.

  • Jasnoniebieski  programy Windows 8/10 np. Microsoft Store czy Zdjęcia. 

Proces 

kGGjIHV.png

Klikając PPM na procesie ukażą się funkcje: 

  • Set Affinity - na komputerach z wieloma procesorami pozwala przypisać wątki do konkretnego procesora. 

  • Set Priority – zmiana priorytetu danego procesu, w zależności od ustawienia, system ustawi go wyżej lub niżej w hierarchii, co spowoduje, że procesy wyżej w hierarchii będą miały pierwszeństwo do zasobów systemowych i stabilniejsze działanie kosztem reszty. 

  • Kill Process (Tree)  obie funkcje pozwalają na natychmiastowe zatrzymanie pracy procesu oraz jego dzieci, jeśli je posiada.

  • Restart – usunięcie starego procesu i stworzenie nowego w jego miejscu, restart może spowodować zmiany w systemie ze względu na możliwość uruchomienia się na innym użytkowniku lub w innym środowisku. 

  • Suspend – wstrzymanie procesu w celu zwolnienia zasobów przez niego wykorzystywanych. 

  • Debug – funkcja przewidziana dla programistów do testowania oprogramowania w czasie rzeczywistym np. za pomocą Visual Studio. 

  • Create Dump  zrzut pamięci, czyli informacje o procesie od strony pamięci oraz kodu w assemblerze. 

  • Properties – informacje o procesie z bardziej szczegółowymi danymi. 

  • Search Online – funkcja, która przeszukuje Internet w poszukiwaniu za określoną nazwą procesu. 

Właściwości procesu 

rn22C2K.png

Bardziej szczegółowe informacje nt. procesu znajdziemy, gdy klikniemy proces PPM -> PropertiesWidok dzieli się na: 

  • Image  informacje wyciągnięte z właściwości procesu, tylko skondensowane w jedną zakładkę. Sprawdza, czy proces został podpisany przez wiarygodne źródło, jeżeli zamiast (Verified pojawi się (Image is probably packed) w wielu wypadkach oznacza to wirusa, spyware lub malware. 

  • Performance – informacje o wydajności CPU oraz pamięci wraz z pamięcią fizyczną i wirtualną. 

  • Performance Graph – historia użycia CPU oraz alokacji pamięci przez procesor. Kolor czerwony na wykresie oznacza, że procesor wykonuje operacje na pamięci oraz urządzeniu bezpośrednio mając do nich dostęp (wszystkie prawa, najbardziej zaufane funkcje komputera, czyli tzw. kernel-mode). Zielony oznacza wykonanie operacji z najmniejszymi prawami do pamięci i urządzenia, może jedynie wywołać niektóre stworzone funkcje (user-mode). 

  • GPU Graph  historia zużycia GPU i jego pamięci. 

  • Services – lista usług, które aplikacja wykorzystuje. 

  • Threads – ilość wątków, jakie dany proces obsługuje w celu wykonania operacji oraz w celu optymalizacji działania m.in., aby uruchomić je na wielu rdzeniach procesora. Przycisk Module uruchamia właściwości danej biblioteki lub pliku wykonawczego. Przycisk Stack pokazuje jakie zadania do wykonania ma konkretny wątek. 

  • TCP/IP  aktywne połączenia za pomocą TCP lub UDP z zewnętrznymi adresami np. IP forum.benchmark.pl po wejściu na stronę główną za pomocą Google Chrome. 

  • Security – przywileje danego procesu, co może wykonać w jakim miejscu i z jakimi prawami, można odebrać mu tutaj prawa. 

  • Environment – zmienne, które posiadają w sobie lokalizacje konkretnych usług, katalogów w systemie, które proces wykorzystuje, aby np. wykonać skrypt w CMD lub przeszukać pulpit i są na tyle ogólne, że każdy proces ma do nich dostęp. 

  • Strings – użyte przez proces łańcuchy znaków. 

  • .NET Assemblies  biblioteki, moduły z .NET Framework wykorzystane przez aplikacje. Zakładka pojawi się tylko, jeśli aplikacja jest oparta o .NET Framework. 
  • .NET Performance – informacje o procesiewykorzystywane środowisko uruchomieniowe (CLR) i aspekty przydatne dla .NET deweloperów. Tak jak wyżej, zakładka pojawi się tylko, jeśli aplikacja jest oparta o .NET Framework. 

Process Monitor jest narzędziem do monitorowania rejestru, plików, procesów oraz wątków w czasie rzeczywistym. Pozwala znaleźć każdy problem w systemie oraz wyśledzić malware, ponieważ przechodzą przez niego wszystkie zdarzenia zaistniałe w systemie. 

 

Dokładniejszego narzędzia diagnostycznego nie znajdziesz w sieci, program zbiera informacje o wszystkim. Zwykłe uruchomienie menu start na Windows 10 generuje ponad 20 tys. rekordów, opisujących jakie wydarzenia zaszły w systemie. 

 

Aktywności 

ZR93HZP.png

Program pozwala podzielić wydarzenia na aktywności według miejsca, gdzie wystąpiło: 

  • Registry – zmiany rejestrze kluczy. 

  • File System – zmiany w plikach, również tych zdalnych oraz sposoby użycia plików.

  • Network – wszystkie aktywności TCP i UDP, dane wysłane, odebrane oraz operacje od źródła aż do miejsca przeznaczenia. 

  • Process – zmiany w procesach, wątkach, bibliotekach (DLL) i sterownikach.

  • Profiling – zużycie CPU każdego procesu w kernel-mode oraz user-modeilość przełączeń kontekstu przez procesor. 

Zbierane dane 

G06tFmA.png

Aplikacja dzieli informacje na trzy główne kategorie: 

  • Application Details – informacje procesie, nazwie, architekturze, ścieżce do pliku wykonawczego czy jak uruchomić go z poziomu wiersza poleceń. 

  • Event Details  informacje o tym, jaką czynność dany proces wykonał np. zapis do pliku, zmiana wpisu w rejestrze. 

  • Process Management – informacje o tym, do jakiego użytkownika należy proces, jego numer poświadczenia czy numer procesu (PID) 

Dostęp do dodatkowy funkcji mamy poprzez Options -> Select Columns… 

 

Zdarzenia 

sc3OUOW.png

Tak właściwie to wszystkie rekordy w tej aplikacji są zdarzeniami, które miały miejsce w systemie. Każde wydarzenie posiada kilka funkcji, które w łatwy sposób pozwalają przefiltrować je i wyciągnąć z nich informacje. Wartę uwagi funkcje to: 

  • Properties – zbiorcze informacje nt. zdarzenia, czyli te, które są dostępne kolumnach razem z informacjami ze Stack. 

  • Stack – wskazuje jakie operacje na wątkach zostały wykonane podczas nagrania wydarzenia K (kernel-modelub U (user-mode). 

  • Jump To… - otworzenie w eksploratorze Windows miejsca, gdzie znajduje się plik, który wykonał zdarzenie. 

  • Include/Exclude – funkcje do dodawania filtrów, przykładem szybkiego filtru na kolumnie jest w tym wypadku WINWORD.EXEKliknięcie różnych kolumn dla tego samego rekordu spowoduje wyświetlenie różnych słów kluczy, dzięki którym możemy szybko filtrować zdarzenia. 

  • Highlight – podświetla wszystkie zdarzenia, które posiadają taką samą kolumnę np. nazwa czy architektura. Tak jak wyżej kliknięcie różnych kolumn wyświetli różne wyniki. 

Przetwarzanie zdarzeń

 

Program pozwala tworzyć własne filtry i taka funkcjonalność jest dostępna w zakładce Filter -> Filterlub wciskając CTRL+L. Filtrowanie wymaga podstawowych operacji logicznych, więc każdy jest w stanie stworzyć własny filtr. 

 

Domyślnie program podczas filtrowania nie usuwa zdarzeń, dlatego można z tych samych danych wyciągnąć różne wyniki filtrowania. Istnieje jednak opcja filtrowania destrukcyjnego, gdzie zdarzenia niezawarte w filtrze zostają usunięte. Taką opcję można włączyć w Filter -> Drop Filtered Events.  

 

Również ciekawą opcją jest tworzenie podsumowań według aktywności. Są to funkcje dostępna w zakładce Tools z dopiskiem Summary. 


TCPView 

M9V0TQU.pngTCPView jest programem, który pozwala śledzić połączenia z naszym komputerem za pomocą protokołów TCP i UDP. Nowe połączenia oznaczone są na zielonoczerwonym oznaczone zostały wszystkie usunięte połączenia oraz żółtym zmiany stanu połączenia np. z nasłuchiwanie na ustanowiony.

 

ZoomIt

1d2ikBS.png

 

ZoomIt jest przydatny podczas przeprowadzania prezentacji. Posiada tryb, który w czasie rzeczywistym pozwala rysować po ekranie, wystarczy wcisnąć CTRL+2. Podczas rysowania możemy zmienić kolor markera wciskając R (czerwony), (zielony), B (niebieski), O (pomarańczowy), P (różowy). Dodatkowo, kółko myszy (grubość), SHIFT+LPM (rysowanie prostych linii), CTRL+LPM (kształty), TAB+LPM (elipsa), SHIFT+CTRL (strzałka) lub ustawić cały ekran W (biały) lub K (czarny).

 

Zmiany można cofnąć za pomocą CTRL+Z (cofnięcie jednej czynności), (wyczyszczenie wszystkiego) lub CTRL+S (zapisanie). Dodatkowo tryb rysowania wspiera pisanie na ekranie tj. przy kliknięciu T mamy możliwość wprowadzenia tekstu. 

 

Pod CTRL+3 mamy stopertryb przybliżenia jest dostępny pod CTRL+4 wystarczy wycelować w miejsce, które chcemy przybliżyć. 

 

RAMMap 

iPvIVap.png

RAMMap jest programem, dzięki któremu jesteśmy w stanie dowiedzieć się jak Windows zarządza RAM-em, gdzie go przydziela, jak oraz po co. Aplikacja dzieli informacje nt. RAM-u według kategorii: 

  • Use Counts – podsumowanie zużycia pamięci według typu oraz fragmentacji 

  • Processes – zużycie RAM-u według procesów. 

  • Priority Summary – podział pamięci w buforze (pliki kiedyś załadowane, ale obecnie nieużywane) według priorytetów wraz z ilością pamięci w nich.

  • Physical Pages – wszystkie adresy fizyczne pamięci z przypisanymi do nich danymi (lub nie). 

  • Physical Ranges – adresy fizyczne od-do według przynależności do rodzaju wykorzystanej pamięci. 

  • File Summary – przypisana pamięć RAM według plików.

  • File Details – adresy fizyczne pamięci według plików. 

Wytłumaczenie zasady działania pamięci fizycznej oraz wirtualnej wybiega poza poziom tego poradnika, jednak warto zapamiętać, że pamięć w kolumnie Bad oznacza uszkodzony RAM. 

 

Program pozwala również zwolnić pamięć według rodzaju, wszystkie możliwe opcje znajdują się w zakładce Empty.

 

VMMap

TrHdyP2.png

VMMap jest programem do analizy pamięci fizycznej oraz wirtualnej konkretnego procesu, który mu przypiszemy. W większości wykorzystywany do szukania wycieków pamięci poprzez tworzenie migawek i analizowanie zmian w czasie.

  • Popieram 3
Link to post
Share on other sites
Gość
This topic is now closed to further replies.
  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...