




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南理工大学本科毕业设计(论文)基于linux的应用层网关系统设计作者: 专业:计算机科学与技术年级: 2001 学号: 20011161 指导老师: 摘要应用层的网络管理是很多中小型企业在信息化的过程中所面临的难题之一。企业的管理者要保证企业的网络资源用于正常的工作而不是被滥用,除了从制度方面进行限制之外,一个应用层网络管理系统是不可缺少的。本文在对用户需求进行分析的基础上,设计和实现了一个基于gnu/linux和自由软件的应用层网关系统,并制作了一套基于b/s结构的网关管理软件对网关过滤规则进行管理和维护。本文力求在理论研究的基础上对应用层的网络管理问题给出一种灵活、有效、可靠且低成本的解决方案。关键词:应用层网关,gnu/linux,iptables,layer7abstractnetwork management of application layer is one of the difficult problems for the medium and minor enterprise informatization. the administrators of enterprises want to make sure the network resources of enterprises are used in the normal work instead of abusing, so they must limit from the institution, and a network management system of application layer is indispensable. this text has designed and realized an application layer gateway that based on gnu/linux and other free software, make network gateway management software, which based on b/s structure to manage and maintain filter rule. this text tries to provide a flexible, valid, reliable and low cost solution for resolve the problem of application layer network management based on theoretical research.keywords: network gateway of application layer, gnu/linux、iptables、layer750- -目录绪论11系统目标22系统分析和设计32.1系统分析32.2系统设计42.2.1国内外研究综述42.2.2原型系统43所涉及的技术介绍:64系统具体实现134.1系统原理解析134.2安装配置步骤144.2.1安装gnu/linux操作系统144.2.2获取软件包144.2.3给内核和netfilter打补丁154.2.4编译、并测试netfilter模块174.2.5编译安装mysql184.2.6编译安装apache214.2.7编译安装php224.2.8测试安装结果244.3核心代码及分析254.3.1代码功能概述254.3.2登陆模块及验证码264.3.3主界面304.3.4各模块界面324.3.5连接数据库的公用文件代码354.3.6规则数据库结构364.3.7关于文件操作395系统测试415.1测试环境415.2测试用例415.3测试结果445.4存在的问题446总结46致谢47参考文献48附录49绪论一直以来,计算机网络中的防火墙(firewall)或者网关(gateway)对于网络信息的过滤和控制主要体现在对来自或者发往特定端口或者特定ip地址的信息进行匹配。这样的基于网络层的控制在过去很长一段时间是有效的,因为在这个时期出现的大多数的网络应用程序是使用固定端口的,并且服务器的ip地址常常是固定而且明显的。随着网络的发展,很多新的应用程序不再使用固定的端口,服务器和客户机的角色逐渐混淆,服务器的ip地址常常有多个而不是固定在一个地址上。这时候原来的基于网络层的控制就显得不够灵活,甚至完全无法工作。本文通过对netfilter及相关程序的二次开发,实现了一个快速的、有效的、易管理的应用层网关系统,力求给应用层网络管理提供一种比较好的解决方案。1系统目标可以对客户端能否使用各种网络软件(例如qq,bt等)进行控制。可以对客户端访问的网址(url)进行基于字符匹配的过滤。控制的方法是简单的,规则是容易维护的,而且具有很好的灵活性。无论使用者是否有专业知识都能进行基本的维护。系统应具有良好的可扩展性,可以通过添加新模块的方式来进行功能扩展。提供身份鉴别功能,进行规则维护需要提供适当的身份信息。整个系统有效、安全、易管理。2系统分析和设计2.1系统分析系统目标1和2中的要求实际上就是对于应用层数据流的监控。对于数据流的监控一般有两种方式:网关监控和旁路监控。旁路监控多用于监测,很少用于控制。本系统使用的是前者。也就是说,我们的系统是以网关形式存在的。如果需要,它也可以提供dhcp,nat等服务。现在市场上出售的主流防火墙和路由器等设备,通常只支持网络层的监控,也就是基于ip地址和端口的监控。对于应用层的监控,现有的几种产品的核心技术都是一样的,就是使用基于linux系统的netfilter/iptables模块,外加上它的layer-7补丁和其他一些补丁。我们这里也是一样的。这个基本架构完全可以实现目标1和2的要求。系统目标3则提出了一个新的问题,即对规则列表的维护。iptables规则对于非专业人员来说是很晦涩难懂的,更不要说熟练的编写整个规则列表了。所以我们需要编写一个简单明了而又灵活的规则维护和管理系统。市场上的产品对于这个问题的解决有两种模式:c/s和b/s,即使用客户端软件与网关通讯,或者在网关上安装web服务器和相应的脚本解释器,编写web系统来实现对规则的管理。这两种方法各有千秋,一般来说,使用c/s模式的系统安全性和效率都要好一些,但是灵活性不够好。而web系统的灵活性则是非常好的,只要注意编码规范,一样可以保证系统的安全性和效率。本系统中我们使用b/s模式。系统目标4要求了系统的可扩展性,实际上这个特点是由netfilter模块来保证的,它本身是个开放的系统,可以自己编写并添加模块进去。而且网上有很多模块提供下载,保证了系统是可以根据需求被扩展的。系统目标5可以通过web系统的认证模块来实现。如果严格做到15,那么系统目标6也就实现了。2.2系统设计2.2.1国内外研究综述国内的应用层网关,其实也包括世界上95%的同类产品的确是用linux内核,用netfilter模块作为核心处理模块。但多数不是用iptables来管理。很多著名的产品都是自已写的用户态程序,目的是适应基于对象的管理。而web管理部分,通常不使用apache因为它太了,也不能用php,需要专门的解释器,所以web上一般用的是securehttpd,界面用的是c或者java写的cgi。但是我们这里由于条件的限制,所以只能选择iptables、apache、php。本系统的意义在于实验和小规模的应用,距离市场要求还是有相当程度的距离的。2.2.2原型系统通过对系统目标的分析,我们可以获得一个如下的原型系统。a. 使用gnu/linux作为操作系统平台;b. 使用netfilter作为核心处理模块;c. 使用iptables作为用户态软件对netfilter进行管理;d. 使用一种cgi提供用户管理界面;e. 使用一种数据库存储规则和系统日志;系统的基本结构如下图所示:internetmysql内核模块(netfilter)iptables脚本(shell)管理界面(php)部分访问受限许可访问规则库日志库 本系统的基础是linux的内核模块netfilter。当有用户请求抵达内核模块时,netfilter会根据预先的策略定义对用户请求进行分拣,阻止非法请求,并且允许合法请求。而netfilter的策略是依靠iptables命令来进行维护的,在本系统中,我们使用一个shell脚本将所有的iptables命令集合起来进行执行。而该shell脚本是如何产生的呢?系统提供了一个基于phpmysql的规则维护模块来产生该shell脚本。值得注意的是,这里的规则不同于netfilter的策略,这里的规则非常简单而容易理解,不需要任何专业的知识也可以对规则进行维护。3所涉及的技术介绍:3.1 linux简单地说,linux是一套免费使用和自由传播的类unix操作系统,它主要用于基于intel x8 6系列cpu的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的unix兼容产品。 linux的出现,最早开始于一位名叫linus torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替minix(是由一位名叫andrew tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有 unix操作系统的全部功能,因而开始了linux雏形的设计。 linux以它的高效性和灵活性著称。它能够在pc计算机上实现全部的unix特性,具有多任务、多用户的能力。linux是在gnu公共许可权限下免费获得的,是一个符合posix标准的操作系统。linux操作系统软件包不仅包括完整的linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的x-windows图形用户界面,如同我们使用windows nt一样,允许我们使用窗口、图标和菜单对系统进行操作。 linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有unix的全部功能,任何使用unix操作系统或想要学习unix操作系统的人都可以从linux中获益。 3.2 netfilter/iptablesnetfilter是一种内核中用于扩展各种网络服务的结构化底层框架。netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性加入到内核中并不需要从新启动内核。这样,可以通过简单的构造一个内核模块来实现网络新特性的扩展。给底层的网络特性扩展带来了极大的便利,使更多从事网络底层研发的开发人员能够集中精力实现新的网络特性。netfilter有4大特性:1 每一个协议定义hooks(钩子),ipv4定义了5个钩子,他们遍布协议栈中包传输的整个过程。在每一个点上,协议将使用包和钩子号来调用netfilter框架。2 部分内核可注册后可以为每一个协议监听不同的钩子。因此,当有包通过netfilter框架时,它检查看是否有模块为协议和钩子注册;如果有,他们每一个都有机会按顺序检验(也可能是更改)包,抛弃包,允许包通过,或者请求netfilter为用户空间排队包。3 排队了的包可以被收集送往用户空间;这些包是被异步的处理的。4有非常良好的代码和文档。这一点对于一个拥有良好扩展性的开放式框架具有极其深远的意义。离开了这一特性,netfilter结构将大为逊色甚至是难以操作的。netfilter整体结构如下图所示,netfilter仅仅只是协议栈中多个点上一系列钩子。ipv4的整个流程如下:包进入内核空间后:通过简单的santity校验(例如,无截断,ip校验和正确,有区别的接收),包通过netfilter框架的nf_ip_pre_routing1钩子。接下来它们进入路由代码模块,这一模块决定是将包送到其他接口还是将包送到本地进程。路由进程可以丢掉不可路由的包。如果包的目的地是本机,netfilter框架会在包通过这一处理之前再次调用于nf_ip_local_in2钩子。如果预计包要通过其他接口,netfilter框架被调用于nf_ip_forward3钩子。接下来在再次传送包到线路上之前,包通过最后的netfilter钩子,nf_ip_post_routing4钩子。nf_ip_local_out5钩子在包被本地创建时调用。这里你可以看到这个钩子调用后路由发生:事实上,路由代码先被调用(以配置源ip和一些ip选项),如果包被改动了,将再次调用它。现在举一个ipv4的netfilter的例子,可以看到每一个钩子是怎样被激活的。这是netfilter的本质基础。内核模块可以被注册以监听这些钩子中的任意一个。接着当netfilter钩子被来自域网络代码的核心调用,每一个在那一处注册了的模块就可以自由的操作处理包。接下来模块可以告知netfilter做下列五件事中的一件:1nf_accept:继续传递,保持和原来传输的一致;2nf_drop:丢弃包;不再继续传递;3nf_stolen:接管包;不再继续传递;4nf_quere:队列化包(通常是为用户空间处理做准备);5 nf_repeat:再次调用这一个钩子。有了这五个功能,netfilter开发者可以构件相当复杂得包操作。iptables 是用来指定netfilter规则的用户工具。当用iptables来构造防火墙规则时,认清表、链和规则的区别很重要。表提供特定的功能. 缺省表是filter, nat, 和mangle (除非你打了实验性的drop 表的补丁)。链是包传播的路径。不同的表包含了不同的内置链。用户自定义链能指向内置链。如果一个包通过用户链中没有匹配,它将返回调用的链。如果一个包通过内置链中没有匹配,那么将由此链的缺省方针来确定是丢弃或接受。规则就是在链中用来实现某个特定匹配。包传播在实施规则之前,必须知道包是如何在netfilter的表和链中传播的。3.3 layer-7补丁及其他patch-o-matic帮助你给内核打上一些增强或实验性的功能。比如使你的netfilter具有字符过滤以及按照时间进行控制的特性。layer-7是一个linux内核包分类器,和其他的分类器不同,l7不仅仅看上去是对协议的端口定义,他的表达式和应用层协议匹配,以此检验包使用的何种协议。因为layer-7对于处理器和内存很敏感,我们建议当您存在下列情况时才考虑使用l7。*你需要匹配一些使用未预先定义的协议端口(主要见于p2p文件共享应用)*你相信一些有意义的通讯使用了非标准的端口(例如http协议使用1111端口)layer-7可以比较容易的实现对应用层软件的过滤。3.4 shellshell是linux的外壳程序,提供命令解释和传递给内核的功能。shell编程类似于dos平台下的批处理编程,但是具有更加强大的功能。主要体现在更强大的字符控制和流程控制上。shell编程可以实现很多复杂的系统管理功能。3.5 apacheapache是世界排名第一的web服务器,根据netcraft(sraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache。apache的特性:1)几乎可以运行在所有的计算机平台上,2)支持最新的http/1.1协议 ,3)简单而且强有力的基于文件的配置(httpd.conf),4)支持通用网关接口(cgi) ,5)支持虚拟主机,6)支持http认证,7)集成perl, 8)集成的代理服务器,9)可以通过web浏览器监视服务器的状态,可以自定义日志,10)支持服务器端包含命令(ssi),11)支持安全socket层(ssl),12)具有用户会话过程的跟踪能力,13)支持fastcgi,14)支持javaservlets。3.6 phpphp是一种与现在较为流行的类似asp的技术,它是一种服务器端的脚本语言。就像做汉堡包一样,我们可以通过在html网页中嵌入php的脚本语言,来完成与用户的交互以及访问数据库等功能。 php的全名是 professional hypertext perprocessor,它是一种html内嵌式的语言(类似iis上的asp)。php独特的语法混合了c、java、perl以及php式的新语法,可以比cgi或者perl更快速地执行动态网页。更重要的一点是,php是完全免费的。和其他asp等语言不同,它的产生和发布都是自发的,而不是商业的行业。它和mysql(一种免费的数据库)以及apache(一种免费的服务器)一起配合使用已经被许多网站的设计人员所采用。3.7 mysqlmysql是一个多用户、多线程的sql数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。mysql的功能特点如下:可以同时处理几乎不限数量的用户;处理多达50,000,000以上的记录;命令执行速度快,也许是现今最快的;简单有效的用户特权系统。4系统具体实现4.1系统原理解析本系统的基础是linux的内核模块netfilter。当有用户请求抵达内核模块时,netfilter会根据预先的策略定义对用户请求进行分拣,阻止非法请求,并且允许合法请求。而netfilter的策略是依靠iptables命令来进行维护的,在本系统中,我们使用一个shell脚本将所有的iptables命令集合起来进行执行。而该shell脚本是如何产生的呢?系统提供了一个基于phpmysql的规则维护模块来产生该shell脚本。值得注意的是,这里的规则不同于netfilter的策略,这里的规则非常简单而容易理解,不需要任何专业的知识也可以对规则进行维护。例如下面这样:“对ip地址范围255在上午8:00到下午6:00之间禁止使用qq,允许使用msn,并且过滤新闻类网站。”而它对应的iptables语句是这样的:iptables -i forward -s /24 -m string -string news -j dropiptables -t mangle -a postrouting -s /24 -m layer7 -l7proto qq -m time -timestart 08:00:00 -timestop 18:00:00 -j dropiptables -t mangle -a postrouting -s /24 -m layer7 -l7proto msnmessenger -m time -timestart 08:00:00 -timestop 18:00:00 -j accept可以看到,使用容易理解的规则生成iptables是很容易的。我们将规则描述以一定形式存储在数据库中,将生成的iptables规则存储在脚本程序中,并提供接口对iptables进行直接编辑。4.2安装配置步骤4.2.1安装gnu/linux操作系统首先我们需要安装一个linux操作系统。流行的内核是2.6.xx,而我们需要使用的字符匹配补丁(ipt_string)只能工作在2.4.xx下,所以我们需要使用2.4这个分支的内核。可以供我们选择的发行版很多,debian和redhat都是很好的选择,事实上具体选择什么发行版都是区别不大的,只要内核版本是我们需要的就好了。在实际安装系统的时候我选择了redflag server 4.0,它的内核版本是2.4.20-8。安装过程不再详细叙述,任何一本linux操作指南上都讲的很清楚。安装的时候我们可以选择最基本的系统即可。不要安装x-windows,因为我们不需要图形界面。不要安装koffice或者openoffice,除非你打算在网关上处理你的word文档。如果可能记得选择上内核源代码开发的包,或者我们再去下载也可以。另外我们还需要手工编译安装apache+mysql+php和iptables及其补丁。4.2.2获取软件包分别到以下网站获取我们需要的软件包:内核源代码:netfilter/iptables及其补丁:apache:mysql:php:layer-7和协议定义包:/首先我们将释放内核源代码到/usr/src目录,并且释放iptables源代码和它的补丁以及layer-7到/usr/src/目录。然后使用内核编译器编译成我们需要的模块。以下的操作我们需要以root身份执行。用以下命令展开压缩包。cd /usr/srcyum install kernel-sourcewget /files/iptables-1.3.1.tar.bz2wget /netfilter/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050307.tar.bz2tar xjvf iptables-1.3.1.tar.bz2tar xjvf patch-o-matic-ng-20050307.tar.bz24.2.3给内核和netfilter打补丁给内核打layer-7的补丁:gunzip layer7-kernel-patch-v.x.y.z.patch.gzbunzip2 layer7-kernel-patch-v.x.y.z.patch.bz2接下来打补丁,在源码的根目录中:patch -p1 use mysqlmysql delete from user where not (host=localhost and user=root);mysql flush priviledges;这样将强迫,用户用root账号来登陆mysql。最好把root改成一个不容易猜到的名字,比如:mysql update user set user=sqladmin where user=root;mysql flush priviledges;ok, 你已经成功地安装了mysql了,这是安装apache + mysql + php最难的一部分。我们把phpmyadmin拷到web服务器的根目录去,并且编辑它的配置文件使它可以用来管理mysql数据库。4.2.6编译安装apache安装apache就简单多了,去/download.cgi 下载httpd-2.0.49.tar.gz 到/root目录。在/root目录内,输入:gunzip httpd-2.0.49.tar.gztar -xvf httpd-2.0.49.tar将会在/root目录下新建一个httpd-2.0.49目录。移动整个目录到/usr/local/src下mv /root/httpd-2.0.49 /usr/local/src/进入/usr/local/src/httpd-2.0.49目录:cd /usr/local/src/httpd-2.0.49好了,我们好开始安装了:./configure -prefix=/usr/local/apache -enable-shared=max -enable-module=rewrite -enable-module=so执行以上指令,应该没有错误信息。-prefix=/usr/local/apache表示我们要把apache安装到/usr/local/apache目录下。用make来编译安装。make install安装apache。安装成功后,apache将存放在/usr/local/apache下。4.2.7编译安装php先下载php。去/downloads.php 下载php 4.3.6 (tar.gz) source code (注意不是binary)。下载到/root 目录下。gunzip php-4.3.6.tar.gztar -xvf php-4.3.6.tar将新建的php-4.3.6目录移到/usr/local/src目录下。切换到/usr/local/src/php-4.3.6目录:cd /usr/local/src/php-4.3.6下面,我们要把php安装成apache的一个module。./configure -with-apxs2=/usr/local/apache/bin/apxs -disable-debug -enable-ftp -enable-inline-optimization -enable-safe-mode -enable-track-vars -enable-trans-sid -enable-xml -with-mysql -with-xml 应该没有错误信息。makemake install安装完毕。copy /usr/local/src/php-4.3.6/php.ini-dist到/usr/local/lib/,并重命名为php.inicp /usr/local/src/php-4.3.6/php.ini-dist /usr/local/lib/php.ini安装成功。下面要配置一下apache,使我们的apache知道如何处理php扩展。cd /usr/local/apache/confvi httpd.conf在httpd.conf文件中,添加addtype application/x-httpd-php .phpaddtype application/x-httpd-php-source .phps应该将以上两句添加在其他addtype之后。确保文件中有以下一句话,没有就自己添加在所有loadmodule之后。loadmodule php4_module modules/libphp4.so好了,:wq保存httpd.conf文件,退出vi。启动apache server:/usr/local/apache/bin/apachectl start如果你想让你的apache每次系统reboot后都自动启动,你可以这样做:cp /usr/local/src/httpd-2.0.49/support/apachectl /etc/rc.d/init.d/httpdvi /etc/rc.d/init.d/httpd在httpd文件的第三行,插入以下两句话:# chkconfig: 345 85 15# description: starts and stops the apache http server.:wq保存httpd文件,退出vi。把httpd变成可执行文件:chmod +x /etc/rc.d/init.d/httpd将httpd加入service列表:chkconfig -add httpd查看一下httpd是否加入到service 列表中:chkconfig -list成功后,你可以用service httpd start, service httpd restart, service httpd stop来启动、重启、和终止httpd service (httpd service 就是 apache service)。好了,所有安装都完成了,下面测试一下php和apache。4.2.8测试安装结果在/usr/local/apache/htdocs目录下,新建一个test.php文件,文件中只有一句话:保存此文件。在你的浏览器中输入http:/localhost,你应该看到apache的欢迎页面。在你的浏览器中输入http:/localhost/test.php,你应该看到php的系统信息。我们使用以下php代码测试和mysql数据库的连接是否正确。如果以上代码在浏览器中执行没有出现任何提示就说明我们的安装是正确的。4.3核心代码及分析4.3.1代码功能概述管理系统的代码包括以下这些文件:conn.php数据库连接描述文件。run.php用于调用shell脚本,执行过滤规则。write.php用于将数据库中的规则写入shell脚本。addrule.php接收添加规则的请求,将规则添加进数据库。delrule.php接收删除规则的请求,将规则从数据库中删除。index.html登陆页面。main.php登陆后的页面主框架。system.php系统选项维护页面。authimg.php生成图片验证码的程序。exit.php退出系统,清除session。left.htm主界面的导航页面。rand.php生成4位随机数,用于生成图片验证码。sysupdate.php接收更新系统选项的请求并更相应的记录。bingtu.php生成日志分析饼图的程序。fw.sh系统shell脚本。login.php接收登陆请求,对用户名、密码和验证码进行检测。right.htm主界面右侧起始页面。text.php对系统shell脚本的内容进行直接编辑。chpass.php修改密码模块。help.html帮助文件。log.php日值分析界面。rule.php规则列表和规则维护界面。updatetext.php保存对shell脚本编辑的结果。4.3.2登陆模块及验证码登陆界面如下图:其中的验证码是利用php的gd模块生成的图片,其中还加入了干扰象素。相关主要代码如下:?phpsession_start();while($randnum=rand()%10000)1000);$_session$randnum=$randnum;header(content-type: image/gif);srand(double)microtime()*1000000);$im = imagecreate(60,20);$black = imagecolorallocate($im, 0,153,204);$white = imagecolorallocate($im, 255,255,255);$gray = imagecolorallocate($im, 200,200,200);imagefill($
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度剖析2025年家庭教育指导服务市场家庭教育行业市场细分领域竞争力分析报告
- 2025年汽车车身及挂车行业投资趋势与盈利模式研究报告
- 2025年洗选设备制造行业需求分析及创新策略研究报告
- 2025年技术玻璃制品行业投资趋势与盈利模式研究报告
- 2025年支付行业前景分析及投资机遇研究报告
- 2025年厨卫电器行业当前发展趋势与投资机遇洞察报告
- 室内设计方案合同
- 2025年事业单位工勤技能-湖南-湖南垃圾清扫与处理工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北家禽饲养员三级(高级工)历年参考题库含答案解析
- 工业互联网平台漏洞扫描技术在金融行业的风险防控报告
- (2025年标准)委托他人要账协议书
- 2025-2030中国青少年无人机教育课程体系构建与创新能力培养研究
- 煤矿安全规程新旧版本对照表格版
- 2025山东“才聚齐鲁成就未来”水发集团高校毕业招聘241人笔试参考题库附带答案详解(10套)
- 中学2025年秋季第一学期开学工作方案
- 儿童急救流程
- GB 11122-2025柴油机油
- 私募薪酬管理办法
- 经营废钢管理办法
- 药品经营企业讲课课件
- 广东省深圳市海韵中学2026届中考押题语文预测卷含解析
评论
0/150
提交评论