网络端口扫描课程设计方案_网络端口扫描课程设计

hacker|
140

计算机网络课程设计

中学校园网规划方案

一. 设计目标

1.配合当前的教学发展情况,完成学校内部 Intrannet的配套基础建设,将全校的信息资源利用计算机网络连接起来,形成一个流畅、合理、可靠、安全的校园网。还应针对学校的教学特点,具有一些基本的教学功能,以完成学校的基本教学任务。通过各校校园网络的连接,可以更便利地互相交换信息,促进各个学校间的学术交流。

2.通过校园网络使教师和科研人员能及时了解国内外科技发展动态,加强对外技术合作,促进教学和科研水平的提高。建立新的通讯方式和环境,提高工作效率。

二. 设计原则

1.学校需求为前提原则:坚持以学校具体需求为校园网信息系统方案设计的根本和前提,同时,也要注重源于需求又高于需求的原则,注意用专业化的技术思想来进行校园网的规划与设计,确保校园网的实用性、先进性和便于扩展性。

2.设备选型兼顾原则:满足学校对现代化教学手段的要求;满足校园网建设及互联网的要求;所选设备在国际上保持技术先进性;供应商有良好的商业信誉和优质的售后服务。

3.坚持标准原则:一切校园网设计和施工,均要严格遵循国际和国家标准。 统一规划,分步实施。校园网的实现要求通讯协议、网络平台等应具有世界性的开放性和标准化的特点,并且应采用统一的网络体系结构。

4. 坚持先进的成熟的技术原则:采用通用的、成熟的技术方案可以降低建设成本、减小设计、施工和使用难度、缩短建设周期。有利于保护投资,并且有利于校园网的维护和升级。选择品质最好的设备不一定是最佳选择,成本因素也是一个不容忽视的问题,将品质与成本实现最佳匹配。

5. 坚持规范布线,考虑长远发展原则:

布线系统使网络的重要基础,布线系统的好坏是衡量一个网络好坏的非常重要的标志。布线系统不合理将降低网络的可靠性,使网络难以管理和维护,所以必须采用标准的综合布线系统。

6. 坚持易于使用和管理原则:

校园网的各种软件应用项目必须易于使用,对最终用户的起点要求不能太高,一般以熟练使用操作系统、办公软件系统、浏览器和电子邮件系统为宜;系统的日常管理和维护工作要方便、简易。网络拓扑结构一经配置确定,不应轻易更改。

7.坚持可扩展性原则:考虑现有网络的平滑过度,使学校现有陈旧设备尽量保持较好的利用价值;选用产品应具有最佳性价比,又要应充分考虑未来可能的应用,具有高扩展性。

三. 用户需求分析

学校要求如下:

1. 建立办公自动化系统

办公楼共有40个信息点。要求通过校园网连至INTERNET,达到100M到桌面,并对财务科,人事科等科室进行单独子网管理。

2. 建立考试监控系统

共有教学楼3座,120个信息点。

(1) 综合教学楼一个,60个信息点。其中有10个实验室,每个实验室配置1台PC和1个投影仪(此处无须上网);20个教室,其中一个教室2个摄像机。

(2) 普通教学楼1:40个信息点,共20个教室,其中一个教室2个摄像机。

(3) 普通教学楼2:20个信息点,共10个教室,其中一个教室2个摄像机。

3. 建立综合多媒体教室

信教中心:共120个信息点。有两个多媒体教室,每个教室60台PC。要求可网管,通过校园网上连至INTERNET,达到100M到桌面。

4. 为了满足教职工的需要,提高教职工教学条件和水平,大力发展网上教学,优秀科目科件制作等。将教职工宿舍区的PC通过校园网上连至INTERNET,达到10M到桌面,以后可扩展到100M 。

5. 学校校园网建设所需PC和投影仪有校方自行选择和安装。学生宿舍由于高中阶段学习生活的特殊性,不进行任何布置。

四. 网络规划设计总体方案

(一)校园网络拓扑图

(二) 设计方案

1. 网络层次结构

网络结构采用分层式设计,共分三层:核心层,工作组层,桌面接入层。分层设计可以使整个网络自上而下具有很大的弹性,便于策略的维护和实施。]

(1)核心设备

①设备名称:DCS-3926S可堆叠智能安全接入交换机

②基本介绍: 3926S具有24个10/100Mbps自适应RJ-45端口和2个模块扩展插槽(可选插百兆模块和千兆模块)可千兆或百兆聚合上联至汇聚层交换机或者核心层交换机。

③主要特征:

★高密度和灵活的堆叠

DCS-3900S系列的堆叠带宽可支持2G到4G,并且支持简单堆叠、标准堆叠、超级堆叠和混合堆叠。简单堆叠成本最低。堆叠带宽2G;标准堆叠使用堆叠模块,其带宽扩充至4G;还可以用千兆电口或千兆光口做超级堆叠,可避开堆叠线缆的限制,堆叠带宽也是4G;同时DCS-3900S系列可以和DCRS-5600S系列、DCRS-5526S交换机做混合堆叠。

★强大的ACL功能

作为新款的L2/4交换机,DCS-3926,S系列交换机提供了完整的ACL策略,可根据源/目的IP地址、源/目的MAC地址IP协议类型、TCP/UDP端口号、IP Precendence、时间范围、ToS对数据进行分类,并进行不同的转发策略。通过ACL策略的实施,用户可以在接入层交换机过滤掉“冲击波”、“震荡波”、“红色代码”等病毒包,防止扩散和冲击核心设备

★卓越的安全特性

全面的受控组播方案DMCP,可以对源和目的进行安全控制,完整实现了在接入层网络中基于IGMP源端口和目的端口的检查技术,可完全限制合法组播在网络中的稳定传输,有效控制组播建立的整个过程,保障了正常合法的组播应用的稳定运行;率先支持对特征复杂(64字节)的应用流量的访问控制,让用户可以在各种网络的环境中应对出现复杂情况;监控pingSweep等攻击行为,安全防扫描,并采取防攻击措施,全面保护交换机和服务器等网络设施的安全。

★更完美的性价比(DCS-3926S-G)

大多数接入交换机通过1个千兆光模块上联,为了提高产品的性价比,DCS-3926S-G固化了一个千兆光模块,可以为用户节约开支。

★丰富的QoS策略

DCS-3900S系列交换机为每个端口提供了4个优先级队列,可根据端口、802.1p、ToS、DSCP、TCP/UDP端口进行流量分类,并分配不同的服务级别,支持WRR/SP等调度方式,为语音/数据/视频在同一网络中传输提供所要求的不同服务质量。

④技术参数

★接口形式:24个10/100M端口+ 1个SFP千兆光口/堆叠口

★可选扩展模块:百兆电/光口模块;千兆电/光口模块;堆叠模块

★堆叠:支持标准堆叠,超级堆叠,混合堆叠。堆叠环境下,支持跨交换机的端口聚合、端口镜像、QoS、ACL

★生成树:802.1D(STP)、802.1w(RSTP)、802.1s(MSTP)

★组播协议:IGMP SnoopingQuery

★QoS:每端口4个队列,支持802.1p,ToS,应用端口号,DifferServ,支持WRR/SP等调度方式

★ACL:支持标准ACL和扩展ACL,支持IP ACL、MAC ACL、IP-MAC ACL,支持基于源/目的IP地址、源/目的MAC地址、IP协议类型、TCP/UDP端口号、IP Precendence、时间范围、ToS对数据进行过滤。

★端口聚合:支持802.3ad,最大可支持6组trunk,每trunk可到8个端口,支持基于目的MAC的负载均衡。

★IEEE802.1x:支持基于端口和MAC地址,支持神州数码802.1x整体解决方案,可以实现按时长/流量计费,可以实现用户帐号、密码、IP、MAC、VLAN、端口、交换机的严格绑定,可以防止代理软件,防止PC克隆,对客户发送通知/广告,上网时段控制,基于用户动态实现VLAN授权和带宽授权,可基于组策略实现动态IP地址分配而不必使用DHCP服务器等。

★认证:支持RADIUS

★端口镜象:支持。

★支持的网络标准:IEEE802.1D IEEE 802.3 IEEE 802.3u IEEE802.3ad IEEE 802.3x IEEE 802.3z IEEE802.1Q IEEE 802.1p IEEE 802.1x IEEE802.1w IEEE 802.1s等堆叠。

(2)工作组设备

①设备名称:DCS-3726S 24口+2槽可堆叠网管10/100/1000M以太网交换机

②基本介绍:DCS-3726S是神州数码网络专为校园网互连设计的一款可网管交换机,可堆叠使用提供很高的端口密度,适用于企业大中型网络组网。它具有24个10/100Mbps自适应RJ-45端口和2个模块扩展插槽(可选插百兆光纤模块或千兆模块),可千兆或百兆上联至骨干网。DCS-3726S提供有端口限速功能,使用灵活方便。该交换机还可以下接最多24台其他交换机实现级联以扩展端口数目。它还支持VLAN、组播、优先级、端口聚合和端口镜像等实用网络功能,而且还提供了18Gbps的背板带宽,实现了数据的全线速转发,消除了网络瓶颈,为多用户接入提供了高性能的网络解决方案。

③主要特征:

★24个10/100Base-TX端口

DCS-3726S具有24个固定的10/100Base-TX端口。这些端口均支持Nway标准,可支持10/100Base-TX自适应及全双工/半双工。

★2个千兆端口

DCS-3726S交换机前面板具有2个插槽,可选插1口百兆模块或千兆模块,千兆模块可支持1000Base-SX、1000Base-LX和1000Base-T标准。所有模块支持流量控制和全双工,可处理大量数据。千兆端口可将部门网络与千兆主干网络连接起来,也可以连接高性能服务器,使得更多用户可以同时访问。

★100Base-FX模块

DCS-3726S插槽可以选插1口100Base-FX(SC)短波或长波模块,运行于全双工模式下,可以应用于高电磁干扰或通信保密性要求高的场合,通常应用于远距离传输。

★大型堆叠,多达 192个10/100Base-TX端口

DCS-3726S交换机最多可以堆叠8台设备,堆叠组最多可达192个10/100Base-TX端口,使得网络可以灵活扩展,并能够有效减少网络层次,便于大型社区内大量用户的互联接入。

④技术参数

★端口聚合( Port Trunking)

DCS-3726S支持端口聚合功能,同时支持802.3ad的标准。可将2/3/4个10/100Base-TX端口聚合成一条干路,每条干路支持全双工模式,交换机最多支持6组端口聚合。

★生成树( Spanning Tree)

DCS-3726S支持多种生成树功能,如:802.1D、802.1w、802.1s。Spanning Tree协议可使LAN自动检测并解决环路问题,可提供链路的备份。802.1D为基本的Spanning Tree协议,缺省操作模式是开启状态。DCS-3726S同时支持802.1w快速生成树模式,可使收敛时间缩短至几秒内。IEEE 802.1s可使IEEE Std 802.1Q的VLAN加入到多个生成树中,即提供spanning tree per VLAN的功能。

★虚拟网络( VLAN)

支持虚拟网络( VLAN)标准来控制广播域和网段流量,可以提高网络性能、安全性和可管理性。DCS-3726S支持IEEE 802.1q VLAN标记,可基于端口地址来划分VLAN,最多256个VLAN。通过控制口或网管工作站可以轻松完成结构和设备的添加、移动和更换。可根据最大网络流量和网络安全性来划分虚拟网络。DCS-3726S同时支持GVRP协议,可实现VLAN组成员动态注册,支持基于端口的VLAN划分管理方式,支持动态VLAN。生成树:802.1D(STP)、802.1w(RSTP)、802.1s(MSTP)

★MAC地址过滤:自动学习 ; 动态和静态地址过滤

★管理功能 : 端口安全 ; Bootp、DHCP客户 ; 配置文件上载 /下载 ; TFTP固件升级

(3)桌面接入层设备

①设备名称:神州数码 DCS-1024普通交换机

②技术参数

★交换机类型:普通交换机

★传输速率(Mbps):10Mbps/100Mbps

★网络标准:IEEE802.3 10BASE-T 以太网;IEEE802.3u 100BASE-TX 快速以太网;IEEE802.3x流量控制

★网络协议:CSMA/CD

★ 接口介质:10BASE-T: 2对3,4或5类非屏蔽双绞线(UTP)(≤100m); EIA/TIA-568 100欧屏蔽双绞线(STP)(≤100m)。100BASE-TX: 2对或4对5类非屏蔽双绞线(UTP)(≤100m); EIA/TIA-568 100欧屏蔽双绞线(STP)(≤100m)

★传输模式:全双工/半双工自适应

★其他技术参数:数据传输速率:以太网:10Mbps(半双工);20Mbps(全双工)

快速以太网:100Mbps(半双工);200Mbps(全双工)

拓扑结构:星型

MAC地址表:8K

最大包过滤/转发率:每端口14,880pps(10Mbps);每端口148,800pps(100Mbps)

RAM缓冲:2.5M

2. 链路设计(包括综合布线详细说明)

(1)办公楼:核心交换机DCS-3926S通过一个千兆口有1000BASE-T4对超五类STP下连服务器,通过一个千兆口由1000BASE-SX多模光纤下连办公楼各科室,教师办公室的工作组交换机,通过一个千兆口由1000BASE-LX多模光纤下连信教中心的工作组交换机,通过一个百兆端口由100BASE-FX多模光纤下连教学楼工作组交换机,通过一个百兆端口由100BASE-FX多模光纤下连教工宿舍区工作组交换机。

(2)信教中心:工作组交换机DCS-3726S 通过超五类STP下连桌面接入交换机DCRS-1024。DCRS-1024通过超五类UTP接入PC。

(3)教学楼:工作组交换机DCS-3726S 通过100BASE-FX下连桌面接入交换机DCRS-1024。

DCRS-1024通过超五类UTP接入摄象机和投影仪。

(4)教工宿舍区:工作组交换机DCS-3726S 通过100BASE-FX下连桌面接入交换机DCRS-1024。DCRS-1024通过超五类UTP接入PC。

3 路由设计

采用神州数码DCR-2501V 多协议模块化路由器,确保网络的安全性和可靠性。

①设备名称:DCR-2501V 多协议模块化路由器

②基本介绍:神州数码DCR-2501V路由器是神州数码网络推出的固定配置语音路由器,性能稳定可靠。DCR-2501V提供了1个console端口,1个10Base-T以太网口,1个辅助(AUX)端口,2个高速广域网串口,2路FXS语音端口;DCR-2501V路由器支持常用的广域网协议和路由协议,支持VoIP协议,支持内置强大的防火墙和NAT功能,为用户提供了更加高速、安全、稳定可靠、方便的网际互连设备,非常适用于中小企业、政府等远程分支机构语音和数据互联或Internet接入等。

③主要特征:

(DDR)功能;支持IP Unnumbered,从属IP和ARP代理功能;支持多种队列算法以保证服务质量(QoS)的提供;支持Novell IPX路由协议;支持路由再分配功能;高稳定性;提供背对背(Back-to-Back)连接方案,可用于检测路由器的功能

④技术参数

★标准配置

▼ 1个10 Base-T以太网口

▼2个高速串口,支持RS232、V.24、V.35、X.21、EIA530A等电气标准

▼ 2路FXS语音端口

▼1个Console端口

▼1个辅助(AUX)端口,可进行远程配置和拨号备份

▼内存:DRAM 16 M,可扩充至32M;Flash Memory 2 M,可扩充至4M

▼CPU:32位RISC处理器(MPC860 50MHz)

★协议和标准

▼以太网接口标准:IEEE802.3 10Base-T标准

▼广域网接口标准:RS232、V.24、V.35、X.21、EIA530A等电气标准

▼支持VoIP标准:支持H.323协议栈,支持 G.729、G.723.1、G.711等多种语音编码压缩标准,支持T.38传真协议和Bypass方式的传真应用。

▼帧中继标准:ITU-T Q933Annex A、ANSI T1.617Annex D、兼容CISCO标准

▼广域网协议:HDLC、PPP、MP、Frame-Relay(DTE/DCE)、X.25(DTE/DCE)

▼路由协议:静态路由、RIP(包括RIP v1、RIP v2)、OSPF、Novell IPX路由协议

▼用户安全认证协议:PAP、CHAP、MS-CHAP、RADIUS、TACACS+

★管理维护

提供Show、Ping、TraceRoute、Debug等命令,用于察看、测试网络的可达性,诊断网络故障;支持Telnet远程配置与管理;支持SNMP、RMON等网络管理协议;支持HTTP协议,用户可以通过Web界面对路由器进行配置、维护

4. 安全设计

可启用标准或扩展访问控制列表进行数据报或数据段控制,在内外网口设置一台DCFW-1800S-L 小型企业级百兆防火墙保证整个网络抵御来自内,外网的攻击。

①设备名称:DCFW-1800S-L 小型企业级百兆防火墙

②基本介绍:神州数码DCFW-1800S-L防火墙专为中小企业分支机构、SOHO办公、中小学校的网络而设计,以功能实用、接入灵活、配置方便快捷、性能稳定为设计原则,使复杂的网络安全实施得以简化。它充分考虑中小型用户特点,支持VLAN环境、支持PPPOE与DHCP,集成防火墙、VPN,内容过滤,为中小企业的网络安全实现提供了经济的解决方案。

③主要特征:

★让中小型用户、分支机构享受无以伦比的性价比

★轻松部署,支持PPPoE协议,提供ADSL/ISDN接入方式

★设置简洁,通过浏览器可以轻松完成功能配置

★支持DHCP服务器功能,节省用户网络管理投资,支持无地址接入

★集成VPN,可以进行隧道认证及数据加密,保护了企业机密同时降低了沟通成本

★集成内容过滤、邮件过滤,防止非法信息、恶意脚本及垃圾邮件;集成防拒绝服务网关,提供攻击检测及攻击抵御

★支持用户认证;支持应用层日志及加密日志存储,有效审计进出网络的敏感信息

④技术参数

★工作模式:路由、透明、NAT

★内容过滤:URL、邮件、指令、ActiveX/Java, 诡异木马探测

★支持:网络安全域结构体系;PPPoE协议;DHCP Relay,DHCP Server;防拒绝服务网关;VPN功能

★最大并发连接数:300,000

★网络吞吐量:150M

★VPN隧道数:10

★VPN拨号用户:10

★策略数:300

5. 管理设计(包括详细管理软件说明)

①设备名称:神州数码LinkManager

②基本介绍:LinkManager 网管系统是一套基于Windows NT平台的高度集成、功能较完善、实用性强、方便易用的全中文用户界面网络管理系统。它是神州数码网络有限公司根据中国用户的实际需求,遵循ISO网络管理模型的五大功能域(性能管理、配置管理、故障管理、计费管理及安全管理)的架构,自行组织研发出来的一套具有自有知识产权的网管系统。LinkManager 具有既面向指定设备,又支持通用网络设备的"垂直+水平"的管理特性。也就是说,它能够对神州数码网络有限公司推出的具有SNMP功能的网络设备提供齐全的设备管理和功能管理,同时也能够良好地支持其他任何具有通用SNMP功能的网络设备,提供整个网络的拓扑结构和常用网络管理信息。

③主要特征:

★提供两套视图-物理视图及逻辑视图,可满足操作员的不同需求:

▼对于希望了解当前网络拓扑逻辑结构的操作员,系统采用傻瓜方式,以默认形式为用户自动绘制出整个网络的逻辑视图,不需用户干预。

▼对于只想掌控自己关心的网络设备的操作员,系统采用DIY 方式,支持操作员按物理连接或自己随意的自组物理视图;

▼自动绘制出的网络拓扑图还可以通过另存为的方式供操作员修改;

★提供两种设备添加方式,增强操作员在自组物理视图时的DIY手段:

▼强大的自动发现功能,具有对第二层、第三层及应用层设备的自动识别能力,能准确定位神州数码品牌的网络设备;

▼按操作员兴趣手动添加连入网络的设备,支持操作员选择不同的设备类型;

★提供两种视图的层次结构组织,纹理清晰:

▼ 在自动方式中,逻辑视图的层次结构由各层子网、网络设备及其设备特性构成;

▼ 在 DIY方式中,物理视图的层次结构由子图、网络设备及其设备特性构成;

★提供网络设备的图形标记,用作设备的属性、特征、状态标识:

▼各被管设备类型在视图中都拥有自己的属性标志图符;

▼ 各被管设备在视图中都拥有自己的三色状态标识;

▼ 各神州数码品牌的网络设备都拥有逼真的面板图,真实反映接口状况及实际连接;

▼ 在两个视图中,各设备的图形标识具有一致性;

★友好的用户界面

▼周到的拓扑图发现方式适合操作员的不同需求;

▼采用操作员熟悉的Windows界面风格及操作方式;

▼按照中国用户的思维习惯组织的管理内容;

▼适当的产品定位,高度的集成化,将功能统一在同一界面内,可使操作员免于因功能模块散乱而引起的无所适从。

④技术参数

★硬件平台

▼ Intel Pentium或以上的处理器;

▼64M或以上的内存;

▼带有SVGA图形卡的800*600显示器,现仅支持小字体;

▼ 剩余磁盘空间:50MB以上;

▼网络适配卡;

▼ 光驱。

★网络平台

▼安装并配置了TCP/IP协议;

▼ 以神州数码网络有限公司的网络设备为主,同时兼容其它厂家SNMP设备。

▼ 能够为下述神州数码网络有限公司的网络设备提供齐全的设备管理和功能管理:

以太网交换机包括DCRS-7515、DCRS-7508、DCRS-7504、DCRS-6512、DCS-3652、DCS-3628S、DCS-3426、

LRS-6706G/LRS-6626、DES-6000、DES-3326、DES-3624i、DES-3225G、DHS-3226;路由器包括DCR-3660、

DCR-2650、DCR-2630、DCR-1750、DCR-1720、DCR-2511、DCR-2509、DCR-2501。

★操作系统平台

可选以下操作系统平台:

▼ Microsoft Windows NT 4.0(Workstation或Server,Service Pack 6);

▼ Microsoft Windows 2000(Professional或Server)。

★其它支持软件

▼Microsoft Internet Explorer 4.0版本或以上版本,必须预先安装;

▼Acrobat Reader 4.0版本或以上版本,必须预先安装。

6. 考试监控系统设计

建立经济可用的考试监控系统,采用tovi图威MP-5020硬盘录象机,韩国威视特光电科技彩色转黑白半球型摄像机VT-BW308。

ⅰ.①设备名称:tovi图威MP-5020硬盘录象机

②基本介绍:20路音/视频同步实时压缩

③基本功能:

★录像压缩比大,数据量在 50M/h至190M/h之间;

★多工操作,支持监视、压缩、录像、回放等同步工作;

★系统自动运行,录像和自检跳过损坏硬盘,支持无人职守;

★掉电保护录像资料,防止录像丢失;

★支持操作系统屏蔽、多用户权限管理和日志记录,提高系统安全性;

★支持控制多种解码器及矩阵;

★任意画面满屏显示和切换显示功能;

★实时显示系统工作的各类状态信息,显示画面叠加日期时间和字符;

★视频丢失、事件录像、硬盘状态和报警等信息提示;

★提供现场监听和监视抓拍功能;

★可调整监视图象画质;

★提供报警、移动、定时和手动等事件录像类型,支持预录像;

★录像分辨率可选 352x288(CIF)和176x144(QCIF);

★可调整录像质量、画质、数据量和录像帧率;

★录像画面叠加日期时间和字符,支持画面局部遮蔽;

★支持多硬盘自动盘满循环录像;

★设置录像文件打包的时间间隔;

④技术参数

★操作系统:Windows2000

★压缩格式:H.264

★视频输入:20路视频

★音频输入:20路音频

★录像速度:500帧/秒

★系统分辩率:704*576 /384*288

★画面分割:1、4、8、12、16、20

★硬盘标配:200G

★录像模式:手动、自动循环、报警驱动、移动侦测

ⅱ. ①设备名称:韩国威视特光电科技彩色转黑白半球型摄像机VT-BW308。

②技术参数

★Specification:VT-BW307

★摄像器件:1/3'Sony CCD

★水平分辨率:彩色 480 Line 黑白6000line

★视频输出:1Vp-p75Ω Negative

★自动白平衡:自动白平衡

★背光补偿:自动背光补偿

★最低照度:彩色:0.01LUX;黑白0.01lux

★电子快门:PAL:1/50-1/100000sec

7. 其他设备

①设备名称:联想万全T168 G3 S930 512/73C服务器

②基本介绍:

★采用新一代64位双核技术的英特尔?奔腾?D处理器930, 3.0GHz主频,2*2MB二级缓存,800MHz前端总线

★512M ECC DDR2-667内存

★73G 易插拔U320 SCSI 硬盘

★中文版系统安装和故障排除指南

★PS/2接口键盘和光电鼠标

8. 可扩展性设计

核心,工作组,接入设备都预备有可扩展插槽和端口,方便日后系统升级;核心设备留有冗余电源,整个系统可提供不间断的服务。

五. 设备数目与价格明细表

(一)线类价格表

设备名称 设备数目 设备价格(/M)

Commscope 12芯室外多模铠装光缆(62.5/125) 750 m 49元/M

一舟 STP4对超五类 (100米/箱) 200M 430元/箱

一舟 UTP4对超五类 (100米/箱) 2500M 200元/箱

总计: -------- 42610元

(二) 设备价格表

设备名称 设备数目 设备价格(/台)

神州数码 DCS-3926S交换机 1 25000元

神州数码 DCS-3726S交换机 5 17800元

神州数码 DCS-1024交换机 17 930元

神州数码DCR-2501V 多协议模块化路由器 1 23000元

神州数码DCFW-1800S-L 小型企业级百兆防火墙 1 11000元

联想万全T168 G3 S930 512/73C服务器 5 11999元

tovi图威MP-5020硬盘录象机 6 2000元

韩国威视特光电科技彩色转黑白半球型摄像机VT-BW308 100 430元

总计: 253805元

(三)模块等其他价格

设备名称 设备数目 设备价格(/块)

MS-3926S-1GT 1口100/1000Base-T千兆模块 1 4,950元

MS-3726S-1MFC 1口100Base-FX多模光纤模块 4 3,750元

DCS-3726SGBIC-LX1000Base-LX GBIC接口卡模块 3 9,950元

MS-3726-S堆叠模块 1 2450元

LinkManager-30-250N(250节点,Windows NT/2000平台,3.×版本) 1 15600元

WINDOWS 2000 SEVER单击版 3 5000元

总计: 82850元

六. 工程总造价(不含施工费用)

总计:379625元,设备打折下来约合人民币:22000元

别人的,参考下吧。

端口扫描原理及工具 - 安全工具篇

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部端口,不可见。例如计算机中的80端口、21端口、23端口等。

一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

因此,一个开放的端口代表一个提供的服务,不同的服务具有不同的端口号, 因此要对服务进行测试,首先要确定是否开放对应端口号 。

TCP端口和UDP端口。由于TCP和UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也 可以有235端口,两者并不冲突。

1、周知端口

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW服务的端口是“80”。

2、动态端口

动态端口的范围是从49152到65535。之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

3、注册端口

端口1024到49151,分配给用户进程或应用程序。这些进程主要是用户安装的程序。

1、使用Nmap工具查找ip的tcp端口

-O :获取操作系统版本信息

2、使用Nmap工具查找udp端口

-sU :表示udp scan , udp端口扫描

-Pn :不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)

对于udp端口扫描比较慢,扫描完6万多个端口需要20分钟左右

3、使用Nmap工具获取端口Banner

只会返回有Banner信息的,没有则不会返回。

4、使用Nmap嗅探服务版本信息

如果没有返回banner信息的,也可以使用该方法尝试嗅探服务版本信息。

5、利用nmap对目标进行完整测试

在针对内容测试时,有授权的情况下,可以利用nmap对目标进行完整测试

毕业论文 基于TCP/IP三次握手的端口扫描技术

基于TCP/IP 端口扫描技术

[摘要] 本文讲述了TCP联接的建立过程,以及介绍了一些经典的扫描器以及所谓的SYN扫描器的使用,以及隐藏攻击源的技术,最好介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。 关键字:

TCP/IP,UDP,三阶段握手,SYN扫描,FIN扫描,秘密扫描,间接扫描,诱骗扫描,指纹,协作扫描。

--------------------------------------------------------------------------------

正文:

端口扫描技术

前言

第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。

然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。

第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。

秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN 段返回一个RST,但是打开的端口通常丢弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。

第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描(ident scanning)也被成为代理扫描(proxy scanning)。

最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。

一:TCP/IP相关问题

连接端及标记

IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。

一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:

SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。

FIN: 表示发送端已经没有数据要求传输了,希望释放连接。

RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。

URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。

ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。

PSH: 如果置位,接收端应尽快把数据传送给应用层。

TCP连接的建立

TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):

1: C --SYN XXà S

2: C ?-SYN YY/ACK XX+1------- S

3: C ----ACK YY+1--à S

1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。

2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。

3:C 对从S 来的SYN进行应答,数据发送开始。

一些实现细节

大部分TCP/IP实现遵循以下原则:

1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。

2:当一个RST数据包到达一个监听端口,RST被丢弃。

3:当一个RST数据包到达一个关闭的端口,RST被丢弃。

4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。

5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。

6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN ACK数据包。

7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。

二:全TCP连接和SYN扫描器

全TCP连接

全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。

这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。

TCP SYN扫描

在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

三:秘密扫描与间接扫描

秘密扫描技术

由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。

秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。

Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。

秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。

跟SYN扫描类似,秘密扫描也需要自己构造IP 包。

间接扫描

间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:

假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。

四:认证扫描和代理扫描

认证扫描

到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。

认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。

代理扫描

文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。

ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:

1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。

2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。

3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。

4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否则S回收到"425无法打开数据连接"的应答。

5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。

FTP代理扫描不但难以跟踪,而且当ftp服务器在_blank"防火墙后面的时候

五:其它扫描方法

Ping扫描

如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。

1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。

2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用。

安全扫描器

安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们。它们主要要解决以下问题:

1:是否允许匿名登录。

2:是否某种网络服务需要认证。

3:是否存在已知安全漏洞。

可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂。

栈指纹

绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。

远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP,TELNET,HTTP和DNS服务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在只能最多只能识别出10余种操作系统。

最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。 QueSO第一个实现了使用分离的数据库于指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。

这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。

另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP对探测的回应,就可以发现 TCP实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统。

栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:

1:FIN探测

2:BOGUS标记探测

3:TCP ISN 取样

4:TCP 初始窗口

5:ACK值

6:ICMP错误信息

7:ICMP信息

8:服务类型

9:TCP选项

Kali Linux 网络扫描秘籍 第三章 端口扫描(二)

执行 TCP 端口扫描的一种方式就是执行一部分。目标端口上的 TCP 三次握手用于识别端口是否接受连接。这一类型的扫描指代隐秘扫描, SYN 扫描,或者半开放扫描。这个秘籍演示了如何使用 Scapy 执行 TCP 隐秘扫描。

为了使用 Scapy 执行 TCP 隐秘 扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

此外,这一节也需要编写脚本的更多信息,请参考第一章中的“使用文本编辑器*VIM 和 Nano)。

为了展示如何执行 SYN 扫描,我们需要使用 Scapy 构造 TCP SYN 请求,并识别和开放端口、关闭端口以及无响应系统有关的响应。为了向给定端口发送 TCP SYN 请求,我们首先需要构建请求的各个层面。我们需要构建的第一层就是 IP 层:

为了构建请求的 IP 层,我们需要将 IP 对象赋给变量 i 。通过调用 display 函数,我们可以确定对象的属性配置。通常,发送和接受地址都设为回送地址, 127.0.0.1 。这些值可以通过修改目标地址来修改,也就是设置 i.dst 为想要扫描的地址的字符串值。通过再次调用 dislay 函数,我们看到不仅仅更新的目标地址,也自动更新了和默认接口相关的源 IP 地址。现在我们构建了请求的 IP 层,我们可以构建 TCP 层了。

为了构建请求的 TCP 层,我们使用和 IP 层相同的技巧。在这个立即中, TCP 对象赋给了 t 变量。像之前提到的那样,默认的配置可以通过调用 display 函数来确定。这里我们可以看到目标端口的默认值为 HTTP 端口 80。对于我们的首次扫描,我们将 TCP 设置保留默认。现在我们创建了 TCP 和 IP 层,我们需要将它们叠放来构造请求。

我们可以通过以斜杠分离变量来叠放 IP 和 TCP 层。这些层面之后赋给了新的变量,它代表整个请求。我们之后可以调用 dispaly 函数来查看请求的配置。一旦构建了请求,可以将其传递给 sr1 函数来分析响应:

相同的请求可以不通过构建和堆叠每一层来执行。反之,我们使用单独的一条命令,通过直接调用函数并传递合适的参数:

要注意当 SYN 封包发往目标 Web 服务器的 TCP 端口 80,并且该端口上运行了 HTTP 服务时,响应中会带有 TCP 标识 SA 的值,这表明 SYN 和 ACK 标识都被激活。这个响应表明特定的目标端口是开放的,并接受连接。如果相同类型的封包发往不接受连接的端口,会收到不同的请求。

当 SYN 请求发送给关闭的端口时,返回的响应中带有 TCP 标识 RA,这表明 RST 和 ACK 标识为都被激活。ACK 为仅仅用于承认请求被接受,RST 为用于断开连接,因为端口不接受连接。作为替代,如果 SYN 封包发往崩溃的系统,或者防火墙过滤了这个请求,就可能接受不到任何信息。由于这个原因,在 sr1 函数在脚本中使用时,应该始终使用 timeout 选项,来确保脚本不会在无响应的主机上挂起。

如果函数对无响应的主机使用时, timeout 值没有指定,函数会无限继续下去。这个演示中, timout 值为 1秒,用于使这个函数更加完备,响应的值可以用于判断是否收到了响应:

Python 的使用使其更易于测试变量来识别 sr1 函数是否对其复制。这可以用作初步检验,来判断是否接收到了任何响应。对于接收到的响应,可以执行一系列后续检查来判断响应表明端口开放还是关闭。这些东西可以轻易使用 Python 脚本来完成,像这样:

在这个 Python 脚本中,用于被提示来输入 IP 地址,脚本之后会对定义好的端口序列执行 SYN 扫描。脚本之后会得到每个连接的响应,并尝试判断响应的 SYN 和 ACK 标识是否激活。如果响应中出现并仅仅出现了这些标识,那么会输出相应的端口号码。

运行这个脚本之后,输出会显示所提供的 IP 地址的系统上,前 100 个端口中的开放端口。

这一类型的扫描由发送初始 SYN 封包给远程系统的目标 TCP 端口,并且通过返回的响应类型来判断端口状态来完成。如果远程系统返回了 SYN+ACK 响应,那么它正在准备建立连接,我们可以假设这个端口开放。如果服务返回了 RST 封包,这就表明端口关闭并且不接收连接。此外,如果没有返回响应,扫描系统和远程系统之间可能存在防火墙,它丢弃了请求。这也可能表明主机崩溃或者目标 IP 上没有关联任何系统。

Nmap 拥有可以执行远程系统 SYN 扫描的扫描模式。这个秘籍展示了如何使用 Namp 执行 TCP 隐秘扫描。

为了使用 Nmap 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

就像多数扫描需求那样,Nmap 拥有简化 TCP 隐秘扫描执行过程的选项。为了使用 Nmap 执行 TCP 隐秘扫描,应使用 -sS 选项,并附带被扫描主机的 IP 地址。

在提供的例子中,特定的 IP 地址的 TCP 80 端口上执行了 TCP 隐秘扫描。和 Scapy 中的技巧相似,Nmap 监听响应并通过分析响应中所激活的 TCP 标识来识别开放端口。我们也可以使用 Namp 执行多个特定端口的扫描,通过传递逗号分隔的端口号列表。

在这个例子中,目标 IP 地址的端口 21、80 和 443 上执行了 SYN 扫描。我们也可以使用 Namp 来扫描主机序列,通过标明要扫描的第一个和最后一个端口号,以破折号分隔:

在所提供的例子中,SYN 扫描在 TCP 20 到 25 端口上执行。除了拥有指定被扫描端口的能力之外。Nmap 同时拥有配置好的 1000 和常用端口的列表。我们可以执行这些端口上的扫描,通过不带任何端口指定信息来运行 Nmap:

在上面的例子中,扫描了 Nmap 定义的 1000 个常用端口,用于识别 Metasploitable2 系统上的大量开放端口。虽然这个技巧在是被多数设备上很高效,但是也可能无法识别模糊的服务或者不常见的端口组合。如果扫描在所有可能的 TCP 端口上执行,所有可能的端口地址值都需要被扫描。定义了源端口和目标端口地址的 TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或者 65536 个可能的 TCP 端口地址。对于要扫描的全部可能的地址空间,需要提供 0 到 65535 的端口范围,像这样:

这个例子中,Metasploitable2 系统上所有可能的 65536 和 TCP 地址都扫描了一遍。要注意该扫描中识别的多数服务都在标准的 Nmap 1000 扫描中识别过了。这就表明在尝试识别目标的所有可能的攻击面的时候,完整扫描是个最佳实践。Nmap 可以使用破折号记法,扫描主机列表上的 TCP 端口:

这个例子中,TCP 80 端口的 SYN 扫描在指定地址范围内的所有主机上执行。虽然这个特定的扫描仅仅执行在单个端口上,Nmap 也能够同时扫描多个系统上的多个端口和端口范围。此外,Nmap 也能够进行配置,基于 IP 地址的输入列表来扫描主机。这可以通过 -iL 选项并指定文件名,如果文件存放于执行目录中,或者文件路径来完成。Nmap 之后会遍历输入列表中的每个地址,并对地址执行特定的扫描。

Nmap SYN 扫描背后的底层机制已经讨论过了。但是,Nmap 拥有多线程功能,是用于执行这类扫描的快速高效的方式。

除了其它已经讨论过的工具之外,Metasploit 拥有用于 SYN 扫描的辅助模块。这个秘籍展示了如何使用 Metasploit 来执行 TCP 隐秘扫描。

为了使用 Metasploit 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

Metasploit 拥有可以对特定 TCP 端口执行 SYN 扫描的辅助模块。为了在 Kali 中启动 Metasploit,我们在终端中执行 msfconsole 命令。

为了在 Metasploit 中执行 SYN 扫描,以辅助模块的相对路径调用 use 命令。一旦模块被选中,可以执行 show options 命令来确认或修改扫描配置。这个命令会展示四列的表格,包括 name 、 current settings 、 required 和 description 。 name 列标出了每个可配置变量的名称。 current settings 列列出了任何给定变量的现有配置。 required 列标出对于任何给定变量,值是否是必须的。 description 列描述了每个变量的功能。任何给定变量的值可以使用 set 命令,并且将新的值作为参数来修改。

在上面的例子中, RHOSTS 值修改为我们打算扫描的远程系统的 IP 地址。地外,线程数量修改为 20。 THREADS 的值定义了在后台执行的当前任务数量。确定线程数量涉及到寻找一个平衡,既能提升任务速度,又不会过度消耗系统资源。对于多数系统,20 个线程可以足够快,并且相当合理。 PORTS 值设为 TCP 端口 80(HTTP)。修改了必要的变量之后,可以再次使用 show options 命令来验证。一旦所需配置验证完毕,就可以执行扫描了。

上面的例子中,所指定的远程主机的钱 100 个 TCP 端口上执行了 TCP SYN 扫描。虽然这个扫描识别了目标系统的多个设备,我们不能确认所有设备都识别出来,除非所有可能的端口地址都扫描到。定义来源和目标端口地址的TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或 65536 个可能的 TCP 端口地址。对于要扫描的整个地址空间,需要提供 0 到 65535 的 端口范围,像这样:

在这个李忠,远程系统的所有开放端口都由扫描所有可能的 TCP 端口地址来识别。我们也可以修改扫描配置使用破折号记法来扫描地址序列。

这个例子中,TCP SYN 扫描执行在由 RHOST 变量指定的所有主机地址的 80 端口上。与之相似, RHOSTS 可以使用 CIDR 记法定义网络范围。

Metasploit SYN 扫描辅助模块背后的底层原理和任何其它 SYN 扫描工具一样。对于每个被扫描的端口,会发送 SYN 封包。SYN+ACK 封包会用于识别活动服务。使用 MEtasploit 可能更加有吸引力,因为它拥有交互控制台,也因为它是个已经被多数渗透测试者熟知的工具。

除了我们之前学到了探索技巧,hping3 也可以用于执行端口扫描。这个秘籍展示了如何使用 hping3 来执行 TCP 隐秘扫描。

为了使用 hping3 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

除了我们之前学到了探索技巧,hping3 也可以用于执行端口扫描。为了使用 hping3 执行端口扫描,我们需要以一个整数值使用 --scan 模式来指定要扫描的端口号。

上面的例子中,SYN 扫描执行在指定 IP 地址的 TCP 端口 80 上。 -S 选项指明了发给远程系统的封包中激活的 TCP 标识。表格展示了接收到的响应封包中的属性。我们可以从输出中看到,接收到了SYN+ACK 响应,所以这表示目标主机端口 80 是开放的。此外,我们可以通过输入够好分隔的端口号列表来扫描多个端口,像这样:

在上面的扫描输出中,你可以看到,仅仅展示了接受到 SYN+ACK 标识的结果。要注意和发送到 443 端口的 SYN 请求相关的响应并没有展示。从输出中可以看出,我们可以通过使用 -v 选项增加详细读来查看所有响应。此外,可以通过传递第一个和最后一个端口地址值,来扫描端口范围,像这样:

这个例子中,100 个端口的扫描足以识别 Metasploitable2 系统上的服务。但是,为了执行 所有 TCP 端口的扫描,需要扫描所有可能的端口地址值。定义了源端口和目标端口地址的 TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或者 65536 个可能的 TCP 端口地址。对于要扫描的全部可能的地址空间,需要提供 0 到 65535 的端口范围,像这样:

hping3 不用于一些已经提到的其它工具,因为它并没有 SYN 扫描模式。但是反之,它允许你指定 TCP 封包发送时的激活的 TCP 标识。在秘籍中的例子中, -S 选项让 hping3 使用 TCP 封包的 SYN 标识。

在多数扫描工具当中,TCP 连接扫描比 SYN 扫描更加容易。这是因为 TCP 连接扫描并不需要为了生成和注入 SYN 扫描中使用的原始封包而提升权限。Scapy 是它的一大例外。Scapy 实际上非常难以执行完全的 TCP 三次握手,也不实用。但是,出于更好理解这个过程的目的,我们来看看如何使用 Scapy 执行连接扫描。

为了使用 Scapy 执行全连接扫描,你需要一个运行 UDP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

此外,这一节也需要编写脚本的更多信息,请参考第一章中的“使用文本编辑器*VIM 和 Nano)。

Scapy 中很难执行全连接扫描,因为系统内核不知道你在 Scapy 中发送的请求,并且尝试阻止你和远程系统建立完整的三次握手。你可以在 Wireshark 或 tcpdump 中,通过发送 SYN 请求并嗅探相关流量来看到这个过程。当你接收到来自远程系统的 SYN+ACK 响应时,Linux 内核会拦截它,并将其看做来源不明的响应,因为它不知道你在 Scapy 中 发送的请求。并且系统会自动使用 TCP RST 封包来回复,因此会断开握手过程。考虑下面的例子:

这个 Python 脚本的例子可以用做 POC 来演系统破坏三次握手的问题。这个脚本假设你将带有开放端口活动系统作为目标。因此,假设 SYN+ACK 回复会作为初始 SYN 请求的响应而返回。即使发送了最后的 ACK 回复,完成了握手,RST 封包也会阻止连接建立。我们可以通过观察封包发送和接受来进一步演示。

在这个 Python 脚本中,每个发送的封包都在传输之前展示,并且每个收到的封包都在到达之后展示。在检验每个封包所激活的 TCP 标识的过程中,我们可以看到,三次握手失败了。考虑由脚本生成的下列输出:

在脚本的输出中,我们看到了四个封包。第一个封包是发送的 SYN 请求,第二个封包时接收到的 SYN+ACK 回复,第三个封包时发送的 ACK 回复,之后接收到了 RST 封包,它是最后的 ACK 回复的响应。最后一个封包表明,在建立连接时出现了问题。Scapy 中可能能够建立完成的三次握手,但是它需要对本地 IP 表做一些调整。尤其是,如果你去掉发往远程系统的 TSR 封包,你就可以完成握手。通过使用 IP 表建立过滤机制,我们可以去掉 RST 封包来完成三次握手,而不会干扰到整个系统(这个配置出于功能上的原理并不推荐)。为了展示完整三次握手的成功建立,我们使用 Netcat 建立 TCP 监听服务。之后尝试使用 Scapy 连接开放的端口。

这个例子中,我们在 TCP 端口 4444 开启了监听服务。我们之后可以修改之前的脚本来尝试连接 端口 4444 上的 Netcat 监听服务。

这个脚本中,SYN 请求发送给了监听端口。收到 SYN+ACK 回复之后,会发送 ACK回复。为了验证连接尝试被系统生成的 RST 封包打断,这个脚本应该在 Wireshark 启动之后执行,来捕获请求蓄力。我们使用 Wireshark 的过滤器来隔离连接尝试序列。所使用的过滤器是 tcp (ip.src == 172.16.36.135 || ip.dst == 172.16.36.135) 。过滤器仅仅用于展示来自或发往被扫描系统的 TCP 流量。像这样:

既然我们已经精确定位了问题。我们可以建立过滤器,让我们能够去除系统生成的 RST 封包。这个过滤器可以通过修改本地 IP 表来建立:

在这个例子中,本地 IP 表的修改去除了所有发往被扫描主机的目标地址的 TCP RST 封包。 list 选项随后可以用于查看 IP 表的条目,以及验证配置已经做了修改。为了执行另一次连接尝试,我们需要确保 Natcat 仍旧监听目标的 4444 端口,像这样:

和之前相同的 Python 脚本可以再次使用,同时 WIreshark 会捕获后台的流量。使用之前讨论的显示过滤器,我们可以轻易专注于所需的流量。要注意三次握手的所有步骤现在都可以完成,而不会收到系统生成的 RST 封包的打断,像这样:

此外,如果我们看一看运行在目标系统的 Netcat 服务,我们可以注意到,已经建立了连接。这是用于确认成功建立连接的进一步的证据。这可以在下面的输出中看到:

虽然这个练习对理解和解决 TCP 连接的问题十分有帮助,恢复 IP 表的条目也十分重要。RST 封包 是 TCP 通信的重要组成部分,去除这些响应会影响正常的通信功能。洗唛按的命令可以用于刷新我们的 iptable 规则,并验证刷新成功:

就像例子中展示的那样, flush 选项应该用于清楚 IP 表的条目。我们可以多次使用 list 选项来验证 IP 表的条目已经移除了。

执行 TCP 连接扫描的同居通过执行完整的三次握手,和远程系统的所有被扫描端口建立连接。端口的状态取决于连接是否成功建立。如果连接建立,端口被认为是开放的,如果连接不能成功建立,端口被认为是关闭的。

0条大神的评论

发表评论