资源简介
基于winpcap综合网络数据包扫描程序源代码。
http://hi.baidu.com/yanzi52351
代码片段和文件信息
#include “StdAfx.h“
#include “.\arpfastscan.h“
#include “DataAndConst.h“
class Arp_Packet
{
public:
void set_arp_option(unsigned short usOpetion)
{
this->arppac->theArpHead.usOpetion=htons(usOpetion);
}
void fill_arp_source_ip(u_long sour)
{
this->arppac->theArpHead.dwSourecIP=htonl(sour);
}
void fill_arp_dest_ip(u_long dest)
{
this->arppac->theArpHead.dwDestIP=htonl(dest);
}
void fill_arp_dest_mac(void * dest)
{
memcpy((void*)(this->arppac->theArpHead.DestMac)(const void* )dest6);
}
void fill_arp_source_mac(void * source)
{
memcpy((void*)(this->arppac->theArpHead.SourceMac)(const void* )source6);
}
void fill_eth_source(void * source)
{
memcpy((void*) (this->arppac->theEthernetHead.bSourceMac)(const void*)source6);
}
void fill_eth_dest(void * dest)
{
memcpy((void*)(this->arppac->theEthernetHead.bDestMac)(const void*)dest6);
}
ArpPacket *arppac;
Arp_Packet()//默认包长度60
{
//buf=new unsigned char[60];
this->arppac=(ArpPacket *)buf;
for (int i=0;i<18;i++)
{
this->arppac->theArpHead.Padding[i]=0;
}
this->arppac->theEthernetHead.usEthernetType=htons(0x0806);
this->arppac->theArpHead.usHardWareType=htons(0x1);
this->arppac->theArpHead.usProtocolType=htons(0x0800);
this->arppac->theArpHead.ucMacLength=6;
this->arppac->theArpHead.ucProtocolLength=4;
}
~Arp_Packet()
{
//delete (this->buf);
}
void choose_eth_type(unsigned short type=0x0806)//默认值为0x0806
{
this->arppac->theEthernetHead.usEthernetType=htons(type);
}
void set_arp_hardware_type(u_short t=1)//默认值为1
{
this->arppac->theArpHead.usHardWareType=htons(t);
}
void set_arp_protocol_type(u_short t=0x0800)//默认值为0800
{
this->arppac->theArpHead.usProtocolType=htons(t);
}
void set_arp_hardware_len(unsigned char l=6)//默认值为6
{
this->arppac->theArpHead.ucMacLength=6;
}
void set_arp_protocol_len(unsigned char l=4)//默认值为4
{
this->arppac->theArpHead.ucProtocolLength=l;
}
private:
unsigned char buf[60];
};
DWORD WINAPI ArpFastSend(LPVOID pParament)
{
ThreadSyn cSynEntry;
pcap_if_t *pSelectDev;
ThreadParament * pThreadParament=(ThreadParament *)pParament;
pSelectDev=pThreadParament->SelectDev;
pcap_t *fp;
char error[256];
char bDestMac[6];
memset(bDestMac0xff6);
Arp_Packet thePacket;
thePacket.fill_arp_dest_mac(bDestMac);
thePacket.fill_arp_source_mac(pThreadParament->HostMac);
thePacket.fill_eth_dest(bDestMac);
thePacket.fill_eth_source(pThreadParament->HostMac);
thePacket.set_arp_option(1);
if((fp = pcap_open_live(pSelectDev->name 65536 1 1000 error) ) == NULL)
{
return 0;
}
for(DWORD dwIP=pThreadParament->dwOriginalIP;dwIP<=pThreadParament->dwLastIP&&!bStop;dwIP++)
{
thePacket.fill_arp_dest_ip(dwIP);
thePacket.fill_arp_source_ip(pThreadParament->dwHostIP);
Sleep(1);
pcap_sendpacket(fp(u_char *)(thePacket.arppac)60);
while(bPause)
{
Sleep(100);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5095 2007-06-27 11:24 综合扫描程序\Code\ArpFastScan.cpp
文件 60 2007-01-10 15:36 综合扫描程序\Code\ArpFastScan.h
文件 2959 2007-01-12 13:45 综合扫描程序\Code\ArpScanDlg.cpp
文件 842 2007-01-12 13:43 综合扫描程序\Code\ArpScanDlg.h
文件 904 2007-01-13 22:27 综合扫描程序\Code\ArpSlowScan.cpp
文件 44 2007-01-08 23:05 综合扫描程序\Code\ArpSlowScan.h
文件 89008 2007-01-21 15:51 综合扫描程序\Code\BeastScaner.aps
文件 1611 2007-01-07 20:28 综合扫描程序\Code\BeastScaner.cpp
文件 467 2007-01-07 20:28 综合扫描程序\Code\BeastScaner.h
文件 1018880 2007-06-27 12:32 综合扫描程序\Code\BeastScaner.ncb
文件 911 2007-01-07 20:28 综合扫描程序\Code\BeastScaner.sln
文件 9728 2007-06-27 12:32 综合扫描程序\Code\BeastScaner.suo
文件 7240 2007-01-13 22:00 综合扫描程序\Code\BeastScaner.vcproj
文件 17182 2007-01-13 22:05 综合扫描程序\Code\BeastScanerDlg.cpp
文件 2111 2007-01-13 22:02 综合扫描程序\Code\BeastScanerDlg.h
文件 1682 2007-01-10 15:34 综合扫描程序\Code\Choose.cpp
文件 563 2007-01-10 14:50 综合扫描程序\Code\Choose.h
文件 1581 2007-01-13 09:02 综合扫描程序\Code\DataAndConst.cpp
文件 3416 2007-01-13 22:27 综合扫描程序\Code\DataAndConst.h
文件 9798 2007-01-15 09:39 综合扫描程序\Code\IcmpAdvencedScan.cpp
文件 153 2007-01-13 08:54 综合扫描程序\Code\IcmpAdvencedScan.h
文件 3324 2007-01-20 11:52 综合扫描程序\Code\IcmpNormalScan.cpp
文件 49 2007-01-09 08:02 综合扫描程序\Code\IcmpNormalScan.h
文件 2940 2007-01-13 08:53 综合扫描程序\Code\IcmpScanDlg.cpp
文件 840 2007-01-11 09:39 综合扫描程序\Code\IcmpScanDlg.h
文件 3259 2007-01-09 12:35 综合扫描程序\Code\PortScanDlg.cpp
文件 1015 2007-01-09 12:34 综合扫描程序\Code\PortScanDlg.h
文件 2805 2007-01-07 20:28 综合扫描程序\Code\ReadMe.txt
文件 2101 2007-01-21 15:47 综合扫描程序\Code\resource.h
文件 1837 2007-01-13 22:02 综合扫描程序\Code\ScanHandler.cpp
............此处省略31个文件信息
相关资源
- 计算机网络高级软件编程技术第3章
- udp网络通信源代码(单播、组播、广
- NS-3网络模拟器基础与应用.pdf
- 在线广播地址大全,大量网络广播电
- wwwscan不错的网站目录扫描
- 小型校园网络规划与设计方案毕业论
- BP多层感知器 源代码 神经网络
- 粒子群神经网络混合算法在负荷预测
- MERU无线网络配置说明
- BP神经网络代码
- 无线通信与网络(课后习题答案)
- 模电课后思考题答案网络版不全.doc
- 基于改进粒子群神经网络的电力电子
- 网络嗅探器课程设计.doc
- 基于tensorflow的猫狗图片的识别分类
- 3d结构光扫描 opencv
- WIFI 无线网络二维码生成器
- 基于QT的网络聊天室+收发数据及文件
- 学校IP数字网络广播系统
- GPIO口扫描LED屏源码
- Discuz新秀网络验证系统-UTF8-ver3.0 - 珍
- SSD8 Ex4 网络分布式练习四答案
- 吴恩达老师深度学习课程作业用到的
- 基于FPGA的神经网络的设计
- 网络封包截取源码DELPHI
- 网络工程师成长课程四部曲百度链接
- 讲解虚拟机3种网络模式(桥接、nat、
- 思维进化算法应用于优化BP神经网络的
- Proteus8位数码管的动态扫描显示
- 2001B 逃避飓风模型
评论
共有 条评论