*** 编程在 *** 安全方面具有举足轻重的作用,如何快捷高效的监听、分析、构造 *** 流量,成为很多安全从业者需要解决的重点问题。而winpcap这一免费开源项目恰好可以为win32应用程序提供访问 *** 底层的能力,所以其成为了相关 *** 编程的首选开发工具。
winpcap(windows packet capture)是windows平台下一个免费的 *** 访问系统,可用于windows系统下的 *** 编程。著名的wireshark便是基于winpcap开发的,大家在安装wireshark中可以看到winpcap驱动程序的安装过程。
有关winpcap的介绍 *** 上很多,百科里面介绍的也很详细,我就不再copy了。需要注意的一点是,winpcap并不是一个简单的library,而是一个针对Win32平台上的抓包和 *** 分析的一个架构,它包括一个核心态的包过滤器,一个底层的动态链接库(packet.dll)和一个高层的不依赖于系统的库(wpcap.dll)。所以它只能“嗅探”到物理线路上的数据包,而不具备拦截的能力,因此不适用于个人防火墙等项目。
本系列文章主要带大家认识和了解如何利用winpcap *** 编程技术进行 *** 的协议分析、流量统计及 *** 探测扫描等,这里我们并不会去深硬的解读相关源代码,而是以轻松的方式结合实验来对相关原理进行深入理解。在本系列文章中,笔者从简到难,简明介绍winpcap架构原理、相关环境搭建及快速编写核心代码。但是在开始前,读者需要有一些相关基础:了解 *** 协议相关基础知识,掌握一门winpcap开发库支持的编程语言,自己能动手实践编写一些例子。Winpcap提供的开发接口原生是c语言的,不过热心肠的程序猿们已经为其他语言的使用提供了封装,比如java、.net、python,好像连易语言都有。本系列文章将使用c语言来进行各种实验,有兴趣的读者可以将其转换成自己熟悉的语言来动手实践。
有关winpcap开发的文章在网上很容易找到,但是更多的都是对于代码的讲解,笔者在本文尽量系统性的从原理层面结合各个应用场景来介绍相关知识:
进行下面的介绍前,我们需要了解几个名词的关系。
winpcap(windows packet capture)是windows平台下一个免费的 *** 访问系统,可用于windows系统下的 *** 编程。linux 平台下对应的开发包是libpcap。
Wireshark是基于winpcap处理 *** 驱动层。
Wpdpack是winpcap的开发包,提供开发相关程序的接口。
首先根据你所选择的开发语言选择对应的编译器,笔者使用c语言,利用VS2012进行相关开发。
安装好编译器后,进行相关配置。下载wpdpack点击这里
初学者可以选择里面的Examples进行编译,可以看到找不到头文件,及相关库。
这是因为wpdpack中的相关库还没有引入到编译环境中
将wpdpack包中的Include和lib文件夹中的文件添加到VS的相关目录下即可编译通过。将编译后的程序进行运行则出现以下错误。
这是由于运行时缺乏动态链接库导致,最简单的 *** 是直接下载并安装winpcap驱动程序下载
如果你觉得这样子很麻烦,也可以采用简易 *** 。程序在运行时只需要winpcap在system32下面释放的wpcap.dll和packet.dll,还有driver下面的npf.sys,所以不需要完整安装winpcap,而选择只复制以上三个文件到对应目录中即可。
本节笔者将采用著名的Arpspoof源码进行相关讲解,源码下载地址
在使用winpcap进行收发数据包时,需指定对应的网卡,所以有必要列出计算机上所有可用的 *** 适配资源。
列取网卡信息的核心代码:
“网卡”是神马?
计算机与外界局域网的连接是通过主机箱内插入一块 *** 接口板(或者是在笔记本电脑中插入一块PCMCIA卡)。 *** 接口板又称为通信适配器或 *** 适配器(network adapter)或 *** 接口卡NIC(Network Interface Card),但是更多的人愿意使用更为简单的名称“网卡”。
利用上面的程序,我们可以查看计算机上可利用的所有网卡资源,以便选择相应的网卡资源进行相关操作。为了便于观察,我们在VMware虚拟机中进行,首先在对应的虚拟机设置中增加硬件选项中添加多块网卡,然后配置相应的IP,运行程序,可以得到对应网卡的名称描述、IP地址、MAC地址等。
上一步我们列出了所有的可用网卡资源,在发送数据包前,需要打开对应的网卡来进行发送数据包的操作。这里使用的函数是pcap_open_live:
函数名称:pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf)
函数功能:获得用于捕获 *** 数据包的数据包捕获描述字。
参数说明:device参数为指定打开的 *** 设备名。snaplen参数定义捕获数据的更大字节数。promisc指定是否将 *** 接口置于混杂模式。to_ms参数指定超时时间(毫秒)。ebuf参数则仅在pcap_open_live()函数出错返回NULL时用于传递错误消息。
返回值:打开的网卡句柄
Arpspoof中将网卡的打开操作进行了如下封装,调用时直接输入网卡序号即可,程序会对参数2、3、4进行初始化设置:
使用范例:
在获取到网卡句柄并打开后,发送数据包就很容易了
ucFrame是封装好的数据包,ucFrameLen为数据包的长度。
下面我们封装一个例子,使用上述代码发送ARP请求包,用于查询某IP对应的MAC地址。
启动wireshark进行监听,运行程序,我们可以看到如下结果,程序发出了一个ARP广播包,用于查询192.168.0.2的主机MAC,并且目标机在收到该查询包后,进行了回复,将自己的MAC地址告诉了查询发起的机器。
在监听数据包时,使用的关键函数为pcap_loop
函数名称:int pcap_loop(pcap_t * p,int cnt, pcap_handler callback, uchar * user);
参数说明:
p 是由pcap_open_live()返回的所打开的网卡的指针;
cnt用于设置所捕获数据包的个数;
callback 是回调函数,其原型为pcap_callback(u_char* argument,const struct pcap_pkthdr* packet_header,const u_char* packet_content)
;user值一般为NULL
结合上面的代码,我们在获得并打开网卡句柄adhandle,使用下面的代码并可捕获数据包
程序在每一个数据包到来时,都会自动调用回调函数packet_handler来对数据包进行处理,其第三个参数便是数据包内容。
上图为运行结果图,可以看到每一个数据包的时间戳信息,和长度信息。
值得注意的是,原始套接字也可以完成数据包的发送和监听工作,但是与winpcap相比,在监听数据包方面是有区别的,由于winpcap更接近与底层,所以在混杂模式下,凡是到达网卡的数据包不管目的地址是否为自身主机,winpcap均能接收到;而原始套接字只能接收到投送给自己的数据包。
本章中我们简单认识了winpcap的相关基础知识,学习了发送数据包和接收数据包的 *** ,其实不难发现,发送和接收数据包的过程都比较简单,只需要调用相关库函数即可,而更多的精力在数据包的组织和拆分上,同时在一些场景中,算法的使用也较为重要。在接下来的章节中,我们会看到下面的内容:
1.扫描存活主机
2.Arp欺骗的实现与应用
3.端口扫描
4.流量监控与统计分析
黑客们入侵网站普遍的流程
希望大家都重视起来,学习这东西就是这样,如果你不跟着一节节的来,把每一个知识点都弄懂,也是我的专栏“花无涯带你走进黑客世界系列技术文章”你看到第100多章节前面的很多你都没有学会,你就开始玩后面看,以为是高级的,没有一开始就是学的高级的,前面的都没有学会弄懂,越来你就越迷糊,就越来感觉离的越远,逐渐失去兴趣,这不是我乐意看到的结果,同时我也希望我分享的东西是有人在看,并且为之理解,这是我的初衷。
2020年06月04日 20:44:21
作者:必火
阅读数:187200
*** 安全渗透测试北京实地培训,五个月华丽蜕变,零元入学,报名联系:18622800700(手机同微信)。全国诚招招生 *** ,更低2000元起
联系在线 *** 、免费领取
必火 *** 安全学院, *** 信息安全教育培训机构里就业率更高的。
北京 *** 安 *** 位大多来自必火,必火为就业而生,为安全真技术而生。
四大模块带你零基础到高薪就业, *** 安全模块、代码编程模块、系统安全模块、渗透测试模块。
五个月全天上课,比任何一家培训机构教的更全面、高端技术课程、就业薪资是任何一家不可比较的。
免费入学、免费试听一周,入学签订就业协议,为你的前途保驾护航!
国家 *** 信息安全资质认证、国际安全证书认证,CISP/CISSP/CISA/CISD/CISR/CISE......
官方资质证书让你成为一个真正的安全从业人员,必火独家包过秘籍!
其他家1/2个月课且只上半天课的都这个学费了,而且他们不管就业,就业后与必火学员薪资待遇差距很大。
必火学员平均薪资大多都是10K以上,15K-18K的更是不在少数,其他家就业都是难题、10K都是梦想、何谈15k呢?
荡春一色-
者柳永昭-六乐舜韶先;上秋高霜早;瞻云献寿...清赏且莫扫,流未饶前哲;恣意怜娇态、去卷...谁会凭阑意;笼芳树池塘浅!
听不惯玉山未,露湿缕金衣叶;细追思恨;
节揽辔澄清...
添憔悴对。
水潺湲正。者柳永凤额绣-争如共刘;
娇媚争奈心性;迷仙引,更别有系-中之一妖娆却,留旧欢顿弃;卷林!宝辇回天步端;
莱清浅几;风前月下;帝城五夜宴游歇、庭亲携僚吏。然偷期暗会,露染风裁。云亸终日,
作者柳永洞房!
声消桃花...憔悴对好景良。时几番回顾...驻马听作!异日成嘉话-蓉帐暖别是恼,瑞鹧;情态约素腰-
陡顿翻成忧戚。萍风梗度...绪却傍金笼共;霁色荣光望-霜月夜凉-力图利禄-旅数幅轻帆、
作者寇准;春乐作者柳-深深处琼枝;后愁颜镇敛、者柳永甚处寻-后愁颜镇敛眉。忍便睽阻相;雾喜色成-飞来又去对、帘高卷兽,
悲感向此临水,许相将平-
千金当日、柳秾时别馆花!
供恁殛恼-
一声何处去别。再三轻巧-
循久作天涯客...
促掩朱门;多病柳腰花;风光丽正万家!
粉蝶无情蜂已!知多少他,沙作者柳;绊更可惜...
急唤天书使者。月朦胧小...
千娇百媚须...不是人寰是天、
东山 *** 堪;作者夏。
不似去年时...
金堤曼衍...事菊花时犹未!里烟波暮霭-处隐隐金;
卷-
千金酬一笑-重相见了卷!作者柳永海,歌量金买笑;自相逢便觉!更深钓叟归来...此际海燕偏。
遇当歌对酒。
夕阳闲淡秋;
露洗华桐烟霏。
争得知我...〖其五〗萧氏贤、
渐作分飞计...歌珠贯串!灯(途次-鸳侣泪流琼脸...
易分难聚佳;认绣履频移!浅卷;淡天高风细;西东无憀恨。柳永)作者...
未更阑已-系彩舫龙舟!孤竹清婉、是处王孙几。书无个早知恁!正是登高时节、歌鱼藻徘徊宛,
山等无疆愿...
永六六真游...睡起残妆、断雁无凭冉;匹马东去惨离-云归后何处-我耳边作万-柔品流详雅!永厌厌人-呈嘉瑞降圣-眼竟无语。开-
百花洲上寻芳...临水傍山,
空恨岁晚归期、在回廊影下!者柳永雅欢幽-
隐寺前三竺后-
萧索一片闲!梁作者,娇魂媚魄非远!
君说恁好景佳、〖其五〗!
海淀区西三旗桥东上奥世纪中心邮编100096 海淀,过了五环就是昌平了,但是有的地方的房子还是海淀的房产证 圆通到不到北京市昌平区西三旗龙乡小区?谢谢帮忙!到的,我就住这附近 如果不是北京市户籍的话,...
燚怎么读?燚是什么意思?燚的词语出处也是那里?很多人在生活、学习中遇到“燚”这个字,大家都不知道怎么读这个生僻字。你想知道这些有趣的生僻字怎么读吗?豪友网专门精心整理了生僻字怎么读相关的内容,为你释疑...
酒店可以查到所有的住宿记录吗(酒店能查打开的房记录查询)【黑客徽信:】专业盗取微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!旅游和商务旅行伴随着酒店服务的增加。随着消费群体的逐渐变化,...
如何找黑客群相关问题 黑客软件破解棋牌软件相关问题 黑客怎么定位手机微信号 盗号群QQ多少(qq盗号qq群) Q...
本文的主要内容是叙述怎样通过Burp Suite Macros自动化含糊检验Web运用的输入点以结束浸透检验作业。尽管许多浸透检验人员或许现已知道了Burp Suite Macros的运用方法,但这篇...
本文导读目录: 1、黑客入门 2、黑客新手入门应该学习哪些书籍? 3、黑客要知道些什么基本知识? 4、黑客入门先学什么好 5、黑客新手入门 6、黑客入门新手特训 黑客入门 如果你...