適用於 Windows v3.03 的 Portmon

作者:Mark Russinovich

發佈日期:2012 年 1 月 12 日

Download下載 Portmon (226 KB)
Sysinternals Live立即執行

簡介

Portmon 是一個公用程式,可監視和顯示系統上的所有序列和平行連接埠活動。 Portmon 具有進階篩選和搜尋功能,因此是一款強大工具,可用於探索 Windows 運作方式、查看應用程式使用連接埠方式,或追蹤系統或應用程式組態中的問題。

Portmon 3.x

Portmon 3.x 版引進許多強大的功能。

  • 遠端監視:從任何可透過 TCP/IP 存取的電腦擷取核心模式和/或 Win32 偵錯輸出,甚至是透過網際網路存取。 您可以同時監視多部遠端電腦。 如果您是在 Windows NT/2K 系統上執行 Portmon,並且從相同「網路上的芳鄰」中的另一個 Windows NT/2K 系統擷取,則它甚至會安裝其用戶端軟體。
  • 最新的篩選清單:Portmon 擴充了功能強大的篩選功能,可記住您最近的篩選選項,而且介面方便您重新進行選取。
  • 剪貼簿複製:在輸出視窗中選取多行,並將其內容複製到剪貼簿。
  • 醒目提示:醒目提示符合醒目提示篩選條件的偵錯輸出,甚至可自訂醒目提示色彩。
  • 記錄到檔案:在擷取到偵錯輸出時,將其寫入檔案。
  • 列印:將擷取到的全部或部分偵錯輸出列印至印表機。
  • 單一檔案承載:Portmon 現在會實作為一個檔案。

線上說明檔會詳細說明所有功能。

PortMon screenshot

安裝與使用

只要執行 Portmon 程式檔 (portmon.exe),Portmon 就會立即開始擷取偵錯輸出。 若要在 Windows 95 上執行 Portmon,您必須從 Microsoft 取得 WinSock2 更新。 請注意,如果您是在 Windows NT/2K 上執行 Portmon,則 portmon.exe 必須位於非網路磁碟機上,而且您必須具有系統管理權限。 功能表、快速鍵或工具列按鈕可用來清除視窗、將監視的資料儲存至檔案、搜尋輸出、變更視窗字型等等。 線上說明會描述 Portmon 的所有功能。

Portmon 瞭解所有序列和平行連接埠 I/O 控制項 (IOCTL) 命令,並顯示它們及其關聯參數的相關趣味資訊。 對於讀取和寫入要求,Portmon 會顯示緩衝區的前幾十個位元組,使用 '.' 來代表不可列印的字元。 [顯示十六進位] 功能表選項可讓您在緩衝區資料的 ASCII 和原始十六進位輸出之間進行切換。

運作方式:WinNT

Portmon GUI 負責識別序列和平行連接埠。 方式是列舉在 HKEY_LOCAL_MACHINE\Hardware\DeviceMap\SerialComm 底下設定的序列連接埠,以及在 HKEY_LOCAL_MACHINE\Hardware\DeviceMap\Parallel Ports 底下定義的平行連接埠。 這些金鑰包含序列和平行連接埠裝置名稱與 Win32 可存取名稱之間的對應。

在您選取要監視的連接埠時,Portmon 會將要求傳送到裝置驅動程式,其中包含您感興趣的 NT 名稱 (例如 \device\serial0)。 驅動程式會使用標準篩選 API,將自己的篩選裝置物件附加至目標裝置物件。 首先,該驅動程式會使用 ZwCreateFile 來開啟目標裝置。 然後,該驅動程式會將從 ZwCreateFile 收回的控制代碼轉換為裝置物件指標。 建立符合目標特性的專屬篩選裝置物件之後,驅動程式會呼叫 IoAttachDeviceByPointer 來建立篩選器。 自此之後,Portmon 驅動程式將顯示針對該目標裝置的所有要求。

Portmon 具有所有標準序列和平行連接埠 IOCTL 的內建知識,這是應用程式和驅動程式從連接埠設定和讀取狀態資訊的主要方式。 IOCTL 定義於 DDK 檔案 \ddk\src\comm\inc\ntddser.h 和 \ddk\src\comm\inc\ntddpar.h 中,有些則記載於 DDK。

運作方式:Windows 95 和 98

在 Windows 95 和 98 上,Portmon GUI 依靠動態載入的 VxD 來擷取序列和平行活動。 Windows VCOMM (虛擬通訊) 裝置驅動程式可作為平行和序列裝置的介面,因此存取連接埠的應用程式可間接使用其服務。 Portmon VxD 會使用標準 VxD 服務連結來攔截對 VCOMM 函數的所有存取。 如同其 NT 裝置驅動程式,Portmon 的 VxD 會解譯要求,以更易於理解的格式來加以顯示。 在 Windows 95 和 98 上,Portmon 會監視所有連接埠,因此沒有像 NT 上那樣的連接埠選項。

Download下載 Portmon (226 KB)

Sysinternals Live立即執行