Portmon dla systemu Windows w wersji 3.03
Autor: Mark Russinovich
Opublikowano: 12 stycznia 2012 r.
plik Portmon(226 KB)
Uruchom teraz polecenie Sysinternals Live.
Wprowadzenie
Portmon to narzędzie, które monitoruje i wyświetla wszystkie działania portów szeregowych i równoległych w systemie. Ma zaawansowane funkcje filtrowania i wyszukiwania, które sprawiają, że jest zaawansowanym narzędziem do eksplorowania sposobu działania systemu Windows, wyświetlania sposobu używania portów przez aplikacje lub śledzenia problemów w konfiguracjach systemu lub aplikacji.
Portmon 3.x
Wersja 3.x portmon oznacza wprowadzenie wielu zaawansowanych funkcji.
- Zdalne monitorowanie: Przechwyć dane wyjściowe debugowania w trybie jądra i/lub Win32 z dowolnego komputera dostępnego za pośrednictwem protokołu TCP/IP — nawet przez Internet. Można jednocześnie monitorować wiele komputerów zdalnych. Portmon zainstaluje nawet oprogramowanie klienckie, jeśli korzystasz z niego w systemie Windows NT/2K i przechwytuje się z innego systemu Windows NT/2K w tej samej dzielnicy sieci.
- Listy najnowszych filtrów:Portmon został rozszerzony o zaawansowane funkcje filtrowania i zapamiętuje najnowsze opcje filtru z interfejsem, który ułatwia ich ponowne zaznaczenie.
- Kopia schowka: Wybierz wiele wierszy w oknie danych wyjściowych i skopiuj ich zawartość do schowka.
- Podkreślając: Wyróżnij dane wyjściowe debugowania, które pasują do filtru wyróżniania, a nawet dostosuj kolory wyróżniania.
- Dziennik do pliku: Zapisz dane wyjściowe debugowania w pliku jako przechwycone.
- Drukarstwo: Drukuj wszystkie lub części przechwyconych danych wyjściowych debugowania do drukarki.
- Jeden ładunek pliku:Portmon jest teraz implementowany jako jeden plik.
W pliku pomocy dostępnej w wierszu opisano wszystkie te funkcje i bardziej szczegółowo.
Instalacja i użycie
Po prostu wykonaj plik programu Portmon (portmon.exe), a portmon natychmiast rozpocznie przechwytywanie danych wyjściowych debugowania. Aby uruchomić portmon w systemie Windows 95, należy pobrać aktualizację WinSock2 firmy Microsoft. Należy pamiętać, że jeśli uruchomisz portmon w systemie Windows NT/2K portmon.exe musi znajdować się na dysku spoza sieci i musisz mieć uprawnienia administracyjne. Za pomocą menu, klawiszy dostępu lub przycisków paska narzędzi można wyczyścić okno, zapisać monitorowane dane w pliku, wyszukać dane wyjściowe, zmienić czcionkę okna i nie tylko. W pomocy lokalnej opisano wszystkie funkcje Portmona .
Portmon rozumie wszystkie polecenia kontroli we/wy portów szeregowych i równoległych (IOCTLs) i wyświetla je wraz z interesującymi informacjami dotyczącymi skojarzonych parametrów. W przypadku żądań odczytu i zapisu portmon wyświetla pierwsze kilkadziesiąt bajtów buforu przy użyciu znaku ""., aby reprezentować znaki niedrukowalne. Opcja menu Pokaż szesnastkowy umożliwia przełączanie między danymi ASCII i nieprzetworzonymi danymi szesnastkowymi buforu.
Jak to działa: WinNT
Graficzny interfejs użytkownika portmonu jest odpowiedzialny za identyfikowanie portów szeregowych i równoległych. Robi to, wyliczając porty szeregowe skonfigurowane w ramach HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm i portów równoległych zdefiniowanych w HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports. Te klucze zawierają mapowania między nazwami urządzeń portów szeregowych i równoległych oraz nazwami dostępnymi dla systemu Win32.
Po wybraniu portu do monitorowania portmon wysyła żądanie do sterownika urządzenia, który zawiera nazwę NT (np. \device\serial0), które cię interesują. Sterownik używa standardowych interfejsów API filtrowania w celu dołączenia własnego obiektu urządzenia filtru do obiektu urządzenia docelowego. Najpierw używa polecenia ZwCreateFile , aby otworzyć urządzenie docelowe. Następnie tłumaczy uchwyt odbierany z obiektu ZwCreateFile do wskaźnika obiektu urządzenia. Po utworzeniu własnego obiektu urządzenia filtru, który jest zgodny z charakterystyką obiektu docelowego, sterownik wywołuje IoAttachDeviceByPointer w celu ustalenia filtru. Od tego momentu na sterowniku Portmon będą widoczne wszystkie żądania skierowane do urządzenia docelowego.
Portmon ma wbudowaną wiedzę na temat wszystkich standardowych list IOCTL portów szeregowych i równoległych, które są podstawowym sposobem konfigurowania i odczytywania informacji o stanie aplikacji i sterowników z portów. Listy IOCTLs są zdefiniowane w pliku DDK \ddk\src\comm\inc\ntddser.h i \ddk\src\comm\inc\ntdddpar.h, a niektóre są udokumentowane w DDK.
Jak to działa: Windows 95 i 98
W systemach Windows 95 i 98 graficzny interfejs użytkownika portmonu jest oparty na dynamicznie załadowanym dysku VxD do przechwytywania działań szeregowych i równoległych. Sterownik urządzenia VCOMM (Virtual Communications) systemu Windows służy jako interfejs do urządzeń równoległych i szeregowych, dzięki czemu aplikacje, które uzyskują dostęp do portów pośrednio korzystających z jego usług. Portmon VxD używa standardowego podłączania usługi VxD do przechwytywania wszystkich dostępu do funkcji VCOMM. Podobnie jak w przypadku sterownika urządzenia NT, VxD Portmon interpretuje żądania wyświetlania ich w przyjaznym formacie. W systemie Windows 95 i 98 Portmon monitoruje wszystkie porty, więc nie ma wyboru portu, takiego jak w NT.
plik Portmon(226 KB)
Uruchom teraz polecenie Sysinternals Live.