在Windows上编译Wireshark源代码
来源:互联网 发布:java注释的作用 编辑:程序博客网 时间:2024/05/16 14:13
1. Visual Studio 我用的是2013版本
2. Python 我用的是2.7.6
3. Cygwin
去Cygwin上下载最新版本安装,地址是https://cygwin.com/install.html,我选择的是64位,
Installing and Updating Cygwin for 64-bit versions of Windows
然后开始安装,整个安装过程是在线安装,特别注意的是,以下库必须安装,否则绝对顺利完成编译:
(1)cygwin安装教程图解:一步一步教你安装设置cygwin http://www.33lc.com/article/7276.html
(2)http://www.cygwin.cn/site/install/
4. 下载Wireshark源代码 & 编辑config.nmake
输入这个网址,http://www.wireshark.org/download/src/all-versions/,从上面下载Wireshark源代码,我是在wireshark-2.0.2版本上面编译成功的。
下载完成之后,在Wireshark目录里面打开config.nmake,需要进行一些设置之后才可以开始编译。
(1)MSVC_VARIANT,因为我使用VS2013编译,所以这里将值为MSVC2013的那一行前的#去掉,其余MSVC_VARIANT项行首全部加上#注释掉。
(2)CYGWIN_PATH,将其设置为Cygwin的bin目录,例如D:\cygwin64\bin。
(3)PYTHON及其后的PATH,将其修改为本机python.exe和其安装目录的位置,例如D:/Python2.4/Python.exe。
其余的选项都默认即可。
5. 编译Wireshark
用VS2013安装的VS2013命令提示进入之后,
再去运行VC下面的vcvars32.bat,运行方式将vcvars32.bat拖拽至VS2013命令提示里,回车,即可运行
然后进去Wireshark目录,首先通过下面的命令检验一下:
D:\wireshark-2.0.2> nmake –f Makefile.nmake verify_tools
如果正确的话,应该出现以下提示,如果不是缺少库之类的,请安装完成再运行以上命令,直到出现没有错误。
D:\wireshark-2.0.2>nmake -f Makefile.nmake verify_tools
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
Checking for required applications:
cl: /cygdrive/e/dev/vc6/VC98/BIN/cl
link: /cygdrive/e/dev/vc6/VC98/BIN/link
nmake: /cygdrive/e/dev/vc6/VC98/BIN/nmake
bash: /usr/bin/bash
bison: /usr/bin/bison
flex: /usr/bin/flex
env: /usr/bin/env
grep: /usr/bin/grep
/usr/bin/find: /usr/bin/find
perl: /usr/bin/perl
C:/python24/python.exe: /cygdrive/c/python24/python.exe
sed: /usr/bin/sed
unzip: /usr/bin/unzip
wget: /usr/bin/wget
然后下载编译过程中需要的库文件:
nmake -f Makefile.nmake setup
nmake –f Makefile.nmake distclean
这时,会在WIRESHARK_LIBS目录下下载一些库文件并解压完成。最后,执行以下命令就可以开始编译了,整个编译过程时间上比较长,请耐心等待,在系统没有给出明确的提示之前,不要关闭。
nmake -f Makefile.nmake all
直到这里整个编译过程就结束了,Wireshark编译成功了。成功编译后的wireshark源代码文件夹中出现了很多目标文件,还生成了一个wireshark-gtk2文件夹,里面有好几个exe文件,比如wireshark.exe,tshark.exe,dumpcap.exe等。具体如下所示:
这个图片就是wireshark-gtk2文件夹中的一部分。
我们就可以在上面开始准备编写插件了。
FAQ
1. [调试技巧]'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。
如果你也遇到了这个问题,那么我敢肯定90%的情况下你使用的cmd是普通的cmd!
'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。
解决的问题很简单,使用VS2013自带的cmd。参考本文5. 编译Wireshark
2. 修复︰致命错误 U1052: win32.mak,找不到文件
问题是由于下面的命令产生的:
NMAKE MAKEFILE<Enter>
原因
这是由于 Visual C++ 安装程序无法复制win32.mak文件到你的INCLUDE目录。包括目录 MAK。
解决方案
将win32.mak从C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
复制到D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include目录下
- 在Windows上编译Wireshark源代码
- 在Windows上编译Wireshark源代码
- 在Windows上编译Wireshark源代码 .
- 在Windows上编译Wireshark源代码
- 在Windows上编译Wireshark源代码
- 在Windows上编译Wireshark源代码
- 在windows上用源代码编译安装MPlayer
- Qt源代码在Windows XP上编译(in-source build)
- 在windows上用源代码编译安装MPlayer
- 最新版本webrtc源代码在windows上的编译方法
- 在windows上编译FFmpeg源代码的方法
- wireshark源代码编译 分析
- 编译Wireshark源代码
- 在ubuntu12.04上编译 android源代码
- 如何在windows下编译Chrome源代码
- 如何在windows下编译Chrome源代码
- 如何在windows下编译Chrome源代码
- 在Windows上编译jabberd2
- Activity七大生命周期详解
- leetcode 234 Palindrome Linked List C++
- LeetCode:Longest Consecutive Sequence
- 星期几的不同脚本写法(推荐)和JS年月日格式
- G-Dezender批量解密
- 在Windows上编译Wireshark源代码
- Android View工作机制(4)— 我们该什么时候获取View的高宽?
- 模仿微信通讯录侧边栏快速索引
- cocos2d 性能优化1
- C++ 字符串字面值常量的问题
- 过遍数
- 不是闹鬼,是病毒!全球首个Golem(傀儡)病毒感染数万手机
- 数据库基础
- php memcache扩展