


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五1. 实验名称:基于SOCKET的多线程端口扫描程序的实现2. 实验目的:1.掌握基于SOCKET的多线程端口扫描的原理2.进一步熟悉VC+开发环境3. 实验要求查查找资料、并根据实验写出该程序的原理和程序流程并描述关键API函数的使用.4. 实验内容程序原理:一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。端口扫描的工作原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET等)常用的端口扫描技术 TCP connect() 扫描 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。 TCP SYN扫描这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。 TCP FIN 扫描有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。IP段扫描这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。API函数:1.CreateThreadCreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId/线程ID );用于创建一个线程, 返回的一个句柄2.connectint PASCAL FAR connect (SOCKET s,const struct sockaddr FAR *name,int namelen);用于连接socket3.SendMessageSendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);用于向主窗口发送消息程序流程:主对话框启动扫描的线程扫描端口1线程1开始扫描线程2扫描端口2扫描情况消息更多的扫描线程线程结束时通过消息方式通知主对话框扫描结果5. 实验总结在网络编程中,适当采用多线程技术,可大大提高工作效率。经过测试,如果用单线程对100个主机的某个端口进行扫描要花时32分33秒,如果用50线程进行扫描的话只需花时44秒。速度要想再提高,可能需要其它方法了。如果线程数开得过多,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开闭所火灾事件应急预案(3篇)
- 行政法学历年真题试题及答案
- 电厂仓库火灾应急预案(3篇)
- 信息处理技术员考试准备要点及答案
- 火灾演练应急预案范例分析(3篇)
- 2025年计算机考试重点及试题及答案
- 2025年网络安全防护技术试题及答案
- 计算机科学技术基本概念试题及答案
- 软件设计师职业发展道路2025年试题及答案
- 计算网络安全管理考试试题及答案总结
- 园林苗木项目融资计划书
- 阶梯型独立基础(承台)配筋率验算
- 医院医生电子处方笺模板-可直接改数据打印使用
- 织金新型能源化工基地污水处理厂及配套管网工程-茶店污水处理厂环评报告
- 陕西省2023年中考英语真题(附答案)
- 中医内科学-咳嗽课件
- 夏商周考古-郑州大学中国大学mooc课后章节答案期末考试题库2023年
- 紧固件名称中英文对照表
- 失眠之中医问诊单
- 银行个人业务柜面操作风险点防控手册(印刷版)模版
- 幼儿园开辟小菜园的教育价值及实施策略探究 论文
评论
0/150
提交评论