キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
3618
閲覧回数
5
いいね!
0
コメント
hiryokoy
Cisco Employee
Cisco Employee

 

はじめに

Packet captureというと多くの場合Wiresharkを使用してのものが多いかと思いますが、本稿ではWindows端末の場合の他の選択肢を紹介します。  

 

Windowsの標準機能を使用したpacket capture

コマンドプロンプトでの取得

  • netsh trace start
  • (事象再現)
  • netsh stop

取得例

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\system32>netsh trace start capture=yes tracefile=c:\hiyoko\pcap_admin.etl

トレース構成:
-------------------------------------------------------------------
ステータス:           実行中
トレース ファイル:    C:\hiyoko\pcap_admin.etl
追加:                 オフ
循環:                 オン
最大サイズ:           250 MB
レポート:             オフ


C:\Windows\system32>netsh trace stop
トレースを関連付けています... 完了
トレースの結合中... 完了
データ収集を生成しています ... 完了
トレース ファイルと追加のトラブルシューティング情報は、"c:\hiyoko\pcap_admin.cab" としてコンパイルされました。
ファイルの場所 = c:\hiyoko\pcap_admin.etl
トレース セッションは正常に停止しました。


C:\Windows\system32>

 

PowerShellでの取得

  • New-NetEventSession
  • Add-NetEventPacketCaptureProvider
  • Start-NetEventSession
  • (事象再現)
  • Stop-NetEventSession
  • Remove-NetEventSession

取得例

Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\>
PS C:\> New-NetEventSession -Name trace -LocalFilePath "c:\hiyoko\netcap.etl" -MaxFileSize 1024


Name               : trace
CaptureMode        : SaveToFile
LocalFilePath      : c:\hiyoko\netcap.etl
MaxFileSize        : 1024 MB
TraceBufferSize    : 0 KB
MaxNumberOfBuffers : 0
SessionStatus      : NotRunning



PS C:\> Add-NetEventPacketCaptureProvider -SessionName trace -TruncationLength 1500


Name               : Microsoft-Windows-NDIS-PacketCapture
SessionName        : trace
Level              : 4
MatchAnyKeyword    : 0xFFFFFFFFFFFFFFFF
MatchAllKeyword    : 0x0
CaptureType        : BothPhysicalAndSwitch
VmCaptureDirection : IngressAndEgress
MultiLayer         : False
LinkLayerAddress   : {}
EtherType          : {}
IpAddresses        : {}
IpProtocols        : {}
TruncationLength   : 1500



PS C:\> Start-NetEventSession trace
PS C:\> Stop-NetEventSession trace
PS C:\> Remove-NetEventSession trace
PS C:\>

 

取得ファイルの変換

双方とも拡張子がetlなファイルが生成されます(コマンドプロンプトではcabファイルも)。
etlファイルはWiresharkでは開けませんがMicrosoft社のNetwork Monitorで中の確認、Wiresharkで開くためのcapファイルへの変換が可能です。

Network monitorは
https://www.microsoft.com/download/details.aspx?id=4865

からdownloadし、exeを実行するのみでinstall可能です。install後下の絵のように、

 

2022-10-24-14-05-48.png

File -> Open -> Captureでetlファイルを開き、下の絵のように

 

2022-10-24-14-30-03.png

File -> Save asでcapファイルにSaveするとそのファイルをWiresharkで見ることが可能になります。

以前はMMA(Microsoft Message Analyzer)がNetwork Monitorの代替ツールのように使えていましたが、現在使用可能なのはMicrosoft社のものではNetwork Monitorのみのようです。

CLIからのpacket capture操作、Network Monitor共に詳細な使用方法はMicrosoft社のサイトを確認するのがよいと思われます。本投稿では、

Collect data using Network Monitor

Advanced Troubleshooting Server Message Block (SMB)

が参考になりました。  

 

補足

WiresharkではNetwork interfaceを指定してcapture開始となりますが、今回の方法では特にinterface指定は不要です。また、WiresharkではInterfaceのUp/down(特定のSSIDへの接続等も含む)を伴う場合captureの取得が難しい場合があったり、802.1xのWireless packetではEAP Success以前のframeを取得できない等の制限がありますが、この方法では問題無く取得できます。TAC Service Request(SR)での対応では「netsh traceで取得したものをcapに変換した」のようなコメントをいただくと話が早いかと思われます。

ただし、双方とも実行には端末の管理者権限が必要になります。一般ユーザーでは

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\>
C:\>netsh trace start capture=yes tracefile=c:\hiyoko\pcap_nonadmin.etl
要求された操作には、権限の昇格が必要です。管理者として実行してください。


C:\>

のように弾かれますのでご注意ください。本番環境の端末ではこの点が最もネックになることが考えられますが、packet captureの選択肢の一つとして考えていただければと思います。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします