通过WEB启动本地Wireshark远程抓包
来源:互联网 发布:青岛seo网络优化 编辑:程序博客网 时间:2024/05/12 20:48
通过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_CLASSES_ROOT\WiresharkRpcap\shell]@=""[HKEY_CLASSES_ROOT\WiresharkRpcap\shell\open]@=""[HKEY_CLASSES_ROOT\WiresharkRpcap\shell\open\command]@="\"D:\\Program Files (x86)\\Wireshark\\Start.exe\" \"%1\""将上面的内容保存为WiresharkRpcap.reg文件,在上面的注册表代码中[@="\"D:\\Program Files (x86)\\Wireshark\\Start.exe\\" \"%1\""], %1表示传入参数。
2、WEB页面调用:
在网页直接定义一个超链接[协议://参数]:<!DOCTYPE HTML PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>自动启动Wireshark远程抓包</title> <metahttp-equiv="Content-Type" content="text/html;charset=utf-8" /> </head> <body> <div>Platform-browser-dynamic</div> <div> <a href="WiresharkRpcap://D:\\Program Files (x86)\\Wireshark\\Wireshark.exe -B 1 -k -i rpcap://[192.168.10.188]:2002/eth0"> <h2>启动Wireshark远程抓包</h2> </a> </div> </body></html>保存上面内容为WiresharkRpcap.html文件,此处的"WiresharkRpcap://D:\\Program Files (x86)\\Wireshark\\Wireshark.exe -B 1 -k -i rpcap://[192.168.10.188]:2002/eth0"就是对应的%1所表示的参数,解析之后就可以得到参数执行命令。
3、编写启动程序Start.exe
#include "stdafx.h"#include <windows.h>#include "stdio.h"#include "stdlib.h"#include "iostream"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int i= 0; char* cmd = NULL; for(i = 0; i < argc; ++i) { printf("argv[%d]: %s\n", i, argv[i]); } if(argc < 2) { return 1; } cmd = strstr(argv[1], "://"); if(cmd == NULL || strlen(cmd) <= strlen("://")) { return 1; } cmd += strlen("://"); printf("cmd: %s\n", cmd); system(cmd); return 0;}
4、在浏览器中打开WiresharkRpcap.html,点击超链接即可启动Wireshark远程抓包。
[END]
阅读全文
0 0
- 通过WEB启动本地Wireshark远程抓包
- wireshark 抓本地包.
- wireshark 抓本地包
- wireshark 本地抓包
- wireshark抓本地包
- Wireshark 远程抓包 .
- Wireshark 远程抓包
- wireshark 远程抓包
- Wireshark 远程抓包
- Wireshark远程抓包
- wireshark远程抓包
- Wireshark远程抓包
- wireshark远程抓包
- wireshark本地抓包方法
- wireshark能抓本地的包吗
- wireshark抓不到本地发出的包
- Wireshark安装及抓本地环路包
- window下使用wireshark远程抓包
- ios 全路径方法详解
- Harris角点检测
- tensorflow基础(1)变量的创建、初始化、保存与加载
- 文章标题
- 工作日记
- 通过WEB启动本地Wireshark远程抓包
- NOIP 天天爱跑步 [DFS/树链剖分][差分]
- 自用(spring配置文件+详细笔记)
- 读源码:commons-lang2.4
- java学习之java模拟太阳系简单实现
- TCP,IP,HTTP,SOCKET区别和联系
- Android实现简单的拍照功能
- linux学习之旅(五)&用户初探
- 多媒体(视频)