




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、重慶交通大學(xué)信息科學(xué)與工程學(xué)院課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告專業(yè):12級通信工程(2)班學(xué)號:姓名:實(shí)驗(yàn)所屬課程:通信網(wǎng)綜合課程設(shè)計(jì)指導(dǎo)教師:譚晉一、程設(shè)計(jì)的目的和意義在網(wǎng)絡(luò)管理中,經(jīng)常要確定當(dāng)前網(wǎng)絡(luò)中處于活動狀態(tài)的主機(jī),這時(shí)可以通過使用ICMP協(xié)議的回送請求(Ping請求)和回送響應(yīng)(Ping應(yīng)答)消息來完成本工作。本課程設(shè)計(jì)的目的是編制程序,利用ICMP數(shù)據(jù)包,發(fā)現(xiàn)制定網(wǎng)段中的活動主機(jī)。IP協(xié)議的優(yōu)點(diǎn)是簡潔,但缺少差錯控制和查詢機(jī)制,而網(wǎng)際控制報(bào)文協(xié)議(ICMP具有補(bǔ)充IP功能的作用。在網(wǎng)絡(luò)管理中,常常要確定當(dāng)前網(wǎng)絡(luò)中處于活動狀態(tài)的主機(jī),這時(shí)可以通過使用ICMP的回送和回送響應(yīng)消息來完成這項(xiàng)工作。本課程
2、設(shè)計(jì)的目的就是編制程序,利用ICMP數(shù)據(jù)包,發(fā)現(xiàn)指定網(wǎng)段中的活動主機(jī)。通過課程設(shè)計(jì),使學(xué)生更加熟悉ICMP報(bào)文的結(jié)構(gòu),對ICMP協(xié)議有更好的理解和認(rèn)識。二、課程設(shè)計(jì)條件計(jì)算機(jī),Matlab、C/C+或JAVA編程軟件或者其他通信網(wǎng)仿真軟件(如NS2OMNET+等)、嵌入式開發(fā)板、編程器等。三、程設(shè)計(jì)的內(nèi)容和要求本程序的功能是發(fā)送ICMP數(shù)據(jù)包,以獲取指定網(wǎng)段中的活動主機(jī),并將結(jié)果顯示到屏幕上。程序的要求1)不允許在程序中直接調(diào)用Ping,而是用程序?qū)崿F(xiàn)Ping的功2)以命令形式運(yùn)行:程序名Start_ipEnd_ip,其中,Start_IP為起始IP地址;EndP為結(jié)束IP地址3)輸出格式為:
3、活動主機(jī)1的IP地址活動主機(jī)2的IP地址四、課程設(shè)計(jì)的相關(guān)技術(shù)IP協(xié)議是一種不可靠的協(xié)議,無法進(jìn)行差錯控制。但I(xiàn)P協(xié)議可以借助其他協(xié)議來實(shí)現(xiàn)這一功能,如ICMRICMP(InternetControlMessagesProtocol,網(wǎng)間控制報(bào)文協(xié)議)允許主機(jī)或路由器報(bào)告差錯情況和提供有關(guān)異常情況的報(bào)告。一般來說,ICMP報(bào)文提供針對網(wǎng)絡(luò)層的錯誤診斷、擁塞控制、路徑控制和查詢服務(wù)四項(xiàng)大的功能。女口,當(dāng)一個分組無法到達(dá)目的站點(diǎn)或TTL超時(shí)后,路由器就會丟棄此分組,并向源站點(diǎn)返回一個目的站點(diǎn)不可到達(dá)的ICMP報(bào)文。編制程序前首先要對ICMP報(bào)文的格式有一定的了解,ICMP報(bào)文是在IP數(shù)據(jù)報(bào)內(nèi)部傳輸
4、的,其結(jié)構(gòu)如圖10-1所示。HP數(shù)據(jù)報(bào)IP首部ICMP報(bào)文圖10-1ICMP封裝在IP內(nèi)部078151631(位)(不同類型和代碼有不同內(nèi)容)圖10-2ICMP報(bào)文類型字段代碼字段校驗(yàn)和字段ICMP報(bào)文的格式如圖10-2所示。所有報(bào)文的前4個字節(jié)都是一樣的,但是其它字節(jié)則互不相同。其中類型字段可以有15個不同的值,以描述特定類型的ICMP報(bào)文,某些ICMP報(bào)文還使用代碼字段的值來進(jìn)一步描述不用的條件。按驗(yàn)和字段為2字節(jié),校驗(yàn)的范圍是整個ICMP報(bào)文。檢驗(yàn)和是必須的,其計(jì)算方法與IP協(xié)議頭部校驗(yàn)和的計(jì)算方法一樣。各種類型的ICMP報(bào)文如圖10-3所示(ICMP報(bào)文類型),不同類型由報(bào)文中的類型字
5、段和代碼字段來共同決定。類型代碼描述00回送響應(yīng)(PING應(yīng)答)3目的不可達(dá)0網(wǎng)絡(luò)不可達(dá)1主機(jī)不可達(dá)2協(xié)議不可達(dá)3端口不可達(dá)4需要進(jìn)行分片但設(shè)置了禁止分片比特5源主機(jī)選擇路由失敗6無法識別目的網(wǎng)絡(luò)7無法識別目的主機(jī)8源主機(jī)被隔離9目的網(wǎng)絡(luò)被禁止10目的主機(jī)被禁止11由于服務(wù)類型(TOS),網(wǎng)絡(luò)不可達(dá)12由于服務(wù)類型(TOS),主機(jī)不可達(dá)13由于過濾,通信被強(qiáng)行禁止14主機(jī)越權(quán)15優(yōu)先權(quán)終止生效40源端被關(guān)閉(基本流控制)5重定向0對網(wǎng)絡(luò)重定向1對主機(jī)重定向2對服務(wù)類型和網(wǎng)絡(luò)重定向3對服務(wù)類型和主機(jī)重定向80回送請求(PING請求)90路由器通告100路由器請求11超時(shí)0傳輸期間生存期減為01數(shù)
6、據(jù)報(bào)組裝期間生存期減為012參數(shù)問題0各種IP頭部錯誤1缺少必須的選項(xiàng)130時(shí)間戳請求140時(shí)間戳應(yīng)答150信息請求(已作廢)160信息應(yīng)答(已作廢)170地址掩碼請求180地址掩碼應(yīng)答10-3ICMP報(bào)文類型本課程設(shè)計(jì)的目的是發(fā)現(xiàn)網(wǎng)絡(luò)中的活動主機(jī),就是使用ICMP的回送和回送響應(yīng)消息發(fā)現(xiàn)網(wǎng)絡(luò)中的活動主機(jī),即Ping消息的請求和應(yīng)答。那幺,發(fā)送的ICMP的數(shù)據(jù)包類型設(shè)置為回送請求(類型號為8)。五、課程設(shè)計(jì)過程本程序使用原始套接字(SOCK_RAV生成ICMP報(bào)文來進(jìn)行活動主機(jī)的探查,這個程序使用的是回送請求與應(yīng)答信息。程序的大致思想:把ICMP的數(shù)據(jù)包類型設(shè)置為回送請求(Ping請求,類型號
7、為8),將它發(fā)送給網(wǎng)絡(luò)上的一個IP地址,如果這個IP地址已經(jīng)被占用,那么使用該IP地址的主機(jī)的,從而返回一個ICMP回送響應(yīng)(類型號為0)的信息。信息封裝在一個IP包中,需要解析該IP包,找到ICMP數(shù)據(jù)信息(類型為0,表示為對方的應(yīng)答,證明對方IP地址是活動的),如果這個IP地址沒有人使用,則發(fā)送的ICMP回送請求(Ping請求)在設(shè)定的延時(shí)時(shí)間內(nèi)不可能得到響應(yīng)初始化原始套接字后(SOCK_RAWB,本程序就開始在一個IP網(wǎng)段內(nèi)尋找活動主機(jī),由于要尋找的主機(jī)較多,可以采用多線程技術(shù)4.1、分析ICMP協(xié)議類型和程序?qū)崿F(xiàn)方法創(chuàng)建ICMP數(shù)據(jù)報(bào)的內(nèi)容格式,把ICMP的數(shù)據(jù)包類型設(shè)置為回送8請求(
8、Ping請求,/IP報(bào)頭的數(shù)據(jù)結(jié)構(gòu)typedefstructiphdr類型號為8)。具體實(shí)現(xiàn)代碼如下:unsignedintheadlen:4;/IP頭長度unsignedintversion:4;/IP版本號unsignedchartos;/服務(wù)類型unsignedshorttotallen;/IP包總長度unsignedshortid;/ID號unsignedshortflag;/標(biāo)記unsignedcharttl;/生存時(shí)間unsignedcharprot;/協(xié)議(UDPTCP)unsignedshortchecksum;/校驗(yàn)和unsignedintsourceIP;/源IPunsig
9、nedintdestIP;/目的IPIpHeader;/ICMP頭部的數(shù)據(jù)結(jié)構(gòu)typedefstructicmphdrBYTEtype;/ICMP類型碼,回送請求的類型碼為BYTEcode;/子類型碼,保存與特定ICMP報(bào)文類型相關(guān)細(xì)節(jié)信息USHORTchecksum;/校驗(yàn)和USHORTid;/ICMP報(bào)文ID號(一般用進(jìn)程號作IDUSHORTseg;/ICMP數(shù)據(jù)報(bào)的序列號IcmpHeader;)WSAStartup函數(shù)DLL調(diào)用的第一個WindowsSockets函數(shù).它允許本函數(shù)必須是應(yīng)用程序或應(yīng)用程序或DLL指明WindowsSocketsAPI的版本號及獲得特定WindowsSoc
10、kets實(shí)現(xiàn)的細(xì)節(jié).應(yīng)用程序或DLL只能在一次成功的WSAStartup()調(diào)用之后才能調(diào)用進(jìn)一步的WindowsSocketsAPI函數(shù)。具體應(yīng)用:if(WSfiStartupdlftlCEWORDfJ.I)f=0)coutllWASStartupFalledllGetLastError()endl;ExltPi-oceSS(STATUS_FfiiLED);nm*nh*i-tltnt:nntanhnnntntnaniaMAKEWO數(shù)本函數(shù)用于進(jìn)行對Socket版本的指定和協(xié)商,具體應(yīng)用實(shí)例如下:tup(mKEM)RD(2,1)聲即saD砒町=0)fadlEdGrtLd5tError()end
11、l;JCessfSTATIISFfilLED);4.2、實(shí)例化ICMP數(shù)據(jù)報(bào)格式并創(chuàng)建Socket套接字程序使用原始套接字(SOCK_RAW生成ICMP報(bào)文來進(jìn)行活動主機(jī)的探查,這個#defineICMP_RCHO8程序使用的是回送請求與應(yīng)答信息。具體實(shí)現(xiàn)代碼如下:/請求回送#defineDEF_PACKET_SIZE32/#defineMAX_PACKET1024/#defineICMP_MIN8/ICMP#defineICMP_RCHO_REPLY0#defineSTATUS_FAILED0 xFFFF#defineDEF_PACKET_SIZE32/#defineMAX_PACKET10
12、24/#defineICMP_MIN8/ICMP#defineICMP_RCHO_REPLY0#defineSTATUS_FAILED0 xFFFF缺省數(shù)據(jù)報(bào)長度最大數(shù)據(jù)塊長度報(bào)文頭長度(最小ICMP報(bào)文長度)#defineMAX_PING_PACKET_SIZE(MAX_PACKET+sizeof(lpHeader)voidfill_icmp_data(char*,int);USHORTchecksum(USHORT*,int);voiddecode_resp(char*,int,structsockaddr_in*);DWORDWINAPIFindlP(LPVOIDpIPAddrTemp)
13、;WSADATAwsaData;SOCKETsockRaw;/為了實(shí)現(xiàn)發(fā)送/監(jiān)聽ICMP報(bào)文,必須使用原始套接字,創(chuàng)建原始套接字structsockaddr_indest,from,end;intfromlen=sizeof(from);/from是一個sockaddr_in數(shù)據(jù)結(jié)構(gòu),用于保存響應(yīng)的目的的主機(jī)的地址char*recvbuf=newcharMAX_PING_PACKET_SIZE;保證大與發(fā)送包的大小4.3、創(chuàng)建多個線程線程是進(jìn)程內(nèi)部的一個執(zhí)行單元。系統(tǒng)創(chuàng)建好進(jìn)程后,實(shí)際上就啟動執(zhí)行了該進(jìn)程的主執(zhí)行線程,主執(zhí)行線程以函數(shù)地址形式,比如說main或WinMain函數(shù),將程序的啟動點(diǎn)
14、提供給Windows系統(tǒng)。主執(zhí)行線程終止了,進(jìn)程也就隨之終止。由于要尋找的主機(jī)較多,可以采用多線程技術(shù)(多線程的函數(shù)為:CreateThread()。具體實(shí)現(xiàn)代碼如下:intfromlen=sizeof(from);/from是一個sockaddr_in數(shù)據(jù)結(jié)構(gòu),用于保存響應(yīng)的目的的主機(jī)的地址char*recvbuf=newcharMAX_PING_PACKET_SIZE;/保證大與發(fā)送包的大小unsignedintaddr=0;longThreadNumCounter=0,ThreadNumLimit=20;long*aa=&ThreadNumCounter;voidmain(intargc
15、,char*argv)if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0)coutWASStartupfailedGetLastError()headlen*4;/IP報(bào)頭的長度icmphdr=(Icmpheader*)(buf+iphdrlen);/跳過IP報(bào)頭/數(shù)據(jù)包太短,丟棄if(bytestype!=ICMP_ECHO_REPLY)return;/Id號不相符,丟棄if(icmphdr-id!=(USHOT)GetCurrentThreadId()return;/輸出正在使用的IP地址。Cout”活動主機(jī):”sin_addr)endl;4.5、程序流程圖以
16、下分別是主一個用多線程實(shí)現(xiàn)的程序在課程設(shè)計(jì)過程的第三部分中給出,程序流程圖和子程序流程圖:圖1主程序流程圖六、程序運(yùn)行結(jié)果N圖2子程序流程圖七、課程設(shè)計(jì)小結(jié)這次課程設(shè)計(jì)是在毫無準(zhǔn)備的尷尬情況下進(jìn)行的,在此之前,雖然學(xué)習(xí)了許多有關(guān)計(jì)算機(jī)網(wǎng)路以及通信原理的知識,但是都是基于理論教學(xué)的。至于將網(wǎng)絡(luò)協(xié)議應(yīng)用到編程過程中,這還是頭一次,因此在設(shè)計(jì)的過程中遇到許多難題。在閱讀設(shè)計(jì)要求時(shí),一個概念困擾很久,多線程編程在之前并沒有接觸過,但是通過網(wǎng)絡(luò)查詢資料后得以理解其含義和作用。在計(jì)算機(jī)中,一個應(yīng)用程序在運(yùn)行狀態(tài)可以看做一個進(jìn)程,但是這就像做一項(xiàng)及其重要的過程是同一個道理,在實(shí)際生活中,為了實(shí)現(xiàn)高效率的工作
17、模式,通常是多個人同時(shí)來完成一項(xiàng)工作,或者說是很多人做同一樣事情,結(jié)果是同樣的時(shí)間可以實(shí)現(xiàn)大批量的工作。在這個過程當(dāng)中,參與該事件的人都可以使用現(xiàn)有的資源,這就是多線程共享進(jìn)程資源的原理。但是,在計(jì)算機(jī)線程中有一種特殊的情況,有的線程不能使用某些系統(tǒng)資源,這就稱作鎖,就好比有的線程將屬于自己的系統(tǒng)資源上了一把鎖,不允許其他線程使用這些資源??傊?,計(jì)算機(jī)多線程編程就是為了實(shí)現(xiàn)計(jì)算機(jī)快速、高效率地執(zhí)行程序。通過此次課程設(shè)計(jì),我加深了對ICMP協(xié)議的理解,鞏固了課堂知識。由于網(wǎng)絡(luò)協(xié)議比較抽象、難學(xué),自己學(xué)得也不夠深入,加上還要把所學(xué)知識運(yùn)用到實(shí)踐中來,所以一開始時(shí)感覺比較困難,而且在調(diào)試過程中難免要
18、出現(xiàn)一些如變量沒有定義、缺少頭文件、大小寫錯誤以及其它問題,通過查閱文獻(xiàn)資料、向同學(xué)請教以及認(rèn)真地思考與分析,逐一對錯誤進(jìn)行了調(diào)試,才使得程序能正常運(yùn)行,大體上符合了設(shè)計(jì)的目的和要求。在程序的調(diào)試過程中,出現(xiàn)問題是正常的,關(guān)鍵是如何去發(fā)現(xiàn)問題的根源,然后去解決它。為了能夠快速地確定錯誤的原因,盡快的排除程序錯誤,通常把程序錯誤劃分為三種類型:語法錯誤、運(yùn)行錯誤和邏輯錯誤。在設(shè)計(jì)過程中,我們可以先找出問題,看是屬于哪一類錯誤,然后再將問題一一解決,這樣既解決了疑難問題又節(jié)省了不少時(shí)間。參考文獻(xiàn)吳功宜,胡曉英,張仁,何云,王寧編著.計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2010.8吳功宜著.計(jì)
19、算機(jī)網(wǎng)絡(luò).北京:清華大學(xué)出版社,2004陳堅(jiān),陳偉.VisualC+網(wǎng)絡(luò)高級編程M.北京:人民郵電出版社,2001郭國強(qiáng).計(jì)算機(jī)網(wǎng)絡(luò)與Internet教程.北京:清華出版社,2006.11楊豐瑞,楊豐任.實(shí)用教程最新計(jì)算機(jī)網(wǎng)絡(luò).北京:中國鐵道出版社,2001.7附錄源代碼#pragmapack(4)#pragmacomment(lib,Ws2_32.lib)#defineWIN32_LEAN_AND_MEAN#include#include#include#include#include#include#include/IP報(bào)頭的數(shù)據(jù)結(jié)構(gòu)typedefstructiphdrunsignedin
20、theadlen:4;/IP頭長度unsignedintversion:4;/IP版本號unsignedchartos;/服務(wù)類型TOCo1-5hzunsignedshorttotallen;/IPunsignedshortid;/IDunsignedshortflag;/unsignedcharttl;/unsignedcharprot;/unsignedshortchecksum;/unsignedintsourceIP;/unsignedintdestIP;/IpHeader;/ICMP頭部的數(shù)據(jù)結(jié)構(gòu)typedefstructicmphdr包總長度號標(biāo)記生存時(shí)間協(xié)議(UDPTCP)校驗(yàn)和
21、源IP目的IP類型碼,回送請求的類型碼為8保存與特定ICMP報(bào)文類型相關(guān)細(xì)節(jié)信息校驗(yàn)和報(bào)文ID號(一般用進(jìn)程號作ID)數(shù)據(jù)報(bào)的序列號請求回送缺省數(shù)據(jù)報(bào)長度最大數(shù)據(jù)塊長度報(bào)文頭長度(最小ICMP報(bào)文長度)BYTEtype;/ICMPBYTEcode;/子類型碼TOCo1-5hzUSHORTchecksum;/USHORTid;/ICMPUSHORTseg;/ICMPIcmpHeader;#defineICMP_RCHO8/#defineDEF_PACKET_SIZE32/#defineMAX_PACKET1024/#defineICMP_MIN8/ICMP#defineICMP_RCHO_REP
22、LY0#defineSTATUS_FAILED0 xFFFF#defineMAX_PING_PACKET_SIZE(MAX_PACKET+sizeof(IpHeader)voidfill_icmp_data(char*,int);USHORTchecksum(USHORT*,int);voiddecode_resp(char*,int,structsockaddr_in*);DWORDWINAPIFindIP(LPVOIDpIPAddrTemp);WSADATAwsaData;SOCKETsockRaw;/為了實(shí)現(xiàn)發(fā)送/監(jiān)聽ICMP報(bào)文,必須使用原始套接字,創(chuàng)建原始套接字structsocka
23、ddr_indest,from,end;intfromlen=sizeof(from);/from是一個sockaddr_in數(shù)據(jù)結(jié)構(gòu),用于保存響應(yīng)的目的的主機(jī)的地址char*recvbuf=newcharMAX_PING_PACKET_SIZE;/保證大與發(fā)送包的大小unsignedintaddr=0;longThreadNumCounter=0,ThreadNumLimit=20;long*aa=&ThreadNumCounter;voidmain(intargc,char*argv)if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0)coutWASStart
24、upfailedGetLastError()endl;ExitProcess(STATUS_FAILED);sockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_ICMP,NULL,0,WSA_FLAG_OVERLAPPED);if(sockRaw=INVALID_SOCKET)coutWASSocketet()faliedWSAGetLastError()endl;ExitProcess(STATUS_FAILED);inttimeout=1000;intbread=setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char
25、*)&timeout,sizeof(timeout);if(bread=SOCKET_ERROR)coutFAILEDTOSEYRECVTIMEOUTWSAGetLastError()endl;ExitProcess(STATUS_FAILED);timeout=1000;bread=setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout);if(bread=SOCKET_ERROR)coutFAILEDTOSEYRECVTIMEOUTWSAGetLastError()endl;ExitProcess(S
26、TATUS_FAILED);memset(&dest,0,sizeof(dest);unsignedlongstartIP,endIP;dest.sin_family=AF_INET;dest.sin_addr.s_addr=inet_addr(argv1);startIP=inet_addr(argv1);end.sin_family=AF_INET;end.sin_addr.s_addr=inet_addr(argv2);endIP=inet_addr(argv2);HANDLEhThread;while(htonl(startIP)ThreadNumLimit)Sleep(5000);c
27、ontinue;DWORDThreadID;sockaddr_in*pIPAddrTemp=new(sockaddr_in);if(!pIPAddrTemp)coutmemoryallocfailedendl;return;*pIPAddrTemp=dest;clock_tstart;start=clock();hThread=CreateThread(NULL,NULL,FindIP,(LPVOID)pIPAddrTemp,NULL,&ThreadID);longi=60000000L;while(i-);TerminateThread(hThread,0);InterlockedDecre
28、ment(aa);memset(&from,0,sizeof(from);startIP=htonl(htonl(startIP)+1);dest.sin_addr.s_addr=startIP;while(ThreadNumCounter!=0)Sleep(2000);return;couterrortype=ICMP_RCHO;/icmp_hdr-id=(USHORT)GetCurrentThreadId();/當(dāng)前線程號datapart=icmp_data+sizeof(IcmpHeader);/數(shù)據(jù)部分memset(datapart,A,datasize-sizeof(IcmpHead
29、er);/voiddecode_resp(char*buf,intbytes,structsockaddr_in*from)IpHeader*iphdr;IcmpHeader*icmphdr;unsignedshortiphdrlen;報(bào)頭的長度跳過IP報(bào)頭報(bào)頭的長度跳過IP報(bào)頭iphdr=(IpHeader*)buf;iphdrlen=iphdr-headlen*4;/IPicmphdr=(IcmpHeader*)(buf+iphdrlen);/if(bytestype!=ICMP_RCHO_REPLrYe)turn;/不是回送響應(yīng)(Ping應(yīng)答),丟棄if(icmphdr-id!=(USH
30、ORT)GetCurrentThreadId()return;/Id號不相符,丟棄coutvv活動主機(jī):sin_addr)vendl;輸出正在使用的IP地址coutsin_addr)1)cksum+=*buffer+;size-=sizeof(USHORT);if(size)cksum+=*(UCHAR*)buffer;cksum=(cksum16)+(cksum&0 xffff);cksum+=(cksum16);return(USHORT)(cksum);DWORDWINAPIFindIP(LPVOIDpIPAddrTemp)InterlockedIncrement(aa);charicmp_dataMAX_PACKET;/ICMP數(shù)據(jù)報(bào)最大可能的長度memset(ic
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【假期提升】五升六語文暑假作業(yè)(八)-人教部編版(含答案含解析)
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職教育學(xué)考前沖刺模擬試卷B卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備高級技能通關(guān)考試題庫帶答案解析
- 社?;A(chǔ)知識培訓(xùn)
- 2024年黑龍江公務(wù)員《行政職業(yè)能力測驗(yàn)》試題真題及答案
- 2025年反恐怖主義法知識競賽試卷及答案
- 皮革基礎(chǔ)知識培訓(xùn)課件
- 中學(xué)生成長電影觀后感
- 民間個人消費(fèi)短期借款合同書
- 古詩詞學(xué)習(xí)感悟
- 環(huán)境監(jiān)測安全培訓(xùn)
- 第六課 呵護(hù)花季激揚(yáng)青春
- 建筑工程原材料檢驗(yàn)與取樣規(guī)定
- 演唱會安保方案及應(yīng)急預(yù)案
- 10kv高壓送電專項(xiàng)方案
- 城市軌道交通車輛制動系統(tǒng)課件EP2002
- 工會心理健康講座助力
- 阿那亞-社群營銷課件
- 糖尿病性眼肌麻痹的護(hù)理查房
- 《沃爾瑪企業(yè)物流成本控制現(xiàn)狀及完善對策研究》22000字
- 工程項(xiàng)目成本核算表格
評論
0/150
提交評論