zoukankan      html  css  js  c++  java
  • 配置ethereal编译环境

      因为工作需要要分析公司自己开发的协议软件,需要抓包分析,因而接触到ethereal插件开发,运行平台是windows。网上查了很多资料,结合自己开发的实践,写下这份文档,希望对其他人有用。

    在windows平台下开发,用Cygwin + VC6.

    首先介绍Cygwin的安装步骤。我下载的是一个CygwinISO镜像文件,可以用虚拟光驱打开,点击Setup,点下一步,选择Install from local Directory,点下一步

    选择安装在C:\cygwin下,后下一步,选择cygwin的源目录,如图:

    下一步,点击列表中 ALL Default,如图,

     

    使其变为ALL Install,也可以选择自己想要的包

    点击下一步就开始安装。

    安装到%99时候可能要等很长时间,(如果长时间在%99没有完成,可点取消完成安装,我是这样做的,也没出现什么问题)。

    安装完成后,把C:\cygwin\bin 添加到系统的环境变量中PATH中。

    下面讲VC6的环境变量的设置。

      个人根据安装的VC6的路径不同进行修改,如果在安装VC6时已经注册了环境变量下面的步骤就不需要了。

      默认情况下环境变量中没有Include变量,需要新建Include变量然后添加如下变量值
      C:\Program Files\Microsoft Visual Studio\VC98\ATL\Include;
      C:\Program Files\Microsoft Visual Studio\VC98\Include;
      C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include;
      默认情况下环境变量中没有Lib变量,需要新建Lib变量添加如下变量值
      C:\Program Files\Microsoft Visual Studio\VC98\Lib;
      C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib;

      接下来把ethereal-win32-libs文件夹放在C盘根目录下。

      这样整个编译环境就搭建好了,接下来测试已安装工具的有效性。

      进入Windows控制台,先进入Ethereal源码所在目录,运行nmake -f Makefile.nmake verify_tools

    正常情况下如图所示:

      接下来编译ethereal输入nmake -f makefile.nmake all
    遇到了找不到unistd.h头文件的错误,解决办法自己新建一个unistd.h头文件,内容如下:

    /** This file is part of the Mingw32 package.
    * unistd.h maps     (roughly) to io.h
    */

    #ifndef _UNISTD_H
    #define _UNISTD_H

    #include <io.h>
    #include <process.h>

    #endif /* _UNISTD_H */

      将其放到include的环境变量值所指的目录下,如C:\Program Files\Microsoft Visual Studio\VC98\Include;

    编译成功之后会在源码文件夹中生成ethereal.exe文件,现在运行ethereal.exe会提示缺少wiretap-0.3.dll、 intl.dll等动态链接库。解决办法是在cmd下运行nmake -f makefile.nmake install-deps。将所需的dll拷到源码文件的根目录下

      环境搭好了,进行插件的开发,可以参考文件夹plugins下的各个例子。

     




     

     


  • 相关阅读:
    Vue.js中css的作用域
    vue搭建脚手架
    一对多,多对一关系映射
    java.time.format.DateTimeFormatter
    java.time.ZonedDateTime
    Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
    Akka(22): Stream:实时操控:动态管道连接-MergeHub,BroadcastHub and PartitionHub
    Akka(21): Stream:实时操控:人为中断-KillSwitch
    Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
    Akka(19): Stream:组合数据流,组合共用-Graph modular composition
  • 原文地址:https://www.cnblogs.com/yemeng/p/1994303.html
Copyright © 2011-2022 走看看