基于WinPcap实现的Raw EtherNet 抓包、发包程序

一、背景

二、WinPcap中文技术文档

  
http://www.ferrisxu.com/WinPcap/html/index.html

二、需要使用到的动态库和外部头文件

  ① 库文件:Packet.dll、Packet.lib、wpcap.dll、wpcap.lib

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  ② 头文件

基于WinPcap实现的Raw EtherNet 抓包、发包程序

三、用vs创建工程(我这里使用的是vs2015)

  工程创建完毕需要配置工程属性

  ① 右键工程属性–>VC++目录–>找到包含目录、库目录,把刚才的库文件路径和头文件的路径添加进去,如下图所示

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  ② 找到链接器—>附加依赖项,添加Packet.lib、wpcap.lib库文件

基于WinPcap实现的Raw EtherNet 抓包、发包程序

四、示例代码

  ① 头文件

基于WinPcap实现的Raw EtherNet 抓包、发包程序

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  ② cpp文件

基于WinPcap实现的Raw EtherNet 抓包、发包程序

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  ③ Main.cpp

基于WinPcap实现的Raw EtherNet 抓包、发包程序

基于WinPcap实现的Raw EtherNet 抓包、发包程序

五、编译程序

  ① 错误1 编译程序报错,如下图所示

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  解决办法:

    ws2_32.lib文件,提供了对以下网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程

    在工程属性—>链接器—>附加依赖项,添加ws2_32.lib库文件

基于WinPcap实现的Raw EtherNet 抓包、发包程序

  ② 错误2 编译程序报错,如下图所示

基于WinPcap实现的Raw EtherNet 抓包、发包程序

解决办法:    

1.error C3861: “pcap_findalldevs_ex”: 找不到标识符

2.error C2065: “PCAP_SRC_IF_STRING”: 未声明的标识符

在WinPcap编程调试解决办法 中,需要项目属性-》配置属性-》C/C++-》预处理器-》预处理器定义中添加HAVE_REMOTE,方可编译成功。

来源:创成软件信息

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月6日
下一篇 2021年3月6日

相关推荐