通过WEB启动本地Wireshark远程抓包
业务需求:
在分布式环境中,每台执行机需要分别开启远程抓包功能,前台界面通过Wireshark自动抓取某台执行机的报文,以便分析业务之间的报文交互。
前台界面嵌入Wireshark,点击抓包是自动启动抓包。
需求分析:
通过查阅资料,Web启动本地应用程序主要有两种方式:
一、通过ActiveX控件启动本地应用程序
二、通过自定义URL协议启动本地应用程序
但是ActiveX方式只有IE浏览器支持,chrome、Opera、firefox都不支持该控件,所以采用第二种方式来实现。
方案设计:
通过自定义URL协议启动本地应用程序,这个方法主要思路是利用自定义URL Protocol来调用应用程序。
浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后调用该程序传入参数,这样就可以在WEB页面调到你的程序了。
1、编写注册表信息:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\WiresharkRpcap]
"URL Protocol"="D:\\Program Files (x86)\\Wireshark\\Start.exe"
@="WiresharkRpcapProtocol"
[HKEY_CLASSES_ROOT\WiresharkRpcap\DefaultIcon]
@="D:\\Program Files (x86)\\Wireshark\\Start.exe,1"
[HKEY_CLAS