




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电能质量监测系统技术方案一、电能质量监测系统硬件性能检测模块电能质量监测系统硬件性能检测模块主要实现读取系统服务器硬件信息和检测系统服务器时钟两个功能。一、读取系统服务器硬件信息1. 使用WMI技术读取局域网内各服务器的硬件信息,主要包括:(1)CPU:主要包括基本信息和统计信息。 基本信息包括:CPU编号、版本信息、产品名称、制造商名称、缓存尺寸、时钟频率、地址宽度、数据宽度等。 统计信息包括:CPU使用率、各进程CPU使用率等。 (2)内存:主要包括基本信息和统计信息。其中基本信息包括:物理内存、实际物理内存、可用实际物理内存、空闲实际物理内存、虚拟内存、可用虚拟内存、空闲虚拟内存等。 统计信息包括:内存使用率等。(3)磁盘:主要包括基本信息和统计信息。其中基本信息包括:总容量、类型、硬盘ID、硬盘盘符、容量、文件类型、可用空间、剩余空间等。统计信息包括:磁盘使用率等。(4)声卡:主要包括产品名称、PNPDeviceID、制造商名称等。(5)显卡:主要包括名称、PNPDeviceID、驱动程序文件、驱动版本号、显示处理器等。(6)网卡:主要包括网卡、默认网关、IP地址、默认DNS、子网掩码、MAC地址等(前提服务器有网卡)。(7)操作系统:主要包括序列号、操作系统、版本号、制造商、服务器名等。(8)主板:主要包括主板序列号、制造商、型号等。2.工作机制3. 工作流程4.具体说明(1)WMI技术 WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用WMI管理本地和远程计算机。Windows 2K/XP和Windows 98 都支持WMI。(2)WMI连接ConnectionOptions类主要的功能是为建立的WMI连接提供所需的所有设置。要成功完成WMI连接就要提供服务器WMI用户名和口令。ConnectionOptions类可以通过其属性来提供这些信息。表01是ConnectionOptions类的一些主要属性及其简单的说明。其中最常用的属性是Password和Username。属性说明Authority获取或设置将用于验证指定用户的权利。Locale获取或设置将用于连接操作的区域设置。Password提供用于WMI连接操作的口令。Username提供用于WMI连接操作的用户名。表01:ConnectionOptions类常用属性及其说明在利用WMI对远程计算机进行操作的时候,首先要进行WMI连接,WMI连接主要是使用的是ManagementScope 类。利用属性Options,为WMI建立提供参数;利用方法Connect,建立与服务器的WMI连接。(3)读取服务器硬件信息 ManagementObjectSearcher类根据指定的查询检索WMI对象的集合。主要通过Get方法进行WMI查询。表02是其ManagementObjectSearcher类的常用属性及其说明。属性说明Options有关如何搜索对象的选项Query在搜索器中调用的查询Scope在其中查找对象的范围表02:ManagementObjectSearcher类常用属性及其说明ObjectQuery类用于在ManagementObjectSearcher中指定查询。其中的查询字符串是一种类似SQL语言的WQL语言。eg.WQL语言: select * from Win32_ProcessorManagementObjectCollection类表示在ManagementObjectSearcher中使用Get方法查询后得到的WMI 实例的不同集合其中包括命名空间、范围和查询观察程序等。ManagementObject类为单个管理对象或类。通过ManagementObject中的方法可以调用ManagementObject对应的对象,从而执行相应的操作。ManagementObject类是一个内容丰富的类,表03和表04分别是其常用的属性和方法。属性说明ClassPath对象的类的路径。Options检索对象时要使用的其他信息。Path对象的 WMI 路径。Scope此对象在其中驻留的范围。表03:ManagementObject类常用属性及其说明方法说明Clone创建对象的一个副本。CopyTo将对象复制到另一个位置。Delete删除对象。Get绑定到管理对象。GetRelated获取与该对象(联系对象)相关的对象的集合。GetRelationships获取该对象的关联的集合。InvokeMethod调用对应的对象方法。Put提交对对象所做的更改。表04:ManagementObject类常用方法及其说明(4) WIN32类库中Win32_Processor对象1)CPU编号使用 Win32_Processor对象的ProcessorId属性获取服务器的CPU编号。2)CPU版本信息使用Win32_Processor对象的Version属性获取服务器的CPU版本信息。3)CPU产品名称使用Win32_Processor对象的Name属性获取服务器的CPU产品名称。4)CPU的制造商名称使用Win32_Processor对象的Manufacturer属性获取服务器的CPU制造商名称。5)CPU的缓存尺寸使用Win32_Processor对象的L2CacheSize属性获取服务器的CPU二级缓存尺寸。使用Win32_Processor对象的L3CacheSize属性获取服务器的CPU三级缓存尺寸。6)CPU的时钟频率使用Win32_Processor对象的MaxClockSpeed属性获取服务器的CPU的最大时钟频率。使用Win32_Processor对象的CurrentClockSpeed属性获取服务器的CPU的当前时钟频率。使用Win32_Processor对象的ExtClock属性获取服务器的CPU的外部时钟频率。7)CPU的地址宽度使用Win32_Processor对象的AddressWidth属性获取服务器的CPU的地址宽度(如32位)。8)CPU的数据宽度使用Win32_Processor对象的DataWidth属性获取服务器的CPU的数据宽度(如32位)。9)CPU使用率使用Win32_Processor对象的LoadPercentage属性获取服务器的CPU使用率及平均使用率。(5)WIN32类库中Win32_Process对象1)各进程CPU使用率A.通过计数器获取idle空闲进程cpu占用率r1;B.使用Win32_Process类对象的TotalProcessorTime属性获取各进程的cpu时间,求和,得各进程cpu时间和t1;C.通过t1/(100-r1)得到总cpu时间t;/D.对各进程,通过TotalProcessorTime获得进程cpu时间tnew,计算:(Tnew-told)/t,即得该进程的cpu占用率,其中told是程序中记录的该进程上一次的TotalProcessorTime。(6)WIN32类库中Win32_PhysicalMemory 对象1)物理内存使用Win32_PhysicalMemory 对象的Capacity属性获取服务器的物理内存(7)WIN32类库中Win32_OperatingSystem对象1)实际物理内存:使用Win32_OperatingSystem对象的TotalVisibleMemorySize 属性获得服务器的实际物理内存(内存条容量-高位内存-系统内核占用的内存)。2)空闲的实际物理内存使用Win32_OperatingSystem对象的FreePhysicalMemory属性获取服务器的空闲的实际物理内存。3)可用实际物理内存=总物理内存-空闲物理内存。4)总虚拟内存使用Win32_OperatingSystem对象的TotalVisibleMemorySize属性获取服务器的虚拟内存。5)空闲虚拟内存使用Win32_OperatingSystem对象的FreeVirtualMemory属性获取服务器空闲虚拟内存。6)可用虚拟内存=总虚拟内存-空闲虚拟内存。7)内存使用率=可用的实际物理内存/实际物理内存。8)序列号使用Win32_OperatingSystem对象的SerialNumber属性获得服务器的操作系统序列号。9)操作系统使用Win32_OperatingSystem对象的Caption属性获得服务器的操作系统版本名称。10)版本号使用Win32_OperatingSystem对象的Version属性获得服务器的操作系统版本号。11)制造商使用Win32_OperatingSystem对象的Manufacturer属性获得服务器的操作系统制造商。12)服务器名使用Win32_OperatingSystem对象的csname属性获得服务器的操作系统服务器名。(8)WIN32类库中Win32_DiskDrive对象1)磁盘盘符使用Win32_DiskDrive对象的Name属性获取服务器的磁盘总盘符。2)总容量:通过Win32_DiskDrive对象的Size属性获取服务器的磁盘总容量。3)类型:通过Win32_DiskDrive对象的DriveType属性获取服务器的磁盘类型(包括No type、Floppy disk 、Hard disk、Removable drive or network drive、CD-ROM、RAM disk)。(9)WIN32类库中Win32_LogicalDisk对象1)各硬盘盘符使用Win32_LogicalDisk对象的Name属性获取服务器各硬盘的盘符。2)各硬盘容量使用Win32_LogicalDisk对象的Size属性获取服务器各硬盘的容量。3)各硬盘的文件类型使用Win32_LogicalDisk对象的FileSystem属性获取服务器各硬盘的文件类型(如果NFTS)。4)各硬盘的可用空间使用Win32_LogicalDisk对象的FreeSpace属性获取服务器各硬盘的文件类型(如果NFTS)。5)各硬盘的已用空间=各硬盘容量-各硬盘可用空间。6)各硬盘的使用率=各硬盘的已用空间/各硬盘容量。(10)WIN32类库中Win32_BaseBoard对象1)主板序列号使用Win32_BaseBoard对象SerialNumber属性获取服务器主板序列号。2)主板制造商使用Win32_BaseBoard对象Manufacturer属性获取服务器主板制造商。3)主板型号使用Win32_BaseBoard对象Product属性获取服务器主板型号。(11) WIN32类库中Win32_SoundDevice对象1)产品名称使用Win32_SoundDevice对象的ProductName属性获取服务器声卡的产品名称。2)PNPDeviceID使用Win32_SoundDevice对象的PNPDeviceID属性获取服务器声卡的PNPDeviceID。3)制造商名称使用Win32_SoundDevice对象的Manufacturer属性获取服务器声卡的制造商名称。(12) WIN32类库中Win32_VideoController对象1)显卡名称使用Win32_VideoController对象的Name属性获取服务器显卡名称。2)PNPDeviceID使用Win32_VideoController对象的PNPDeviceID属性获取服务器显卡的PNPDeviceID。3)驱动程序文件使用Win32_VideoController对象的DriverVersion属性获取服务器显卡的驱动程序文件。4)驱动版本号使用Win32_VideoController对象的InstalledDsplayDrivers属性获取服务器显卡的驱动版本号。5)显示处理器使用Win32_VideoController对象的VideoProcessor属性获取服务器显卡的显示处理器。6)分辨率:当前垂直分辨率、当前水平分辨率使用Win32_VideoController对象的CurrentVerticalResolution属性来获取服务器显卡的当前垂直分辨率。使用Win32_VideoController对象的CurrentHorizontalResolution属性来获取服务器显卡的当前水平分辨率。7)刷新速率:最大刷新速率、当前刷新速率、最小刷新速率使用Win32_VideoController对象的MaxRefreshRate属性来获取服务器显卡的最大刷新速率。使用Win32_VideoController对象的CurrentRefreshRate属性来获取服务器显卡的当前刷新速率。使用Win32_VideoController对象的MinRefreshRate属性来获取服务器显卡的最小刷新速率。(13) WIN32类库中Win32_NetworkAdapterConfiguration对象1)网卡使用Win32_NetworkAdapterConfiguration对象的Description属性获得服务器的网卡信息。2)默认网关使用Win32_NetworkAdapterConfiguration对象的DefaultIPGateway属性获得服务器的默认网关。3)IP地址使用Win32_NetworkAdapterConfiguration对象的IPAddress属性获得服务器的IP地址4)默认DNS使用Win32_NetworkAdapterConfiguration对象的DNSServerSearchOrder属性获得服务器的默认DNS。5)子网掩码使用Win32_NetworkAdapterConfiguration对象的IPSubnet属性获得服务器的子网掩码。6)MAC地址使用Win32_NetworkAdapterConfiguration对象的MACAddress属性获得服务器的MAC地址。2、 检测系统服务器时钟1.工作机制2.NTP报文协议格式 3. 工作流程 (1)工控机向NTP服务器发送NTP报文,得到工控机上的时钟与标准时钟的误差t1。 (2)工控机向服务器发送NTP报文,得到工控机的时钟与服务器的误差 t2。 (3)对t1与t2进行数据处理,得到服务器上的时钟与标准时钟的误差。二、电能质量监测系统网络平台检测模块一、功能介绍网络平台检测模块主要实现对指定网络进行扫描,获取所有的活跃IP信息,并进一步进行端口扫描,操作系统检测以及漏洞检测。主机发现操作系统检测端口扫描漏洞检测整体架构程序运行主界面扫描配置界面二、工作机制1.ARP协议因为既有网络层地址(例如,因特网IP地址),又有链路层地址(即局域网地址),因此有必要在两者之间进行转化。对于因特网,这就是地址解析协议(Address Resolution Protocol,ARP)。每个因特网主机和局域网上的路由器都有一个ARP模块。因此,一台主机发送一个ARP查询包查询另一个局域网内的主机的MAC地址,若该主机存活的话,就会返回它的MAC地址,若不存活,就不会返回。所以就给局域网内的所以机器发送ARP查询包,根据返回的ARP包确定哪些局域网的机器是存活的。2.ICMP扫描ICMP因特网控制消息协议,主机、路由器和网关使用它来进行网络层信息的交互。ICMP信息有一个类型字段和一个代码字段。众所周知的ping程序给指定的主机发送ICMP类型8编码0的信息。目的主机,看到回应请求后,返回一个类型0编码0的ICMP回应应答,表示该主机存活。3.TCP连接IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上 和接收机的一个端口上建立连接。TCP数据包的结构如下:TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数 据包。 一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为: l SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN1而ACK=0,则表示该数据包为连接请求,如果SYN=1而 l ACK=1则表示接受连接。 l FIN: 表示发送端已经没有数据要求传输了,希望释放连接。 l RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主 l 机上的任何一个连接,则向远端发送一个复位包。 l URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。 l ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。 l PSH: 如果置位,接收端应尽快把数据传送给应用层。 l TCP连接的建立 TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手)。一些实现细节 大部分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行为。 4.对于主机发现,当扫描IP位于局域网范围内时,可采用ARP请求来确定该主机是否存活,可以获得更高的扫描效率。当扫描IP位于其他网络时,则采用常规的ICMP报文来进行主机探测。5.TCP端口扫描的主要方式如下:1) 全TCP连接 全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。 连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。 这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper 监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。 2) TCP SYN扫描 在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。 SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。 3) 秘密(FIN)扫描 秘密扫描技术 由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。 秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。 6.UDP扫描UDP扫描发送空的(没有数据)UDP报头到每个目标端口。如果返回ICMP端口不可到达错误(类型3,代码3),该端口是closed(关闭的)。 其它ICMP不可到达错误(类型3,代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。如果几次重试后还没有响应,该端口就被认为是 open|filtered(开放|被过滤的)。这意味着该端口可能是开放的,也可能包过滤器正在封锁通信。可以用版本扫描(-sV)帮助区分真正的开放端口和被过滤的端口。7.操作系统指纹识别主要使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。具体实现方式如下:1. 从网上获取内部包含了260
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南省人民医院(湖南师范大学附属第一医院)高层次人才公开招聘78人考前自测高频考点模拟试题及答案详解(典优)
- Hydroxynorketamine-d6-hydrochloride-生命科学试剂-MCE
- Hexanoyl-coenzyme-A-R-Hexanoyl-CoA-生命科学试剂-MCE
- HDAC6-ligand-Linker-Conjugate-1-生命科学试剂-MCE
- 2025安徽阜阳市颍州区教育局面向本区教育系统选调专职教研员6人模拟试卷及一套参考答案详解
- GM1-Sphingosine-d18-1-生命科学试剂-MCE
- 2025广东深圳市宝安区鹏晖中英文学校急聘生物教师1人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年动力转向泵项目发展计划
- 安全培训效果确认表课件
- 2025年数字化X射线机合作协议书
- 医院财务管理年度工作报告
- 灌溉水量平衡分析报告
- 高标准基本农田建设项目初步验收报告
- (2025版)国内旅游“一日游”合同(示范文本)
- 连云港市辅警考试题库2025
- 乡村执业助理试题及答案
- 2025年成人高考专升本医学综合真题及答案
- 2025-2026学年一年级上册统编版道德与法治教学计划
- 国开2025年秋季《形势与政策》专题测验1-5答案
- 急性STEMI PCI术冠状动脉内溶栓共识解读
- 陪诊师备考指南试题及答案
评论
0/150
提交评论