标 题: 【原创】基于WinPCap的网络协议开发 - 炮王(超级打炮机)发送数据包(03)
作 者: 加百力
时 间: 2009-05-18,16:55:36
链 接: http://bbs.pediy.com/showthread.php?t=89175
【文章标题】: 基于WinPCap的网络协议开发 - 炮王(超级打炮机)发送数据包(03)
【文章作者】: 加百力
【软件名称】: WinPCap
【下载地址】: http://www.winpcap.org/
【内部编号】: MASSADA 0029
【编写语言】: C++
【使用工具】: VS2005
【操作平台】: Windows 2003
--------------------------------------------------------------------------------
【详细过程】
在第一篇文章中我们提到WinPCap的基本功能之一就是:
1> 在网络上发送原始的数据包。
发送原始数据包难度不大,只需要应用几个简单的函数就可以了。
我编写炮王程序的主要目的是为了测试WinPCap/libpcap的抓包能力,在不同网速和数据包大小的条件下libpcap的抓包率有多少。
炮王特点:
01、可以发送任意协议的数据包。TCP/IP等等。
02、针对每次发包,会返回状态,可以检测是否成功。在程序中如果失败会自动退出。
03、可以随机修改数据包的:源、目的MAC地址,IP地址,端口、数据内容等属性信息。
04、使用多线程发包,在XP下最多可以同时开2000个线程发包,发包速度快,流量大。在千兆网卡上可以超过15M/s的速度。
05、自动统计发包时间,计算每秒发包数量,流量。
06、可以设置发包的时间间隔,最少到1毫秒。
炮王使用方法:
首先直接运行pw.exe可以看到程序提示的参数信息和显示的当前可用网卡信息。可用网卡信息会保存在CardsInfo.txt文件中。
打开BAT脚本,修改网卡信息,即可。
运行脚本,脚本将数据包文件发送出去。
注意:总的发包数量等于每个线程的发包数量乘以线程总数。
实验的数据包文件都是MSN消息。
具体代码请看附件。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
1