Windows下Wireshark编译的是实现
2013-05-02 14:52
295 查看
Windows下Wireshark编译的是实现
编译环境:VisualStudio,Python,Cygwin以及Wireshark源代码。
1. VisualStudio
Visual Studio 2005-2010都可以。
2. Python
下载安装Python,从2.4 –2.7应该都是可以的,我使用2.7版本。主要是在编译过程中会使用到Python。
3. Cygwin
去Cygwin上下载最新版本安装,然后开始安装,整个安装过程是在线安装,特别注意的是,以下库必须安装,否则不能顺利完成编译:
5. 下载Wireshark源代码 &编辑config.nmake
输入这个网址,http://www.wireshark.org/download/src/all-versions/,从上面下载Wireshark源代码,这里,值得一提的是,最好下载页面中给出的svn中的源代码,能保证该代码绝对是最新的。
下载完成之后,在Wireshark目录里面打开config.nmake,需要进行一些设置之后才可以开始编译。
1、PROGRAM_NAME,项目名称。
2、WIRESHARK_LIBS, 设置编译wireshark所需的库所在的目录,默认即可。3、PROGRAM_FILES,设置本机程序安装目录,默认即可。
4、CYGWIN_PATH,设置cygwin的安装路径。5、MSVC_VARIANT,设置VS的版本。6、MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝对路径表示,而不要去修改前面的PROGRAM_FILES,否则会出现意想不到的错误。
7、QT5_BASE_DIR,设置QT的安装路径,可以使用qmake -query QT_INSTALL_PREFIX命令查看。
6.编译Wireshark
用VS2008安装的VS2008命令提示进入或者通过CMD进入之后,再去运行VC下面的vcvars32.bat,或者是把vcvars32.bat拖到命令窗口,再回车就行。然后进去Wireshark目录,首先通过下面的命令检验一下:
注意:如果在之前运行过可以不用在运行(依赖库已经安装,无需重复下载安装)。
注意:如果编译器是VS2005可能会报1077错误,原因是编译器的版本较低,可以根据错误提示进行修改。
我遇到的问题有:
1、 格式转换问题。找到源码出现错误的地方,在赋值语句的右操作数前加上强制类型转换。
2、 源码中定义windows函数指针时,提示错误为“****未定义”,在源码中增加ifdef.h这个头文件。将文件中的IF_OPER_STATUS这个枚举类型注释掉,头文件中包含iptypes.h。
到此wireshark编译完成,在程序根目录出现大量新文件和一个文件夹——wireshark-gtk2。
wireshark-gtk2中为一个完整可以运行的程序。
6.利用VS2005调试Wireshark
如果使用VS2005调试wireshark工程,会出现无法解析工程文件的情况,解决办法是先用记事本打开工程文件,找到Version="*,00",将‘*’改为8(因为VS2005的版本号为8,00)。
将wireshark所有工程的版本号转换成自己需要的后,使用VS2005版本的用户可以手动将12个工程添加到一个工程里面进行调试。工程目录如下:
其它网友说VS2008打开其中一个工程即可打开所有工程。
至此,准备源码分析前的调试工作完成了,下一章记录源码分析工程。
编译环境:VisualStudio,Python,Cygwin以及Wireshark源代码。
1. VisualStudio
Visual Studio 2005-2010都可以。
2. Python
下载安装Python,从2.4 –2.7应该都是可以的,我使用2.7版本。主要是在编译过程中会使用到Python。
3. Cygwin
去Cygwin上下载最新版本安装,然后开始安装,整个安装过程是在线安装,特别注意的是,以下库必须安装,否则不能顺利完成编译:
Archive / unzip
Devel / bison
Devel / flex
Interpreters / perl
Utils / patch
Web / wget
4.QT5
QT5是wireshark1.11.0后新增的编译工具,需要下载安装QT5.0以上的版本,编译的过程中需要使用。
5. 下载Wireshark源代码 &编辑config.nmake
输入这个网址,http://www.wireshark.org/download/src/all-versions/,从上面下载Wireshark源代码,这里,值得一提的是,最好下载页面中给出的svn中的源代码,能保证该代码绝对是最新的。
下载完成之后,在Wireshark目录里面打开config.nmake,需要进行一些设置之后才可以开始编译。
1、PROGRAM_NAME,项目名称。
2、WIRESHARK_LIBS, 设置编译wireshark所需的库所在的目录,默认即可。3、PROGRAM_FILES,设置本机程序安装目录,默认即可。
4、CYGWIN_PATH,设置cygwin的安装路径。5、MSVC_VARIANT,设置VS的版本。6、MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝对路径表示,而不要去修改前面的PROGRAM_FILES,否则会出现意想不到的错误。
7、QT5_BASE_DIR,设置QT的安装路径,可以使用qmake -query QT_INSTALL_PREFIX命令查看。
6.编译Wireshark
用VS2008安装的VS2008命令提示进入或者通过CMD进入之后,再去运行VC下面的vcvars32.bat,或者是把vcvars32.bat拖到命令窗口,再回车就行。然后进去Wireshark目录,首先通过下面的命令检验一下:
1、nmake -f Makefile.nmake verify_tools
2、nmake –f Makefile.nmake setup
注意:如果在之前运行过可以不用在运行(依赖库已经安装,无需重复下载安装)。
3、nmake –f Makefile.nmake distclean
4、nmake –f Makefile.nmake all
注意:如果编译器是VS2005可能会报1077错误,原因是编译器的版本较低,可以根据错误提示进行修改。
我遇到的问题有:
1、 格式转换问题。找到源码出现错误的地方,在赋值语句的右操作数前加上强制类型转换。
2、 源码中定义windows函数指针时,提示错误为“****未定义”,在源码中增加ifdef.h这个头文件。将文件中的IF_OPER_STATUS这个枚举类型注释掉,头文件中包含iptypes.h。
到此wireshark编译完成,在程序根目录出现大量新文件和一个文件夹——wireshark-gtk2。
wireshark-gtk2中为一个完整可以运行的程序。
6.利用VS2005调试Wireshark
如果使用VS2005调试wireshark工程,会出现无法解析工程文件的情况,解决办法是先用记事本打开工程文件,找到Version="*,00",将‘*’改为8(因为VS2005的版本号为8,00)。
将wireshark所有工程的版本号转换成自己需要的后,使用VS2005版本的用户可以手动将12个工程添加到一个工程里面进行调试。工程目录如下:
其它网友说VS2008打开其中一个工程即可打开所有工程。
至此,准备源码分析前的调试工作完成了,下一章记录源码分析工程。
相关文章推荐
- Windows下Wireshark编译的实现
- 学习在linux和windows安装GSL和使用,编译 链接 和makefile的撰写和实现
- 如何实现在Windows下编写的代码,直接在Linux下编译
- .NET编译项目时出现《此实现不是 Windows 平台 FIPS 验证的加密算法的一部分》处理方法
- 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
- 如何实现在Windows下编写的代码,直接在Linux下编译
- 在windows下编译wireshark的一些问题记录
- 用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容并用C代码来简要模拟实现Windows自带的ftp client
- Windows下编译Wireshark 1.8.x
- windows 下如何成功编译wireshark 1.6.5
- Windows平台下golang使用LiteIDE实现跨平台编译
- windows下编译Fast RCNN实现物体识别
- 在Windows环境下编译NET-SNMP的具体实现步骤
- windows系统不用Eclipse工具实现Android apk程序编译及打包工具
- 在Windows环境下编译NET-SNMP的具体实现步骤
- Windows 下实现gcc 命令行编译
- cpp_redis (Windows C++ Redis客户端)(C++11实现)官方最新源码编译
- 在Windows 下使用CodeBlocks 自带编译器实现对编译的优化
- DosBox的Windows下的编译与其字体绘制实现
- 基于ndk_r7_windows编译实现ndk项目,不需要cygwin