windows下wireshark插件开发之源码编译
来源:互联网 发布:聊天表情制作软件 编辑:程序博客网 时间:2024/05/01 10:22
闲来无事,想做个wireshark的协议解析插件,可以解决一下自己工作中的自定义协议解析问题。
好了,废话少说,开始干活。
首先在网上查下资料。想在windows下开发插件环境需求如下:
1 需要windows下的C/C++编译环境。 嗯,我装了VS2008,可以用。
2 安装cygwin。
去http://www.cygwin.cn/下载一个吧。下载下来的只是一个setup.exe。
运行之后界面
我先选的Download Without installing,先下载到本地,以备日后使用。^_^下载的时候,我是选择了全部组件,下完之后有 1.25G。。。 下了一晚上啊(=.=!)
第二次运行setup.exe选在Install From local directory.安装时就不要全选了哈。
安装时有些组件是wireshark必须的,但是默认是不安装的,注意更改安装选项。
3 需要安装python,cygwin自带也有,不过人家wireshark也说了, not recommend.
我先装了个3.1的,编译时总是提示找不到,最后还是装了个2.6的python。
配套的版本wireshark源码的根目录下 Makefile.nmake 中有写。还是要按照配套的版本来啊。
环境准备完成后修改下Makefile.nmake文件中的几个参数,注意修改前备份~
具体过程可以参考:http://blog.csdn.net/hcj2002/archive/2008/04/06/2255637.aspx
我的环境:
cygwin安装路径:D:/cygwin 版本:cygwin1.7.1
wireshark源码: D:/wireshark-1.3.2
VS2008安装路径:D:/Program Files/Microsoft Visual Studio 9.0
python2.6安装路径:D:/Python26
wirshark 编译时遇到如下问题。
问题1:win-setup.sh 找不到。
d:/wireshark-1.3.2>nmake -f makefile.nmake verify_tools
Microsoft (R) 程序维护实用工具 9.00.21022.08 版
版权所有 (C) Microsoft Corporation。保留所有权利。
cygwin warning:
MS-DOS style path detected: tools/win32-setup.sh
Preferred POSIX equivalent is: tools/win32-setup.sh
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
tools/win32-setup.sh: line 12: exec: tools/win-setup.sh: not found
tools/win32-setup.sh: line 12: exec: tools/win-setup.sh: not found
NMAKE : fatal error U1077: “D:/cygwin/bin/bash.EXE”: 返回代码“0x7f”
Stop.
d:/wireshark-1.3.2>
这个问题折腾了好久,后来发现是wireshark的bug =.=!
是因为这个1.3.x版本在使用cygwin 1.5.x 到 1.7.x的版本,处理ms-dos风格的路径有问题,囧。
规避方法是:
Changing the WIN_SETUP= line in the main Makefile.nmake file to use a POSIX
style forward slash path delimiter instead of using a Win32 style backslash
delimiter resolves the nmake problem:
e.g.
> -WIN_SETUP=tools/$(WIRESHARK_TARGET_PLATFORM)-setup.sh
> +WIN_SETUP=tools/$(WIRESHARK_TARGET_PLATFORM)-setup.sh
不过我在Makefile.nmake文件中没有找到WIN_SETUP=
我直接修改了源代码tools/win32-setup.sh文件中的WIN_SETUP=`echo $0 | sed -e s/win32/win/`改成WIN_SETUP=tools/win-setup.sh
问题2:提示/Microsoft.VC90.CRT/*.*的几个文件找不到。
编译文件到最后提示xcopy C:/Program files/Microsoft Visual Studio 9.0/VC/redist/$(VCREDIST_DLL)/Microsoft.VC90.CRT/*.* 失败,找不到文件。
我的VS2008是装在D盘的。
在Makefile.nmake搜了一下,找到这么一行
MSVCR_DLL=$(PROGRAM_FILES)/Microsoft Visual Studio 9.0/VC/redist/$(VCREDIST_DLL)/Microsoft.VC90.CRT/*.*
PROGRAM_FILES在Makefile.nmake中的定义是PROGRAM_FILES=$(PROGRAMFILES)
在cmd命令行中执行SET PRO发现结果如下:
d:/wireshark-1.3.2>SET PRO
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:/ProgramData
ProgramFiles=C:/Program Files
PROMPT=$P$G
d:/wireshark-1.3.2>
呃~ 这个一定是哪里出错了。。。
不管了,将Makefile.nmake文件中的
MSVCR_DLL=$(PROGRAM_FILES)/Microsoft Visual Studio 9.0/VC/redist/$(VCREDIST_DLL)/Microsoft.VC90.CRT/*.*
修改为
MSVCR_DLL=D:/Program files/Microsoft Visual Studio 9.0/VC/redist/$(VCREDIST_DLL)/Microsoft.VC90.CRT/*.*
再执行 nmake -f makefile.nmake verify_tools,哈哈,成功了。
- windows下wireshark插件开发之源码编译
- wireshark源码 windows下编译
- openflow1.3版本windows下wireshark插件开发
- windows下编译wireshark错误
- Windows下添加Wireshark插件实例
- Windows下Wireshark编译的是实现
- Windows下Wireshark编译的实现
- {开源项目}之wireshark插件开发
- {开源项目}之wireshark插件开发
- 编译wireshark OpenFlow插件
- Wireshark源码编译总结
- linux编译wireshark源码
- wireshark源码vs2008编译
- wireshark源码编译
- 【大话QT之十五】ctkPluginFrameWork插件系统Windows下编译
- wireshark插件开发详细流程(含源码)
- ubuntu12.04TLS下源码编译安装wireshark
- Wireshark插件开发小结
- usaco——clocks
- word 2003 中生存目录的一种方法
- 《Head First 设计模式》代码之PHP版
- 一部电脑,玩转sql server多机连接.
- 划过时代黑暗天幕的两颗彗星
- windows下wireshark插件开发之源码编译
- 阳历、阴历、农历
- 《C#2.0锐利体验系列课程》第一讲——泛型
- POJ1141 Brackets Sequence
- Ubuntu下的第一篇Blog
- 消息映射机制
- 分页打印代码
- 第06章 CORE C++_异常_I/O
- 关于裸设备