Windows内置pktmon捕获全量数据包报无效provider ID如何解决
报错原因
- 该报错由参数解析顺序错误导致,
pktmon命令的-p属于歧义缩写参数,具体解析逻辑和所在位置强相关:- 当
-p放在--etw参数之前时,会被识别为--pkt-size(数据包捕获大小上限)的缩写,赋值0代表不限制捕获大小,符合捕获完整数据包的需求; - 当
-p放在--etw参数之后时,会被ETW模块识别为--provider(事件提供程序ID)的缩写,0不属于合法的提供程序ID,因此触发报错。
- 当
解决方案
直接调整参数顺序即可,可选择以下任意一种正确命令执行:
- 保留缩写参数,调整顺序:
pktmon start -p 0 --etw - 写全参数名避免歧义(不受参数顺序影响):
pktmon start --etw --pkt-size 0
内容的提问来源于stack exchange,提问作者Mario
相关产品推荐
相关产品推荐

