使用WinPcap编程

创建一个使用 wpcap.dll 的应用程序

用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按以下步骤:

  • 在每一个使用了库的源程序中,将 pcap.h 头文件包含(include)进来。
  • 如果你在程序中使用了WinPcap中提供给Win32平台的特有的函数, 记得在预处理中加入WPCAP 的定义。
  • 如果你的程序使用了WinPcap的远程捕获功能,那么在预处理定义中加入HAVE_REMOTE不要直接把remote-ext.h直接加入到你的源文件中去。
  • 设置VC++的链接器(Linker),把wpcap.lib库文件包含进来。wpcap.lib可以在WinPcap中找到。
  • 设置VC++的链接器(Linker),把ws2_32.lib库文件包含进来。这个文件分布于C的编译器,并且包含了Windows的一些socket函数。本教程中的一些范例程序,会需要它。

记住以下几点

  • 要添加一个预处理定义,你需要打开Project菜单,选择Settings,然后选择C/C++选项卡,在General类下,你必须在Preprocessor Definitions下的文本框中添加定义。
  • 要在一个VC++6.0工程中,添加一,个新的库,你必须打开Project菜单,选择Settings,然后选择Link选项卡,然后把新库的名字添加到Object/Library modules下的文本框中
  • 要向VC++6.0中添加一个新的库所在的路径,你必须打开Tool菜单,选择Options,然后选择Directories选项卡,在Show directories下拉框中选择Library files,并且将新的路径添加到Directories中去
  • 要向VC++6.0中添加一个新的包含文件所在的路径,你必须打开Tool菜单,选择Options,然后选择Directories选项卡,在Show directories下拉框中选择Include files,并且将新的路径添加到Directories中去

wpcap.dll是一个包含了公共WinPcap API的动态链接库,它输出了一组依赖于系统的函数,用来捕获和分析网络流量。这些函数的用途有:

  • 获取网络适配器列表
  • 获取网络适配器的不同信息,比如网卡描述和地址的列表
  • 使用PC的一个网卡来捕获数据包
  • 向网络上发送数据
  • 有效保存数据包到磁盘,并通过一个接口捕获数据包,就如同从网卡捕获数据一样
  • 使用高级语言创建一个数据包过滤器,并把它们应用到数据捕获中去

wpcap.dll 与 libpcap 兼容,后者是Unix平台下知名的数据包捕获库。这个兼容性意味着你可以开发可移植的网络工具,这些工具既可以运行在Win32系列的操作系统,也可以运行在与Unix兼容的机器上。

转载于:https://www.cnblogs.com/aze-003/p/3959701.html

winPcap_2_编译环境*注意*相关推荐

  1. linux 编译opencl,OpenCL编译环境配置(VS+Nvidia)

    英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤:   VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...

  2. Linux下C/C++编译环境搭建

    搭建Linux编译环境 针对C语言和C++ 首先必须是root用户,切换root用户使用下面的命令 然后输入root用户的密码 [admin@bogon ~]$ su root 若是忘记了root用户 ...

  3. Runtime编译环境搭建

    Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...

  4. 【转】Android 4.3源码的下载和编译环境的安装及编译

    原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html  告诉windows用户一个不好的消息,windows环境下没法 ...

  5. 搭建Ubuntu下c/c++编译环境【转】

    1.       安装Ubuntu. 2.       安装gcc 方法一: sudo apt-get  install  build-essential 安装完了可以执行 gcc--version的 ...

  6. xmake新增对WDK驱动编译环境支持

    为什么80%的码农都做不了架构师?>>>    xmake v2.2.1新版本现已支持WDK驱动编译环境,我们可以直接在系统原生cmd终端下,执行xmake进行驱动编译,甚至配合vs ...

  7. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  8. ubuntu上建立mini2440 qt编译环境

    参考mini2440手册,从5.3章开始建立交叉编译环境.跟着流程走,在设置环境变量的时候,发现ubuntu的root文件夹不可进入,修改权限进入修改.bashrc文件发现重启后不起作用.为了不每次开 ...

  9. 编java用jdk还是editplus_怎样运用EditPlus进行配置Java编译环境

    不知道大家是否知道其实学习java主要有三种开发工具,分别是文本编辑软件.EcliPSe以及JBuilder.那么他们三者之间又有什么区别呢?小编就这三者发表一下个人的意见吧.对于学习Java的初学者 ...

最新文章

  1. java基本数据类型自动转包装类_java基本数据类型和包装类相互转换
  2. Android 2.0中电话本contact的读写操作(增删改查一)
  3. BUG总结—— No mapping found for HTTP request with URI
  4. elasticsearch api中的Multi Get API操作
  5. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  6. jmeter 加密解密_使用Jmeter对SHA1加密接口进行性能测试
  7. java hadoop_单元测试Java Hadoop作业
  8. 百花开放笑声甜_“开源萌宠”庆六一
  9. java字符数组比大小排序_Java字符串数组进行大小排序
  10. 文件创建失败 无法继续下载_单机梦幻西游手游下载-单机版梦幻西游手机下载...
  11. android手机密码忘了哪个电话打开,如果手机锁屏密码忘记了怎么办_安卓手机锁屏密码忘了的处理办法-系统城...
  12. Leetcode错误:control reaches end of non-void function [-Werror=return-type]
  13. 32-【算法与数据结构】伪代码与流程图
  14. GITEE提交代码时出现“文本是相同的,但文件不匹配“问题解决方法
  15. 加速度传感器 mag_将电话连接到没有辅助扬声器mag的汽车立体声
  16. eis电子防抖好还是光学防抖好_EIS和OIS有啥差别?一文搞懂手机防抖的那些事儿...
  17. 喜茶“内修”,蜜雪冰城“外练”
  18. IOS OpenGL ES GPUImage 图像Lanczos重取样模糊效果 GPUImageLanczosResamplingFilter
  19. 爱搞事情:我的黑苹果日记之安装路
  20. VC++ 编写程序计算月亮方位,高度,赤经,赤纬等信息

热门文章

  1. href 和 src 的区别
  2. 用JAVA制作微型操作系统4月23日情况
  3. xss实例-输出在script/script之间的情况
  4. Linux中的查找命令
  5. 为什么互联网公司都喜欢自研业务系统?
  6. 产品经理如何高效的做用户调研?
  7. 消费金融和信用卡本质上的区别是什么?
  8. 微课堂 | 欢迎加入核心交流群,往期微课堂的嘉宾都在这里
  9. Oracle 裁员史:技术人死于重组,卒于云计算
  10. rman-incarnation