Aracılığıyla paylaş


Ağ İzleyicisi aracını kullanma

Ağ İzleyicisi aracı (NetMon.exe), WPD bileşenlerinden gelen izlemeleri görüntülemek için kullanabileceğiniz arşivlenmiş bir Windows tabanlı uygulamadır. Ağ İzleyicisi aracı WpdMon.exe'nin yerini aldı.

NetMon.exe yükleme ve yapılandırma

Ağ İzleyicisi aracını yüklemek ve yapılandırmak için şu adımları tamamlayın:

  1. NetMon.exeindirip yükleyin.

  2. Windows Sürücü Seti'ni (WDK) indirin ve yükleyin.

  3. Yönetici izinlerine sahip bir Powershell.exe örneği başlatıp aşağıdaki komut dizisini çalıştırarak geliştirme makinenize WPD ayrıştırıcılarını yükleyin.

    1. PowerShell -ExecutionPolicy Uzaktan İmzalı

    2. cd C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22621.0\x86\Network Monitor Parsers\usb

    3. ..\NplAutoProfile.ps1

    4. cd ..\wpd

    5. ..\NplAutoProfile.ps1

      WPD ayrıştırıcıları Windows Sürücü Seti'ne (WDK) dahil edilir.

  4. Araçlar/Seçenekler iletişim kutusunu kullanarak NetMon.exe seçeneklerini yapılandırın:

    1. Genel sekmesinde Çerçeve Özeti 'nde sabit genişlikli yazı tipini kullan seçin.
    2. Renk Kuralları sekmesinde Aç'ı ve ardından C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22621.0\x86\Network Monitor Parsers\wpd\wpd.nmcröğesini seçin. Aç'ı, ardından Tamam'ı seçin.

Bu adımları tamamladıktan sonra NetMon.exe WPD izleme dosyalarını incelemeye hazırdır. İzlemeleri toplama bölümündeki yönergeleri izleyin.

İzleri toplama

İzlemeler oluşturmak için bir komut betiği oluşturun. Aşağıdakileri bir metin dosyasına kopyalayın ve .cmd dosya adı uzantısıyla kaydedin.

echo off
@REM ---------------------------------------------------------------------------------------
@REM UNCOMMENT THE LOGMAN COMMANDS FOR THE FOLLOWING PROVIDERS AS REQUIRED
@REM Microsoft-Windows-WPD-API                 To log API traffic
@REM Microsoft-Windows-WPD-MTPClassDriver      To log MTP command, response and datasets
@REM Microsoft-Windows-WPD-MTPUS               To log USB traffic at WpdMtpUS layer
@REM Microsoft-Windows-WPD-MTPIP               To log IP traffic at WpdMtpIP layer
@REM Microsoft-Windows-WPD-MTPBT               To log BT traffic at WpdMtpBt layer
@REM Microsoft-Windows-USB-USBPORT             To log USB core layer traffic
@REM Microsoft-Windows-USB-USBHUB              To log USB core layer traffic
@REM ---------------------------------------------------------------------------------------

@REM Start Logging

logman start  -ets WPD -p Microsoft-Windows-WPD-API            -bs 100 -nb 128 640 -o wpd_trace.etl
logman update -ets WPD -p Microsoft-Windows-WPD-MTPClassDriver -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-WPD-MTPUS          -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-WPD-MTPIP          -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-WPD-MTPBT          -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-USB-USBPORT        -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-USB-USBHUB         -bs 100 -nb 128 640
logman update -ets WPD -p Microsoft-Windows-Kernel-IoTrace 0 2
echo.
echo Please run your scenario now and
pause

@REM Stop logging
logman stop -ets WPD

Komut dosyasını oluşturduktan sonra, bir Yönetici modu komut isteminden çalıştırın.

Örnek komut dosyasının içeriğini kullandıysanız, izlemeleriniz wpd_trace.etl dosyasında depolanır.

İzlemeleri görüntüleme

İzlemelerinizi görüntülemek için NetMon.exebaşlatın, Dosya/Aç/Yakala menüsünü seçin ve toplanan wpd_trace.etl dosyasını açın. İzleme dosyasını açtığınızda, NetMon.exe izlemeleri çeşitli katmanlarda görüntüler:

  • WPDAPI – WPD komutları ve yanıtları ile WPD API düzeyinden bilgileri görüntüler
  • WPDMTP – MTP komutları ve yanıtları ile Medya Aktarım Protokolü (MTP) düzeyindeki bilgileri görüntüler
  • Aktarım (WPDMTPUS veya WPDMTPIP veya WPDMTPBT) – Aktarım düzeyi paketlerini gösterir

Aşağıdaki görüntüde API düzeyinde bir WPDAPI isteği gösterilmektedir. İstek, WPDMTP üzerinden bir aktarıma ulaşan ve ardından kabarcık oluşturan MTP istekleri biçiminde hareket eder.

'Çerçeve Özeti' penceresini farklı izleme katmanlarına yönelik açıklamalarla gösteren ekran görüntüsü.

  • Aktarım düzeyi günlük kaydı, veri aşamasında gerçek verileri günlüğe kaydetmez. GetDeviceInfo veya SendObjectPropListgibi komutlar sırasında gönderilen veya alınan veri kümeleri için WPDMTP Yanıt iletisini inceleyin.
  • Çerçeve Özeti penceresinde bir WPDMTP Yanıt satırı seçerseniz, ilgili öğe Çerçeve Ayrıntıları penceresinde genişler.
  • Daha fazla genişletmek ve keşfetmek için Çerçeve Ayrıntıları penceresindeki "+"ları seçin. Bir MTP işleminin bir veri aşaması varsa, cihazdan alınan veri kümesi WPDMTP Yanıt öğesinin DataSetOfDataPhase alanında erişilebilir.

İzlemeleri görüntülerken 'Çerçeve Ayrıntıları' penceresini gösteren ekran görüntüsü.

  • Öğeleri genişletmeyi seçebilir ve Çerçeve Ayrıntıları penceresinde WPD/MTP uyumlu iletilerin görüntülendiğini görebilirsiniz. WPD ayrıştırıcılarını yazarken izlenen kural, üst bilgi düzeyinde ayrıntıların özetini görebilmenizi sağlar. Örneğin, GetServiceCapabilities çağrısında DataSetOfDataPhase alanı yanında, bu veri kümesindeki biçimlerin sayısını gösterir.
  • Netliği artırmak için Kaynak ve Hedef sütunlarını Çerçeve Özeti penceresinde kaldırabilirsiniz
  • Çerçeve Detayları penceresinde bir alan seçtiğinizde, karşılık gelen değer Hex Detayları penceresinde vurgulanır.

NetMon.exe ile filtreleme

Ağ İzleyicisi aracı çeşitli filtreleme özellikleri sağlar.

  • Yalnızca MTP izlemelerini göstermek için Filtreyi Görüntüle penceresine girin !wpdmtp ve Uygula'yı seçin.

  • Sürücünün hata döndürdüğü durumları filtrelemek için:

    • wpderror != 0 ifadesini Görüntüleme Filtresi penceresine girin ve Uygula'yı seçin.
  • Belirli bir senaryo için tüm yöntem çağrılarını filtreleyebilirsiniz. Örneğin, aşağıdaki filtre GetServiceProperties'e yapılan tüm çağrıları alır:

    WPDMTP. CorrespondingCommand.MTPOpcode == 0x9304

  • Benzer şekilde, aşağıdaki filtre aynı yöntem çağrılarını alır:

    WPDMTP. CorrespondingCommand.MTPOpcode == MTP_OPCODE_GETSERVICEPROPERTIES