VC299基于半打开的端口扫描技术的实现

VC299基于半打开的端口扫描技术的实现

ID:38636135

大小:629.00 KB

页数:21页

时间:2019-06-16

VC299基于半打开的端口扫描技术的实现_第1页
VC299基于半打开的端口扫描技术的实现_第2页
VC299基于半打开的端口扫描技术的实现_第3页
VC299基于半打开的端口扫描技术的实现_第4页
VC299基于半打开的端口扫描技术的实现_第5页
资源描述:

《VC299基于半打开的端口扫描技术的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC299基于半打开的端口扫描技术的实现

2 需求分析
2.1 端口扫描器的总体要求
2.1.1 设计背景
该端口扫描器是面向普通用户使用,以期成为一个普通用户用来检测端口网络主机端口并有效地保护自己。在采用SYN刺探方式进行扫描的基础上成为一个基于半打开的实用、简单、方便的端口扫描工具。
2.1.2 用户特点
由于该端口扫描系统是一个基于半打开的端口扫描器,其面向的是普通的对于端口扫描有需求的用户,因此需要提供一个简洁、方便、高效的界面和功能。
2.1.3 

2、;软件开发及运行环境
系统开发工具:VisualC++6.0
2.2 端口扫描器的需求分析
端口扫描器的一般需求:
(1)隐蔽性需求
作为扫描的一方来说,端口扫描除了要能扫出目标主机的端口信息以外,还需要能有一定的隐蔽性,以最大的可能不在目标主机留下访问信息。如果仍然采用基于TCPconnect()的扫描则将很容易被目标主机记录,因此从隐蔽性上考虑SYN半打开扫描或者FIN扫描会是很好的选择。
(2)端口选择需求
当我们在使用扫描软件对目标主机进行扫描的时候,有的时候是有目的性地扫描目标主机的某

3、一个端口,然而在大部分时候却需要扫描批量端口或者是一些重要的指定端口。这个时候需要端口扫描系统具有自定义端口列表的功能。
(3)扫描结果存储需求
在进行完一次端口扫描之后,需要对结果进行保存。无论是攻击还是检测,端口扫描器是需要与其他的一些工具配合到一起使用的,所以要求端口扫描器一定要具有存储结果的功能,以将扫描得到的目标主机端口信息保存下来。
3 端口扫描器的实现
3.1 功能模块简介
所完成的端口扫描器的界面如图1所示,相关功能介绍如下:
 
图1 端口扫描器功

4、能界面
目标IP范围选择模块:选择起始IP和结束IP以确定目标IP的范围。
端口范围选择模块:自定义起始端口和结束端口以确定扫描范围。
扫描结果存储模块:自定义扫描结果的显示方式,或将扫描结果保存下来。
自定义默认端口列表模块:对默认的重要端口进行添加或删除以更符合扫描需要。
3.2 程序实现流程
程序实现的流程如图2所示:


图2 程序实现流程图
主函数首先创建一个侦听线程以准备获得返回信息。然后调用FillLocalIP函数将本地IP写入IP列表中,接着读取要扫描

5、的IP和端口,判断是否是本地IP,若是则调用函数scanlocal对本地IP和端口发起连接并获得扫描结果;如果不是本地IP就调用scan函数对远程IP发送SYN包,并通过创建的套接字rawsock得到从系统中返回的信息,分析数据后得到扫描结果。最后将扫描的结果插入结果树中排序并可保存为文本文件。
3.3 SYN探测的实现
定义了一个线程体ScanStart调用其他的函数来实现端口扫描。
(1)DWORD WINAPI ScanStart(LPVOIDlpvoid)
{
CDWordArr

6、ay& CPortList=*lpPortList;
//为侦听线程分配句柄空间
*handle=(HANDLE*)malloc(sizeof(HANDLE)*(numadapter-1));
//为LocalIP分配空间
*lpLocalIP=(ULONG*)malloc(sizeof(ULONG)*numadapter); 
HANDLE* hListen=*handle;
//创建侦听线程每块网卡绑定一个线程
while(InforL.num>=0)

7、>{
 hListen[InforL.num]=CreateThread(NULL,0,ListeningFunc,&InforL,NULL,NULL);//创建一个嗅包的线程,分析接收到的包。
  if(hListen[InforL.num]==NULL)
  {
   AfxMessageBox("创建侦听线程失败!");
  }
  Sleep(500);  

8、 //Sleep0.5s.使ListeningFunc线程初始化完毕.
  InforL.num--

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

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

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