计算机网络课程设计一codeblocks创建winpcap的编程环境
这几天在做计算机网络实验,需要用到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的编程环境相关推荐
- 计算机网络课程设计综合实验,计算机网络课程设计报告实验报告
计算机网络课程设计报告实验报告 (21页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 24.9 积分 中南大学课程设计报告课程:计算机网络课程设计 题目: ...
- 计算机网络课程设计,使用MFC实现界面化创建ARP发送与接受程序(一)
计算机网络课程设计,使用MFC实现界面化创建ARP发送与接受程序(一) 1.实验内容: 利用WinpCap开源库函数,编写程序实现ARP报文的发送和接收 2.实验要求: 利用WINPCAP给出的API ...
- 计算机网络课程设计之网络嗅探器的设计与实现
前言 本实验难点是在于Windows下的raw socket有太多的限制,因此用winpcap编程功能更加强大,但是根据指导书要求要用原始套接字,原始套接字在Linux系统下也十分强大,结尾附上Lin ...
- 计算机网络抓包参考文献,计算机网络课程设计二(网络抓包与分析)
<计算机网络课程设计二(网络抓包与分析)>由会员分享,可在线阅读,更多相关<计算机网络课程设计二(网络抓包与分析)(9页珍藏版)>请在人人文库网上搜索. 1.课程设计课程名称: ...
- 计算机网络课程设计之TELNET 终端设计与实现
前言 Telnet设计是一个比较麻烦的东东,因为Telnet服务器需要部署,而且网络上的资料比较少,最后通过在云服务器CentOS上安装Telnet服务器然后自己的程序作为一个Telnet客户端测试成 ...
- 计算机网络课程设计之基于 IP 多播的网络会议程序
前言 本实验难点在于环境的配置,尤其是多网卡配置,经过查阅资料和多次小伙伴们测试,最后终于找到问题的根源 问题分析和配置主要放在实验结果与分析栏中 结尾附上指导书的IP多播源码 白嫖容易,创作不易,本 ...
- 计算机网络课程设计之Tracert与Ping程序设计与实现
前言 本实验主要是应用ICMP报文实现Tracert和Ping功能,主要用的是Windows中的库,所以程序只能在Windows下运行. 在博客结束的地方,附上C/C++的Tracert源码和Ping ...
- 计算机网络课程设计之网络聊天程序的设计与实现
前言 计算机网络课程设计开始,要求用C/C++,而且有些题目还要有图形界面,因此决定用Qt写图形界面,同时决定用一个程序完成所有的实验设计. 白嫖容易,创作不易,本文原创,转载请注明!!! 源码和可运 ...
- 石油大学计算机网络课程设计(在线考试答案)
中国石油大学(北京)远程教育学院 <计算机网络课程设计>大作业说明 1. 目的:本大作业的目的是希望同学们学以致用,能够将课程上教授的理论内容在自己的工作生活实践中加以印证,理解计算机网络 ...
最新文章
- 求助:Event ID:10021日志错误的解决方法
- Attention Model(注意力模型)思想初探
- Java Windows 环境配置
- java default修饰符_2019最新java面试题附答案
- 【ArcGIS遇上Python】ArcGIS python计算长时间序列多个栅格数据的平均值
- 【2022】多线程并发编程面试真题
- [DFS|剪枝] leetcode 22 括号生成
- 怎么往JFrame中添加图片
- java懒汉,[Java教程]java 懒汉式
- 使用doxygen查看文件包含关系图
- matlab runtime安装目录,matlab compiler runtime怎么安装
- Java程序开发过程
- PMBOK2008中的三种沟通方式(草稿版)
- 微前端框架 之 single-spa 从入门到精通
- 切身体验苹果Reminders的贴心设计
- vscode中converting to execution character set: Illegal byte sequence
- 左侧颜面部起疱,疼痛剧烈2天-牙博士
- 【更新】Kendo UI for jQuery发布R2 2018|附下载
- mysql查询专业术语,英文术语MySQL查询
- MEDLINE与PubMed有什么区别?检索范围包含哪些?
热门文章
- [JS]笔记13之Date对象
- 路由器二次开发一步一步把工业路由器变成一个高端的可指定出网、节点和链路的路由器,包含详细过程及快捷脚本(五)
- 放开那三国服务器维修,放开那三国9月25日部分服务器数据互通公告
- 安装计算机ppt,计算机软件安装.ppt
- 蚂蚁区块链第18课 区块链预言机(ORACLE)的定义及在蚂蚁BAAS中的使用
- 俩小时的活5分钟就能做完,用录音转文字工具做会议记录能有多简单?
- 如何将坐标(GPS)添加到照片元数据中
- 滴滴云服务器上安装Oracle12cR2单实例数据库
- Operation could not be completed
- Android 对View 实现圆角和倒角裁剪的实现方式