版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8/16/2020,1,计算机网络编程技术,第2章 主机扫描程序设计,张晓明 北京石油化工学院计算机系,8/16/2020,2,引子主机安全?,4. 万事俱备,你的使命是什么?,2. 如何获得一个活动主机的端口?,1. 如何获得一个活动的主机?,3. 已知一个活动主机的端口,如何获得其开放的服务?,8/16/2020,3,本章的主要内容,如何探测主机的活动状态? ICMP协议原理与编程技术 端口扫描器 ? 端口扫描技术分类与工作原理 基于TCP全连接的扫描编程技术 高级端口扫描编程技术,8/16/2020,4,2.1 活动主机探测技术,PING命令的用途?,8/16/2020,5,2.1.1
2、ICMP协议介绍,(1)ICMP的功能 ICMP(Internet control message protocol) 网际控制报文协议 ICMP就是一个“错误侦测与回报机制 侦测远端主机是否存在; 建立及维护路由资料; 重导资料传送路径; 资料流量控制,8/16/2020,6,(2) ICMP与IP的关系,8/16/2020,7,(3) ICMP数据报格式,8/16/2020,8,(4) ICMP类型与代码描述 (部分),8/16/2020,9,ICMP类型与代码描述 (续),8/16/2020,10,PING命令,ping是响应请求(类型=8)和应答(类型=0)。 一台主机向一个节点发送一
3、个类型=8的ICMP报文,如果途中没有异常(例如,被路由器丢弃、目标不回应ICMP或传输失败),则目标返回类型=0的ICMP报文,说明这台主机存在。,Ping 百度网,百度网的地址从何得来?,8/16/2020,11,tracert命令,通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。,8/16/2020,12,Tracert百度网,8/16/2020,13,(5) ICMP与网络安全,ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。 “Ping of Death”攻击 利用操作系统规定的ICMP数据包最大尺寸不超
4、过64这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。 “Ping of Death”的攻击原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。(现在的操作系统已经限制了发送ICMP数据包的大小,解决了这个漏洞。) ICMP风暴 向目标主机长时间、连续、大量地发送ICMP数据包,使得目标主机耗费大量的CPU资源处理。也会最终使系统瘫痪。,8/16/2020,14,2.1.2 基于ICMP的探测原理,直接对IP和ICMP包进行操作,实验中使用RAW模式的SOCKET编程。 定义ICMP报文。IcmpPac
5、ket类 客户机发送封装ICMP回显请求报文的IP数据包。创建Socket实例,再调用其SendTo()方法。 客户机接收封装ICMP应答报文的IP数据包: 调用Socket实例中的ReceiveFrom()方法。,8/16/2020,15,2.1.3 活动主机程序设计,使用界面 设计流程,8/16/2020,16,2.2 端口扫描技术,作用? 如预攻击探测 2.2.1 主机扫描过程,8/16/2020,17,Q/A,如何实现高速扫描?,多连接 多线程 先探测主机的活动状态, 只扫描活动主机; ,8/16/2020,18,2.2.2 端口扫描技术分类,8/16/2020,19,(1) TCP
6、connect()扫描,(a) 连接建立成功 (b)连接不成功,8/16/2020,20,(2) TCP SYN扫描 :半开放扫描,(a) TCP SYN扫描成功 (b) TCP SYN扫描不成功,8/16/2020,21,(3) TCP FIN扫描,(a) TCP FIN扫描目标端口打开 (b) TCP FIN扫描目标端口关闭,8/16/2020,22,(4) TCP ACK扫描,(a) TCP ACK扫描目标端口打开 (b) TCP ACK扫描目标端口关闭,8/16/2020,23,(5) NULL扫描,(a) NULL扫描目标端口打开 (b) NULL扫描目标端口关闭,8/16/2020
7、,24,(6) XMAS扫描,(a) XMAS扫描目标端口打开 (b) XMAS扫描目标端口关闭,8/16/2020,25,(7) SYN/ACK扫描,(a) SYN/ACK扫描目标端口打开 (b) SYN/ACK扫描目标端口关闭,8/16/2020,26,2.3 TCP全连接扫描程序设计,(1) 基本流程,8/16/2020,27,(2)常规扫描程序,private void NormalScan(Object state) Int32 port=(Int32)state; string tMsg=; TcpClient tcp=new TcpClient(); try tcp.Connec
8、t(scanHost,port); portSum+; tMsg=port.ToString()+端口开放。; portList.Items.Add(tMsg); tcp.Close(); catch tcp.Close(); ,8/16/2020,28,(3)多线程扫描程序,/设置最大线程数 ThreadPool.SetMaxThreads(setThreadNum,setThreadNum); for(Int32 threadNum=startPort;threadNum=endPort;threadNum+) ThreadPool.QueueUserWorkItem(new WaitCa
9、llback(StartScan),threadNum); ,8/16/2020,29,多线程扫描程序段,public void StartScan(Object state) Int32 port=(Int32) state; string tMsg=; string getData=; connState+; /判断线程数目 try TcpClient tcp=new TcpClient(); tcp.Connect(scanHost,port); portSum+; tMsg=port.ToString()+端口开放。; portListArrayportSum-1=tMsg; Stre
10、am sm=tcp.GetStream(); sm.Write(Encoding.Default.GetBytes(tMsg.ToCharArray(),0,tMsg.Length); StreamReader sr=new StreamReader(tcp.GetStream(), Encoding.Default); try getData=sr.ReadLine(); if(getData.Length!=0) tMsg=port.ToString()+端口数据:+getData.ToString(); portListArrayportSum-1=tMsg; ,8/16/2020,30
11、,全连接扫描程序界面,(a)常规扫描界面 (b)多线程扫描界面,8/16/2020,31,2.4 高级端口扫描程序设计,高级端口扫描主要指的是半连接扫描和秘密扫描。 NMAP工具的高级端口扫描:,8/16/2020,32,基于SYN和FIN的扫描程序,设计界面 数据结构,包括: ICMP IP_HEADER TCP_HEADER UDP_HEADER FAKE_ HEADER IPPort DataInfo,8/16/2020,33,本章小结思考,如何使活动主机不被扫描到 ? 如何防护自己的主机, 不被扫描到端口及其服务? 当主机被扫描时, 如何获得其扫描痕迹? 如何关闭不需要的服务, 以免黑客扫描? ,8/16/2020,34,基本实验项目,1TCP全连接端口扫描功能的增强设计: (1)要求自动获取被扫描主机的IP地址,并增加DNS功能,将主机IP地址更换为主机名。 (2)设计多线程扫描功能,且分析如何自动检测线程的状态。 (3)计算扫描时间:以毫秒为单位,计算整个端口扫描的时间。 (4)在以上基础上进行实验分析,线程数量应该在什么范围内才比较合适,此时扫
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 原液准备浸渍操作工班组建设强化考核试卷含答案
- 计算机外部设备装配调试员操作管理竞赛考核试卷含答案
- 实木及实木复合地板备料工创新意识能力考核试卷含答案
- 耐火原料煅烧工安全行为模拟考核试卷含答案
- 化纤组件清理工安全教育强化考核试卷含答案
- 塑料层压工安全专项评优考核试卷含答案
- 化妆品制造工安全培训知识考核试卷含答案
- 图书馆服务员岗前新工艺考核试卷含答案
- 化工添加剂生产工岗位综合评估考核试卷含答案
- 数控钻工班组管理评优考核试卷含答案
- 2026秋人教版九年级英语上册Unit1 The changing World分课时教学设计
- 第4课《科技力量大》(课件)
- 人教版-物理-八年级-上册-第一章-机械运动-第3节-运动的快慢-专题st图像和vt图像2020
- 2024北森图表分析题库
- 危岩崩塌落石稳定性运动计算总表
- 精神科护理情景教学
- 学校家委会的作用和职责
- 单位驾驶员劳务派遣投标方案投标文件(技术方案)
- 成人住院患者静脉血栓栓塞症的预防护理课件
- DL∕T 459-2017 电力用直流电源设备
- MOOC 研究生学术规范与学术诚信-南京大学 中国大学慕课答案
评论
0/150
提交评论