自己完成了
wireshark开发环境的搭建,主要参考资料是wireshark的官方developer-guide.pdf,网址:https://www.wireshark.org/docs/。
现把搭建过程中的主要步骤总结如下:
1、系统环境
win7x64 SP1
Microsoft Visual Studio 2015 Community Edition
Qt5.0.1
Python3.6.5
2、安装C编译器和SDK
选择的是vs2015社区版,下载地址:https://go.microsoft.com/fwlink/?LinkId=532606&clcid=0x409,这是一个在线安装版,本身很小,安装过程中会下载很多文件下来,如果是在虚拟机里安装,需要合理安排硬盘的大小,因为仅vs2015的安装大致需要12G的存储空间。
安装过程中,选择自定义安装(custom),在选择安装的组件时,开发手册建议仅安装“"Common Tools for Visual C++ 2015”,考虑到今后可能会使用C语言做开发,我同时选择了编程语言中的Visual C++,当然,我并不清楚不选择Visual C++组件是否可以进行C语言开发,安装过程很顺利,根据提示完成即可,安装过程时间很长。
3、安装Qt
wireshark是采用Qt+C的开发模式,其界面的设计是通过Qt的库完成的。Qt同样有付费版与免费版,免费版已足够开发使用,选择的是Qt Open Source版本,即免费版,安装过程很顺利,假设安装目录为:C:\Qt.
4、安装Cygwin
选择对应版本的Cygwin(x86 or 64)安装即可,部分组件是开发需要的,但默认是不安装的,需要手动添加,如下所示:
Devel/bison
Devel/flex
Devel/git
Interpreters/perl
Utils/patch? (may be Devel/patch instead)
Web/wget (not needed if using CMake)
Text/docbook-xml45
Interpreters/m4
Python下载地址:http://python.org/download/,安装过程很简单,按照提示,安装在默认目录即可,wireshark开发过程中,不涉及Python编程,Python仅用于wireshark的建立和编译等环节,没有出现在主要功能的开发中。
6、安装CMake
按照提示安装即可。
7、准备wireshark源码
下载wireshark源码:https://www.wireshark.org/#download,假设放在C:\Development\wireshark中。
8、设置环境变量
在cmd窗口中设置的环境变量,只能在当时的cmd窗口中临时有效,以下环境变量的设置,建议在“计算机”属性、环境变量中手动设置。
wireshark的编译过程,需要用到很多的外部链接库,这些库没有随源码一起打包,会在编译过程中下载到指定目录,环境变量WIRESHARK_LIB_DIR指明了这些库存放的目录,注意该变量的设置务必按照如下形式,具体原因在https://blog.csdn.net/dreamnow1201/article/details/80087174中有说明。
WIRESHARK_LIB_DIR=c:\wireshark-win64-libs-2.4
设置Qt的环境变量,以便编译过程中,可以找到Qt相关库的位置,变量值的设置与Qt的安装位置有关。
QT5_BASE_DIR=C:\Qt\5.9.1\msvc2015_64
设置wireshark的版本信息,以下变量值可随意设置,以标识自己编译得到的wireshark。
WIRESHARK_VERSION_EXTRA=v1.0.0.1
9、创建工程目录
新建一个文件夹C:\Development\wsbuild64,以存放生成的vs2015工程。
10、生成工程文件(build files)
下载得到的wireshark源码,并不是一个visual studio的solution工程,本步骤使用CMake工具将wireshark源码转换成一个vs解决方案的样子,以便在后续开发中可以直接用vs2015进行更改。
打开开始菜单中Visual Studio 2015目录中VS2015 x64 Native Tools Command Prompt,切换到第9步创建的工程目录中,针对64位的
操作系统,使用以下命令生成工程文件。
> cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 14 2015 Win64" ..\wireshark
生成过程会有一段时间,当出现以下信息时,表明生成成功了。
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Development/wsbuild64
11、生成wireshark可执行程序
打开开始菜单中Visual Studio 2015目录中VS2015 x64 Native Tools Command Prompt,切换到第9步创建的工程目录中,运行以下命令。
> msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln
编译过程会持续很久,编译结束后,便可找到C:\Development\wsbuild32\run\RelWithDebInfo\Wireshark.exe,运行该程序,在程序窗口help=》about中,可以看到第8步中环境变量WIRESHARK_VERSION_EXTRA的值,这便是自己编译得到的wireshark程序。
12、安装WinPcap
刚才编译得到的wireshark程序,还不能启动抓包;wireshark调用WinPcap中的相应库完成网络接口的识别和抓包,但是在上述环节中,WinPcap并不会自行安装,但WinPcap安装程序已在第10步时自动下载下来了,存放在当时设定的库目录中,双击安装即可,此时再运行C:\Development\wsbuild32\run\RelWithDebInfo\Wireshark.exe,便可识别出本地的网络接口,实现抓包。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
- 【wireshark】开发环境搭建
1. 引言 本文相关内容可参考Wireshark开发指南第2章”Quick Setup” 要对wireshark代码进行修改,除了下文介绍的lua插件的方式以外,都需要对wirehshark源码进行编 ...
- Nordic nRF51/nRF52开发环境搭建
本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...
- ubuntu-10.10嵌入式开发环境搭建【转】
本文转载自:http://blog.csdn.net/zjhsucceed_329/article/details/8036781 版权声明:本文为博主原创文章,未经博主允许不得转载. ubuntu- ...
- SDN开发环境搭建以及Mininet编程
一.实验内容 搭建如下网络拓扑,并熟悉相关指令. 二.搭建开发环境 2.1 开发环境搭建 2.1.1下载ubuntu镜像文件 镜像下载地址 https://www.ubuntu.com/downl ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
随机推荐
- Android远程服务(AIDL)实现步骤
AIDL是安卓接口定义语言的缩写 由于笔者使用的是android studio所以建立AIDL文件的位置也需要注意,要在APPNAME->main->aidl->packagenam ...
- spirng boot web配置开发
spring-booter-starter-web是spring-boot web发开的核心,自动配置信息存储在spring-boot-autoconfigure.jar 下面的web目录里面,包含了 ...
- linux中创建图片服务器减轻传统服务器的压力
1.1. 传统项目中的图片管理 传统项目中,可以在web项目中添加一个文件夹,来存放上传的图片.例如在工程的根目录WebRoot下创建一个images文件夹.把图片存放在此文件夹中就可以直接使用在 ...
- 外部访问docker内部容器centos的http服务
1.创建容器 docker run -d -it -h dd -p --name bbbbb centos dd 是用户名 --name 后面是容器名字 2.在我们开始安装Nginx及其他所需软件之前 ...
- CentOS6.5 安装python
前言: CENTOS 6.X 系列默认安装的 Python 2.6 ,目前开发中主要是使用 Python 2.7 ,这两个版本之间还是有不少差异的,程序在 Python 2.6 下经常会出问题. 比如 ...
- Jtabbedpane设置透明、Jpanel设置透明
摘自 https://zhidao.baidu.com/question/983204331427010139.html java中如何设置Jtabbedpane为透明 20 在Jtabbedpane ...
- 层次分析法(Analytic Hierarchy Process,AHP)
昨天晚上室友问我什么是层次分析法?我当时就大概给他介绍了一下,没有细讲. 今天我仔细讲讲这个. 层次分析法是运筹学里面的一种方法,是讲与决策总是有关的元素分解成目标.准则.方案等层次,在此基础上进行定 ...
- ubuntu 15.04默认root用户登陆
1:给root用户设置密码 sudo passwd root 2:修改/etc/lightdm/lightdm.conf [SeatDefaults]autologin-guest=falseauto ...
- python调用Java代码
#coding:utf-8 #!/usr/bin/python from jpype import * import os.path,json from ethereum.utils import e ...
- python 中的异常处理与种类
异常处理是Python工程中补课避免的,进行异常处理,可以帮我们调试代码,使代码找起问题更加简单,更加容易哦. 一般都是利用Try,比较简单,代码也不复杂. try: print 'try...' r ...