WinPcap开发(一):零基础入门

WinPcap开发(一):零基础入门

ID:47539370

大小:527.82 KB

页数:18页

时间:2020-01-14

WinPcap开发(一):零基础入门_第1页
WinPcap开发(一):零基础入门_第2页
WinPcap开发(一):零基础入门_第3页
WinPcap开发(一):零基础入门_第4页
WinPcap开发(一):零基础入门_第5页
资源描述:

《WinPcap开发(一):零基础入门》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.WinPcap开发(一):零基础入门*原创作者:追影人0×00前言网络编程在网络安全方面具有举足轻重的作用,如何快捷高效的监听、分析、构造网络流量,成为很多安全从业者需要解决的重点问题。而winpcap这一免费开源项目恰好可以为win32应用程序提供访问网络底层的能力,所以其成为了相关网络编程的首选开发工具。0×01winpcap是什么?winpcap(windowspacketcapture)是windows平台下一个免费的网络访问系统,可用于windows系统下的网络编程。著名的wireshark便是基于winpcap开发的,大家在安装wireshark中可以看到winpcap驱动程序的

2、安装过程。有关winpcap的介绍网络上很多,百科里面介绍的也很详细,我就不再copy了。需要注意的一点是,winpcap并不是一个简单的library,而是一个针对Win32平台上的抓包和网络分析的一个架构,它包括一个核心态的包过滤器,一个底层的动态链接库(packet.dll)和一个高层的不依赖于系统的库(wpcap.dll)。所以它只能“嗅探”到物理线路上的数据包,而不具备拦截的能力,因此不适用于个人防火墙等项目。0×02你需要准备些什么?word范文.本系列文章主要带大家认识和了解如何利用winpcap网络编程技术进行网络的协议分析、流量统计及网络探测扫描等,这里我们并不会去深硬的解读

3、相关源代码,而是以轻松的方式结合实验来对相关原理进行深入理解。在本系列文章中,笔者从简到难,简明介绍winpcap架构原理、相关环境搭建及快速编写核心代码。但是在开始前,读者需要有一些相关基础:了解网络协议相关基础知识,掌握一门winpcap开发库支持的编程语言,自己能动手实践编写一些例子。Winpcap提供的开发接口原生是c语言的,不过热心肠的程序猿们已经为其他语言的使用提供了封装,比如java、.net、python,好像连易语言都有。本系列文章将使用c语言来进行各种实验,有兴趣的读者可以将其转换成自己熟悉的语言来动手实践。0×03你能学到什么?有关winpcap开发的文章在网上很容易找到

4、,但是更多的都是对于代码的讲解,笔者在本文尽量系统性的从原理层面结合各个应用场景来介绍相关知识:word范文.1. Winpcap获取网卡基本信息及收发数据包2. 存活主机探测3. 端口扫描4. Arp欺骗5. 中间人攻击的简单实现6.  流量统计与分析0×04知识补充进行下面的介绍前,我们需要了解几个名词的关系。winpcap(windowspacketcapture)是windows平台下一个免费的网络访问系统,可用于windows系统下的网络编程。linux平台下对应的开发包是libpcap。Wireshark是基于winpcap处理网络驱动层。Wpdpack是winpcap的开发包,提

5、供开发相关程序的接口。0×05环境准备首先根据你所选择的开发语言选择对应的编译器,笔者使用c语言,利用VS2012进行相关开发。word范文.安装好编译器后,进行相关配置。下载wpdpack点击这里 初学者可以选择里面的Examples进行编译,可以看到找不到头文件,及相关库。  这是因为wpdpack中的相关库还没有引入到编译环境中 将wpdpack包中的Include和lib文件夹中的文件添加到VS的相关目录下即可编译通过。将编译后的程序进行运行则出现以下错误。word范文. 这是由于运行时缺乏动态链接库导致,最简单的方法是直接下载并安装winpcap驱动程序 下载 如果你觉得这样子很麻烦

6、,也可以采用简易方法。程序在运行时只需要winpcap在system32下面释放的wpcap.dll和packet.dll,还有driver下面的npf.sys,所以不需要完整安装winpcap,而选择只复制以上三个文件到对应目录中即可。本节笔者将采用著名的Arpspoof源码进行相关讲解,源码下载地址http://www.verysource.com/code/2287464_1/arpspoof.cpp.html0×06枚举可用网络适配器资源在使用winpcap进行收发数据包时,需指定对应的网卡,所以有必要列出计算机上所有可用的网络适配资源。列取网卡信息的核心代码://该函数在Arpspo

7、of程序中,笔者进行了详细注释void ListAdapters()word范文.{pcap_if_t *alldevs;//用于存储网卡链表的头指针pcap_if_t *d;//用于遍历网卡链表的临时变量    int i=0;//记录网卡个数char errbuf[PCAP_ERRBUF_SIZE];//存储错误信息char szGateIPAddr[16];//网卡对应网关地址char *p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。