这几天在做计算机网络实验,需要用到winpcap来编程。整个实验需要使用c++语言来实现,身边的同学选择的编辑器很多,有eclipes,有vs等等。我选择的是之前用过的codeblocks,那么如何在codeblocks中配置winpcap编程环境呢?首先,我使用的编译器是mingW,这也是很多同学都在用的,当然也有人选择vc或者其他的,我在这介绍的环境配置都是基于mingW的.

第一步,下载codeblocks,在网上看到的codeblocks自带的mingW编译器版本很低,不太好,我选择的是下载不带编译器的codeblocks,地址:http://www.codeblocks.org/downloads/26#windows   选择没有编译器的版本;

下载后就能安装了...

第二步,配置mingW编译器,下载地址:http://sourceforge.net/projects/mingw/files/latest/downloadsource=files

下载的是一个exe文件,安装完成之后你会发现出现一个下载库的窗口,叫Mingw Installation Manager,这里面有很多需要的文件,注意:大家可以发现最左边有Basic Steup和All Packages两个分类。第一个Basic Steup即为必须要安装的编译类库,All Packages即为所有的类库。为了保险起见,我把所有的类库都安装了。全部安装完之后即会显示绿色。安装后的mingW目录:

下面配置环境变量,我们需要配置这几个变量:

PATH=D:\MinGW\bin;

LIBRARY_PATH=D:\MinGW\lib;D:\MinGW\lib\gcc\mingw32\4.6.2;

C_INCLUDE_PATH=D:\MinGW\include;D:\MinGW\lib\gcc\mingw32\4.6.2\include;

CPLUS_INCLUDE_PATH=D:\MinGW\include;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++\backward;D:\MinGW\lib\gcc\mingw32\4.6.2\include\c++\mingw32;

ok,到这里,mingw的安装就算完成了,

现在,我们需要在凑得codeblocks中添加mingW。打开codeblocks,

setting->compiler->global compiler setting->toolchain executables ,在compiler  installation中选择mingw的安装目录,点击ok。

好啦,现在我们写一个C程序试试!

结果:

ok,现在mingw没问题了!

第三步,配置winpcap环境。

下载地址:http://www.winpcap.org/archive/

注意:我下载的是4.1.1版本的,据说最新版不靠谱...你需要下载4.1.1-WinPcap.exe和4.1.1-WpdPack.zip.

下载后,exe文件点击安装就行,而.zip文件需要解压到相关目录下,解压后的目录如图所示;

将lib文件夹下面的文件拷到mingw文件下面对应的lib文件夹,同时,将include文件夹下面的文件拷到mingw文件夹下面的include文件夹下.

接着,在codeblocks中引入winpcap的库。

在编译本程序的时候碰到了很多问题,这里想总结一下解决的办法。

之前在网上查找过很多博客,但是发现程序都是在VC下进行编译的,而我的codeblocks用的是MingW编译器进行编译的,之间会有很多区别,VC编译器如何解决我这里就不做介绍了,因为编写C程序还是比较习惯在codeblocks下,个人偏好。配置其实跟VC下的配置差不多,仍然是在Link Libraries下加入Packet.lib和wpcap.lib,这两个库文件是WinPcap提供的;另外,还要添加libws2_32.a这个库,这个库可以在MingW安装目录下的lib文件夹里面找到,VC下面是要添加ws2_32.lib这个库,大家千万不要搞混了,因为有看到很多博客上写的是配置codeblocks添加ws2_32.lib,当然如果是用VC的编译器就没问题,但如果用MingW编译器一般不会报错,但是会出现很多Warning,大家注意一下便是。

另外,在Search directories的Compiler目录下加入WinPcap的include目录,也可以把MingW安装目录下的include目录添加进去,添不添加关系不大,但是WinPcap的include目录一定是要包含进去的。同样,截图给大家看一下本机配置情况:

到这里基本的环境就配置好了,我们可以写一段代码测试一下:

#include <pcap.h>
main( )
{
pcap_if_t *alldevs;
pcap_if_t *d;
int i=0;
char errbuf[PCAP_ERRBUF_SIZE];if (pcap_findalldevs(&alldevs, errbuf) == -1)
{
fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
exit(1);
}for(d= alldevs; d != NULL; d= d->next)
{
printf("%d. %s", ++i, d->name);
if (d->description)
printf(" (%s)\n", d->description);
else
printf(" (No description available)\n");
}if (i == 0)
{
printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
return -1;
}pcap_freealldevs(alldevs);
return 0;
}

运行结果:


ok,大功告成!

计算机网络课程设计一codeblocks创建winpcap的编程环境相关推荐

  1. 计算机网络课程设计综合实验,计算机网络课程设计报告实验报告

    计算机网络课程设计报告实验报告 (21页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.9 积分 中南大学课程设计报告课程:计算机网络课程设计 题目: ...

  2. 计算机网络课程设计,使用MFC实现界面化创建ARP发送与接受程序(一)

    计算机网络课程设计,使用MFC实现界面化创建ARP发送与接受程序(一) 1.实验内容: 利用WinpCap开源库函数,编写程序实现ARP报文的发送和接收 2.实验要求: 利用WINPCAP给出的API ...

  3. 计算机网络课程设计之网络嗅探器的设计与实现

    前言 本实验难点是在于Windows下的raw socket有太多的限制,因此用winpcap编程功能更加强大,但是根据指导书要求要用原始套接字,原始套接字在Linux系统下也十分强大,结尾附上Lin ...

  4. 计算机网络抓包参考文献,计算机网络课程设计二(网络抓包与分析)

    <计算机网络课程设计二(网络抓包与分析)>由会员分享,可在线阅读,更多相关<计算机网络课程设计二(网络抓包与分析)(9页珍藏版)>请在人人文库网上搜索. 1.课程设计课程名称: ...

  5. 计算机网络课程设计之TELNET 终端设计与实现

    前言 Telnet设计是一个比较麻烦的东东,因为Telnet服务器需要部署,而且网络上的资料比较少,最后通过在云服务器CentOS上安装Telnet服务器然后自己的程序作为一个Telnet客户端测试成 ...

  6. 计算机网络课程设计之基于 IP 多播的网络会议程序

    前言 本实验难点在于环境的配置,尤其是多网卡配置,经过查阅资料和多次小伙伴们测试,最后终于找到问题的根源 问题分析和配置主要放在实验结果与分析栏中 结尾附上指导书的IP多播源码 白嫖容易,创作不易,本 ...

  7. 计算机网络课程设计之Tracert与Ping程序设计与实现

    前言 本实验主要是应用ICMP报文实现Tracert和Ping功能,主要用的是Windows中的库,所以程序只能在Windows下运行. 在博客结束的地方,附上C/C++的Tracert源码和Ping ...

  8. 计算机网络课程设计之网络聊天程序的设计与实现

    前言 计算机网络课程设计开始,要求用C/C++,而且有些题目还要有图形界面,因此决定用Qt写图形界面,同时决定用一个程序完成所有的实验设计. 白嫖容易,创作不易,本文原创,转载请注明!!! 源码和可运 ...

  9. 石油大学计算机网络课程设计(在线考试答案)

    中国石油大学(北京)远程教育学院 <计算机网络课程设计>大作业说明 1. 目的:本大作业的目的是希望同学们学以致用,能够将课程上教授的理论内容在自己的工作生活实践中加以印证,理解计算机网络 ...

最新文章

  1. 求助:Event ID:10021日志错误的解决方法
  2. Attention Model(注意力模型)思想初探
  3. Java Windows 环境配置
  4. java default修饰符_2019最新java面试题附答案
  5. 【ArcGIS遇上Python】ArcGIS python计算长时间序列多个栅格数据的平均值
  6. 【2022】多线程并发编程面试真题
  7. [DFS|剪枝] leetcode 22 括号生成
  8. 怎么往JFrame中添加图片
  9. java懒汉,[Java教程]java 懒汉式
  10. 使用doxygen查看文件包含关系图
  11. matlab runtime安装目录,matlab compiler runtime怎么安装
  12. Java程序开发过程
  13. PMBOK2008中的三种沟通方式(草稿版)
  14. 微前端框架 之 single-spa 从入门到精通
  15. 切身体验苹果Reminders的贴心设计
  16. vscode中converting to execution character set: Illegal byte sequence
  17. 左侧颜面部起疱,疼痛剧烈2天-牙博士
  18. 【更新】Kendo UI for jQuery发布R2 2018|附下载
  19. mysql查询专业术语,英文术语MySQL查询
  20. MEDLINE与PubMed有什么区别?检索范围包含哪些?

热门文章

  1. [JS]笔记13之Date对象
  2. 路由器二次开发一步一步把工业路由器变成一个高端的可指定出网、节点和链路的路由器,包含详细过程及快捷脚本(五)
  3. 放开那三国服务器维修,放开那三国9月25日部分服务器数据互通公告
  4. 安装计算机ppt,计算机软件安装.ppt
  5. 蚂蚁区块链第18课 区块链预言机(ORACLE)的定义及在蚂蚁BAAS中的使用
  6. 俩小时的活5分钟就能做完,用录音转文字工具做会议记录能有多简单?
  7. 如何将坐标(GPS)添加到照片元数据中
  8. 滴滴云服务器上安装Oracle12cR2单实例数据库
  9. Operation could not be completed
  10. Android 对View 实现圆角和倒角裁剪的实现方式