




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)任务书系 ( 所 ) 系 (所) 主任 批 准 日 期 毕业设计(论文)任务书 院 系 班 学生 毕业设计(论文)课题 漏洞扫描工具原理与实现 毕业设计(论文)工作自 年 月 日起至 年 月 日止毕业设计(论文)进行地点: 电信学院网络所 课题的背景、意义及培养目标 漏洞扫描工具用于探测或者评估网络和系统的漏洞的工具,是网络安全结构中的重要组成部分,为系统管理员提供了有效的安全防御工具。 通过该题目的毕业设计,使学生能够综合运用网络原理、网络安全等课程的专业知识,提高分析与解决问题的能力。 设计(论文)的原始数据与资料 无原始数据与资料 课题的主要任务 学习和掌握漏洞扫描研究领域的概念和原理。 实现漏洞扫描的基本功能:端口扫描、操作系统探测、漏洞探测,建立漏洞特征库和产生漏洞报告,并进行一定的测试。 iii毕业设计(论文)考核评议书 课题的基本要求(工程设计类题应有技术经济分析要求) 1、掌握漏洞扫描原理 2、完成编码和调试,实现上述基本功能 3、系统结构合理,运用技术正确,系统能达到一定性能。 完成任务后提交的书面材料要求(图纸规格、数量,论文字数,外文翻译字数等) 1. 程序清单、流程和说明 2. 毕业设计论文(15000字左右):要求形式、内容方面符合论文规范 3. 翻译原文及译文(4000字) 主要参考文献 1、陈家东. 网络安全扫描系统实现技术研究. 硕士学位论文,华中科技大学, 2007 2、杨森, 张新有. 网络安全漏洞扫描器设计与实现. 网络安全技术与应用, 2008:(11) 指导教师 接受设计(论文)任务日期 (注:由指导教师填写) 学生签名: 西 安 交 通 大 学毕业设计(论文)考核评议书 院 系(专业) 班级 指导教师对学生 所完成的课题为 的毕业设计(论文)进行的情况,完成的质量及评分的意见: 指导教师 年 月 日 毕业设计(论文)评审意见书 评审意见: 评阅人 职称 年 月 日 毕业设计(论文)答辩结果 院 系(专业) 毕业设计(论文)答辩组对学生 所完成的课题为 的毕业设计(论文)经过答辩,其意见为 并确定成绩为 毕业设计(论文)答辩组负责人 答辩组成员 年 月 日摘 要摘 要随着internet的迅速发展,网络为信息流通提供了高效稳定的平台。网络技术的发展在给我们带来便利的同时也带来了巨大的安全隐患。不法分子试图不断利用新的技术伺机攻入他人的网络系统,利用特殊的方法搜集资源来达到特殊的目的。一旦重要信息泄露,就会带来无法估量的严重后果。漏洞扫描技术能够检测网络系统潜在的安全漏洞和脆弱性,评估网络系统的安全状况。 本文给出一个扫描器实例。通过对漏洞扫描相关理论的分析,将扫描器实例的划分成几个模块,并给出每个模块的工作流程。按照工作流程,从方法实现原理出发,详细的描述了每个模块的实现方法,并给出关键代码。然后对关键代码进行解释分析。最终对本系统进行测试,在给出测试结果的同时,也对测试结果进行了分析。通过本系统,能够轻松实现对系统的端口扫描,ftp、smtp、finger、cgi漏洞的扫描。该系统有利于管理员对整体网络的安全态势做出评估,减轻管理员的负担。并可以对普通非专业用户的网络安全做出基本的保障。关 键 词:网络安全;漏洞;漏洞扫描viiabstractabstractwith the rapid development of internet, the network provides a stable platform for the flow of the information. the development of network technology has brought us not only convenience but also huge security risks. criminal people constantly try to use new technology into other peoples network system, and use special methods collecting resources to achieve a special purpose. once the disclosure of important information, it will bring us serious incalculable consequences. vulnerability scanning technology can detect the potential security vulnerabilities of the network, in order to assess the security situation in the network system. in this paper, we will give an instance of a scanner. through the analysis of the relevant theory of vulnerability scanning, we partition the scanner into several modules and show the workflow of each module. in accordance with the workflow, starting from the principle of method, we detailedly descript the implementation of each module, and give the key code. and then we explain and analyze the code. finally, we show and analyze the result of the ultimate test of the system. through this system, you can easily finish the ports, ftp, smtp, finger, cgi vulnerability scanning. it is conducive to administrators to assess the security situation of the overall network and reduce the burden of administrators. and it can be for ordinary non-professional user to make the basic network security protection.key words: network security; vulnerability; vulnerability scanning目 录绪论目 录1 绪论11.1 课题意义11.2 漏洞扫描系统设计的特点和任务21.3 章节安排22 应用系统开发工具32.1 vc+环境与c+语言基础32.2 vc+环境的特点及优势32.3 c+语言的特点和优势32.4 vc+其他重要技术简介42.4.1 winsock编程42.4.2 多线程技术63 漏洞扫描原理及需求分析83.1 漏洞和扫描83.1.1 漏洞的分类83.1.2 漏洞的特征83.1.3 漏洞的危害93.1.4 漏洞扫描93.2 本文采用的漏洞扫描技术简介103.2.1 检测服务端口开放与否103.2.2 获取服务软件的banner信息103.2.3 错误配置的检测103.2.4 简单密码探测103.2.5 网络协议漏洞113.3 系统的需求分析113.4 系统的功能描述113.5 系统流程分析123.6 系统功能模块划分154 系统详细设计与实现164.1 系统的主界面164.2 系统的主要功能模块164.2.1 端口扫描模块164.2.2 ftp漏洞扫描模块204.2.3 smtp扫描模块254.2.4 finger漏洞扫描模块294.2.5 cgi漏洞扫描模块325 系统功能测试385.1 测试目标选择385.2 测试结果386 结论与展望49致 谢50参考文献51附 录525 系统功能测试1 绪论1.1 课题意义随着科学技术的飞速发展,21世纪的地球人已经生活在信息时代。20世纪人类两大科学技术成果-计算机技术和网络技术,均已深入到人类社会的各个领域,internet把地球村的居民紧密联系在一起,天涯若比邻已然成为现实。互联网之所以能这样迅速蔓延,被世人接受,是因为它具备特有的信息资源。在internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。internet上发布信息主要是通过网络实现的,信息的获取也是来自internet“海洋”中。因此,在网络上存在大量有意义的信息。无论对商人、学者,还是对社会生活中的普通老百姓,只要你进入网络的世界,就能找到其隐藏的奥妙,就能得到你所需要的价值,而这其中种种的人类社会活动,它们的影响又是相互的。近年来internet的迅速发展,给人们的日常生活带来了全新的感受,网络生存已经成为时尚,同时人类社会诸如政治、科研、经济、军事等各种活动对信息网络的依赖程度已经越来越强,网络经济时代已初露端倪。然而,网络技术的发展在给我们带来便利的同时也带来了巨大的安全隐患,尤其是internet和intranet的飞速发展对网络安全提出了前所未有的挑战。技术是一把双刃剑,不法分子试图不断利用新的技术伺机攻入他人的网络系统,利用特殊的方法搜集资源来达到特殊的目的。就会给社会带来很大的负面影响。无论是政治,经济和文化领域,都存在一些机密的信息要保存在网络上,或者通过internet传输。而肩负保护网络安全重任的系统管理员则要利用最新的网络技术来防范各种各样的非法网络入侵行为。事实已经表明,随着互连网的日趋普及,在互连网上的犯罪活动也越来越多,特别是internet大范围的开放以及金融领域网络的接入,使得越来越多的系统遭到入侵攻击的威胁。但是,不管入侵者是从外部还是从内部攻击某一网络系统,攻击机会都是通过挖掘系统和应用服务程序的弱点或者缺陷来实现的。因此网络安全的重要性是显而易见,漏洞扫描系统的地位也是不容忽视的7-8。它已成为现代信息化建设中的重要组成部分,倍受人们的重视。网络安全问题己成为当前网络技术研究的重点。漏洞扫描技术能够检测网络系统潜在的安全漏洞和脆弱性,评估网络系统的安全状况,是实现网络安全的重要技术之一。基于这种现状,本系统研究了漏洞扫描的原理,实现漏洞描述、通过漏洞检测过程,有利于管理员对整体网络的安全态势做出评估,本系统的操作界面简单大方,便于专业管理员以及非专业用户的使用,无需经过特殊的培训,容易上手。目的是为了,减轻管理员的负担,以及对普通非专业用户的网络安全做出基本的保障。本系统实现包括端口的扫描,ftp漏洞的扫描,smtp漏洞的扫描,cgi漏洞的扫描,finger漏洞的扫描,以及以文本方式直观的显示扫描结果等多项功能。系统基于windows平台,使用vc+集成环境编写,分模块进行设计。实施基于网络漏洞扫描的核心目标。提供简单易用、开放式、高效和实时性强的漏洞扫描系统,为用户提供查看系统安全状况的平台。漏洞扫描技术研究的目的就是为了检查互联网环境下的各种网络系统与设备的安全漏洞,它通过检查网络系统上打开的端口,按顺序诊断这些端口所提供的网络服务漏洞,并向系统管理员提供详细的漏洞诊断报告,从而协助管理员防漏堵漏。1.2 漏洞扫描系统设计的特点和任务操作简单、界面友好: 整个漏洞扫描系统只有一个界面,他包括所有的操作和输出功能,简洁友好。功能清晰,整个系统健壮性强。功能完善:包括主要常见的系统漏洞的扫描:端口扫描,ftp漏洞扫描,smtp漏洞扫描,cgi漏洞扫描,finger漏洞扫描。结果清晰:只给出必要的扫描结果,省略了扫描过程中信息的显示,结果直观,显而易见。1.3 章节安排第一章:绪论介绍了漏洞扫描系统研究现状及基于windows平台的扫描系统的设计目标,并对本课题的研究意义、本论文的目的、内容以及本文所做的工作进行了简要介绍,分析了基于网络的漏洞扫描系统设计的特点和任务。 第二章:应用系统开发工具概要的介绍了vc+集成环境以及c+语言的优势和特点。第三章:漏洞扫描原理及需求分析分析了基于网络的漏洞扫描系统的相关技术,并根据需求对系统功能模块进行了划分和细化。第四章:系统详细设计与实现根据第三章的设计结果利用vc集成环境进行了具体的应用程序设计与实现。第五章:系统功能测试对系统的主要功能作出了测试和分析。结束语部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方法。2 应用系统开发工具2.1 vc+环境与c+语言基础visual c+是由微软开发的可视化集成开发环境(ide)visual studio中重要的一员,其编程规范符合ansi c/c+标准,而其集成了微软开发的基础类库(mfc,即microsoft foundation classes)以及可视化开发环境,vc提供了微软windows操作系统的大量api,从而使得开发效率较其他语言大大提高。但是使用其mfc编写的程序只能运行在windows操作系统下。c语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。而c+语言是对c语言语法及功能的全部继承与扩展,c表示“c语言”;加号(+)表示语法及功能的扩展;第二个加号对应的英文单词是plus.因此,c+程序又叫c plus plus程序,简称cpp程序。2.2 vc+环境的特点及优势visual c+是一个功能强大的可视化软件开发工具。自1993年microsoft公司推出visual c+1.0后,随着其新版本的不断问世,visual c+已成为专业程序员进行软件开发的首选工具。visual c+6.0不仅是一个c+编译器,而且是一个基于windows操作系统的可视化集成开发环境(integrated development environment,ide)。vc+主要的特点在于它的可视化操作环境,mfc以及它提供的类库。它的优势集中体现在:mfc中封装了大部分windows api函数和windows控件,它包含的功能涉及到整个windows操作系统。mfc不仅给用户提供了windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件。使用vc+提供的高度可视化的应用程序开发工具和mfc类库,可使应用程序开发变得更简单。mfc提供的类库是高度抽象的程序设计,它使得程序员的主要精力不用放在程序设计的具体细节实现上,而放在程序的功能扩展上面。2.3 c+语言的特点和优势c+是从c语言发展而来的,由于c语言存在一些缺陷,例如类型检查机制相对较弱、缺少支持代码重用的语言结构等,而产生的c+。c+支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,c+均具有很大的优越性。c+设计成静态类型、和c同样高效且可移植的多用途程序设计语言。 c+设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。 c+设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。 c+设计成尽可能与c兼容,籍此提供一个从c到c+的平滑过渡。 c+避免平台限定或没有普遍用途的特性。 c+不使用会带来额外开销的特性。 c+设计成无需复杂的程序设计环境。出于保证语言的简洁和运行高效等方面的考虑,c+的很多特性都是以库(如stl)或其他的形式提供的,而没有直接添加到语言本身里。2.4 vc+其他重要技术简介2.4.1 winsock编程windows sockets是windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。所有的windows sockets实现都支持流套接口和数据报套接口. 应用程序调用windows sockets的api实现相互之间的通讯。windows sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图2.1。图2-1 应用程序与windows sockets关系图通信的基础是套接口(socket),一个套接口是通讯的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。windows sockets规范支持单一的通讯域,即internet域。各种进程使用这个域互相之间用internet协议族来进行通讯。用户目前可以使用两种套接口,即流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录边界的数据流服务。数据报套接口支持双向的数据流,但并不保证是可靠,有序,无重复的。winsock程序设计流程10:创建:创建套接字socket().socket socket( int af , int type , int protocol )套接字可以说是winsock通讯的核心.winsock通讯的所有数据传输,都是通过套接字来完成的,套接字包含了两个信息,一个是ip地址,一个是port端口号,使用这两个信息,我们就可以确定网络中的任何一个通讯节点。其中type参数可以选择:sock_stream、sock_dgram 和sock_raw三种类型套接字。流式套接字(sock_stream)(与面向连接的编程模型对应)数据报式套接字(sock_dgram)(与面向无连接的编程模型对应)原始式套接字(sock_raw)该接口允许对较低层协议,如ip、icmp直接访问。常用于检验新的协议实现或访问现有服务中配置的新设备。绑定:指定本地地址bind():int bind(socket s , const struct sockaddr far* name , int namelen ) ;struct sockaddr_inshort sin_family; /af_inetu_short sin_port; /16位端口号,网络字节顺序struct in_addr sin_addr; /32位ip地址,网络字节顺序char sin_zero8;/保留sockaddr_in包含了我们需要建立连接的本地的地址。包括地址族、ip和端口信息,sin_family字段我们必须把他设为af_inet,这是告诉winsock使用的是ip地址族,sin_prot 就是我们要用来通讯的端口号,sin_addr就是我们要用来通讯的ip地址信息。监听:当绑定完成之后,服务器端必须建立一个监听的队列来接收客户端的连接请求.int listen( socket s ,int backlog );这个函数可以让我们把套接字转成监听模式,并准备接受连接请求。接受连接请求:如果客户端有了连接请求,侦听方还必须使用socket accept( socket s , struct sockaddr far* addr , int far* addrlen );来接受客户端的请求。现在我们基本上已经完成了一个服务器的建立。连接:客户端的建立的流程则是初始化winsock ,然后创建socket套接字,再使用int connect( socket s , const struct sockaddr far* name , int namelen ) ;来连接服务端.关闭:关闭套接字closesocket()int shutdown ( socket s, int how );int closesocket(socket s); 其中,shutdown用来中断连接,closesocket则用来关闭套接字。2.4.2 多线程技术多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。win32提供了一系列的api函数来完成线程的创建、挂起、恢复、终结以及通信等工作。下面将选取本文应用的一些重要函数进行说明11。cwinthread* afxbeginthread( afx_threadproc pfnthreadproc,lpvoid pparam,int npriority = thread_priority_normal,uint nstacksize = 0,dword dwcreateflags = 0,lpsecurity_attributes lpsecurityattrs = null);/用于创建工作者线程返回值: 一个指向新线程的线程对象pfnthreadproc : 线程的入口函数,声明一定要如下: uint mythreadfunction( lpvoid pparam );pparam : 传递入线程的参数,注意它的类型为:lpvoid,所以我们可以传递一个结构体入线程.npriority : 线程的优先级,一般设置为 0 .让它和主线程具有共同的优先级.nstacksize : 指定新创建的线程的栈的大小.如果为 0,新创建的线程具有和主线程一样的大小的栈dwcreateflags : 指定创建线程以后,线程有怎么样的标志.可以指定两个值:create_suspended : 线程创建以后,会处于挂起状态,真到调用: resumethread0 : 创建线程后就开始运行.lpsecurityattrs : 指向一个 security_attributes 的结构体,用它来标志新创建线程的安全性.如果为 null , 那么新创建的线程就具有和主线程一样的安全性.boolterminatethread(handlehthread,dworddwexitcode);一般情况下,线程运行结束之后,线程函数正常返回,但是应用程序可以调用terminatethread强行终止某一线程的执行。各参数含义如下: hthread:将被终结的线程的句柄;dwexitcode:用于指定线程的退出码。使用terminatethread()终止某个线程的执行是不安全的,可能会引起系统不稳定;虽然该函数立即终止线程的执行,但并不释放线程所占用的资源。因此,一般不建议使用该函数。dword waitformultipleobjects(dword ncount,const handle* lphandles,bool bwaitall,dword dwmilliseconds);当waitformultipleobjects等到多个内核对象的时候,如果它的bwaitall 参数设置为false。其返回值减去wait_object_0 就是参数lphandles数组的序号。如果同时有多个内核对象被触发,这个函数返回的只是其中序号最小的那个。如果为true 则等待所有信号量有效在往下执行。(false 当有其中一个信号量有效时就向下执行)513 漏洞扫描原理及需求分析3.1 漏洞和扫描3.1.1 漏洞的分类漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 (1)、软件编写存在bug无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。其中最常见的就是缓冲区溢出,是指入侵者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是入侵者想要执行的攻击代码,而程序编写者又没有进行输入长度的检查,最终导致多出的攻击代码占据了输入缓冲区后的内存而执行。 (2)、系统配置不当默认配置的不足管理员懒散:懒散的表现之一就是系统安装后保持管理员口令的空值,而且随后不进行修改。临时端口:有时候为了测试之用,管理员会在机器上打开一个临时端口,但测试完后却忘记了禁止它,这样就会给入侵者有洞可寻、有漏可钻。 (3)、口令失窃:口令保管部当或过于简单。 (4)、设计存在缺陷(5)、tcp/ip协议的缺陷:tcp/ip协议现在已经广为应用、但是它设计时却是在入侵者猖狂肆虐的今天之很早以前设计出来的。因此存在许多不足,造成安全漏洞在所难免。3.1.2 漏洞的特征 (1).漏洞问题是与时间紧密相关的。一个系统从发布的那一天起,随着用户的深入使用,系统中存在的漏洞会被不断暴露出来,这些早先被发现的漏洞也会不断被系统供应商发布的补丁软件修补,或在以后发布的新版系统中得以纠正。而在新版系统纠正了旧版本中具有漏洞的同时,也会引入一些新的漏洞和错误。因而随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现。漏洞问题也会长期存在。(2).系统安全漏洞与系统攻击活动之间有紧密的关系系统安全漏洞是在系统具体实现和具体使用中产生的错误,但并不是系统中存在的错误都是安全漏洞。只有能威胁到系统安全的错误才是漏洞。许多错误在通常情况下并不会对系统安全造成危害,只有被人在某些条件下故意使用时才会影响系统安全。漏洞虽然可能最初就存在于系统当中,但一个漏洞并不是自己出现的,必须要有人发现。在实际使用中,用户会发现系统中存在错误,而入侵者会有意利用其中的某些错误并使其成为威胁系统安全的工具,这时人们会认识到这个错误是一个系统安全漏洞。系统供应商会尽快发布针对这个漏洞的补丁程序,纠正这个错误。这就是系统安全漏洞从被发现到被纠正的一般过程。3.1.3 漏洞的危害漏洞,简而言之,就是能被黑客利用的安全隐患,是系统脆弱性的表现1。美国fbi/sans协会2005年第二季度公布的数据显示,第二季度度新增的安全漏洞超过442个。其中包括原始漏洞的新变种,如新变种虫洞攻击69。比去年增长了20%。进入sans(it安全与研究组织)协会漏洞统计榜的漏洞需要大规模的影响用户2,同时这些漏洞还必须能够被攻击者利用。美国计算机安全公司symantec在两年一次的报告中指出,2005年上半年,来自各个方面所公布的计算机软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宠物食品环保型生产废弃物处理创新创业项目商业计划书
- 家政服务保险代理创新创业项目商业计划书
- 小麦色素创新创业项目商业计划书
- 2025广西百色西林县生态移民发展中心公开招聘3人模拟试卷及答案详解(网校专用)
- 2025河南郑州城建职业学院招聘模拟试卷及完整答案详解1套
- 张管局安全生产培训课件
- DB4201-T 569.2-2018 武汉市反恐怖防范系统管理规范 第2部分:公共供水
- 银行季度工作总结与目标规划
- 2025年甘肃省平凉市灵台县粮油购销储备有限责任公司招聘会计人员模拟试卷附答案详解
- 教师课堂管理策略及有效沟通技巧
- 中国外卖大战报告(中英)-高盛-202507
- 叉车操作知识课件
- 2025年高考英语一卷读后续写+课件+-2026届高三英语上学期一轮复习专项
- 咖啡对身体健康的影响研究
- 小学一年级劳动教育课外实践活动计划
- DB32∕T 4569-2023 发泡陶瓷保温板 保温系统应用技术规程
- 上市公司账户管理制度
- 小学生金融知识科普课件
- GB/T 21711.3-2025基础机电继电器第3部分:强制定位(机械联锁)触点继电器
- 口腔助理医师资格考试《第一单元》真题及答案(2025年新版)
- 糖尿病前期治未病干预指南(2025版)解读
评论
0/150
提交评论