版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
四川大學(xué)計(jì)算機(jī)學(xué)院、軟件學(xué)院實(shí)驗(yàn)報(bào)告課程名稱信息安全產(chǎn)品開發(fā)實(shí)踐實(shí)驗(yàn)課時(shí)5實(shí)驗(yàn)項(xiàng)目遠(yuǎn)程控制系統(tǒng)實(shí)驗(yàn)時(shí)間2011年9月22號(hào)實(shí)驗(yàn)?zāi)康?)繼續(xù)了解Linux下C語言程序開發(fā)的過程2)繼續(xù)了解Socket網(wǎng)絡(luò)編程3)回顧流套接字與數(shù)據(jù)報(bào)套接字4)了解遠(yuǎn)程控制系統(tǒng)的流程及其實(shí)現(xiàn)的兩種方式(TCP和UDP)實(shí)驗(yàn)環(huán)境VMware5.0,RedHatLinux9.0實(shí)驗(yàn)內(nèi)容(算法、程序、步驟和方法)?利用數(shù)據(jù)報(bào)套接字實(shí)現(xiàn)一個(gè)簡單的遠(yuǎn)程控制系統(tǒng):客戶端輸入“quit”,客戶端程序與服務(wù)器端程序打印退出信息,終止程序的執(zhí)行;客戶輸入命令,客戶端將命令通過流套接字發(fā)送給客戶端,服務(wù)器執(zhí)行收到的命令,并將結(jié)果發(fā)送到客戶端顯示;如果沒有客戶輸入的命令,服務(wù)器發(fā)送命令非法信息,并在客戶端顯示該條信息。編寫實(shí)驗(yàn)報(bào)告:
列出程序運(yùn)行狀態(tài)、截圖、配文字說明;在進(jìn)行試驗(yàn)之前先來回顧一下UDP套接字編程的流程:ServerImquestanswerbind()reuvrrom()Iblockeci,wnitingtorconnection1romclient處弛服務(wù)請求1sendto()close()上圖反應(yīng)了在進(jìn)行數(shù)據(jù)報(bào)套接字編程時(shí)服務(wù)器端和客戶端需要做得工作,從中我們可以看出服務(wù)器端需要經(jīng)過五個(gè)步驟,而客戶端只需要四個(gè)步驟。mquestanswer遠(yuǎn)程控制的原理如下:-客戶端接收用戶輸入的命令,客戶端通過套接字將命令傳送給服務(wù)器端,-服務(wù)器在收到用戶的命令,對命令進(jìn)行解析-在服務(wù)器端調(diào)用對應(yīng)的命令-并將命令執(zhí)行的結(jié)果發(fā)送給客戶端,從而實(shí)現(xiàn)遠(yuǎn)距離控制的功能。從遠(yuǎn)程控制的原理并結(jié)合UDP套接字編程的流程我們可以畫出用UDP實(shí)現(xiàn)遠(yuǎn)程控制的流程圖,如下:依入的命■-U.W務(wù)雅狷開路洲木豐址Iuf地由1:與由;Hi:1口祐環(huán)撿壑報(bào)立打中湛即*1推村7占1111|1=『推密:再廣機(jī)的抽入..迎.戎5"山汗用布-爭.此遙希男找務(wù)艱VtH浪網(wǎng)密按字我同樣拴字下面介紹本試驗(yàn)的具體步驟:打開虛擬機(jī),在Linux下的VI編輯器中編寫服務(wù)器端程序UDPserver.c按世眼玄-JT粉怯收刮的報(bào)文壓屏弟上打整黑母TTMSSIhl的職i若噩CX^sTtLitcMHTk?iBnlr_liihcrWr*初世*■戶遠(yuǎn)程控制程序流程圖.霧忻血奇u爵都技4T命令r格做姬:您iEt&■廣耳Inrr>r*接十<打開Tt:J>字,:牌出R-OLk-H%,目回僅杉RodHatLimix-lorkjrtativn文件口攜用區(qū))立¥。邸機(jī)??q?tfoqp聚助⑥目回僅■jiCE?0點(diǎn)盼?iatsiffli?代體&有策破\Wnw?Tovla.C,SflB?iHatLzr/xr-《aks
■RMHatLimix-lorkjrtation文件口推用歸知擔(dān)叩攻口qp配助⑥■hitigg&eaBfBl0RrdHatInmikrocNkralh>u「?TTH?LO913*cq>l<Z2酒B?iHitl^r/a-山,g-Xtlx£>坂伽互直。也nx^n樸列?Fr<x?l^localb<it1Iro^t$?!ocalhosiIrool^kcaIMst[foolWIoeMlb(u1rooiUvilll^crvcr.croot)3<c<-oICfjervcrIXPserver.e?grootleviUT<Iirnt.cinoiUI9J]2?-
14:19
#defineBUFSIZE2048intexecute(char*command,char*buf)(FILE*fp;intcount;charcommandbuf[2056];if((NULL==command)||(NULL==buf))(perror("commandorbufisempty\n");return-1;}count=0;memset(commandbuf,0,2056);strcat(commandbuf,"sh-c");strcat(commandbuf,command);fprintf(stderr,"thecommandis%s\n”,commandbuf);if(NULL==(fp=popen(commandbuf,"r")))
ifintlens;memset(&client,0,sizeof(client));memset(&server,0,sizeof(server));memset(sendbuf,0,BUFSIZE);memset(recvbuf,0,BUFSIZE);length=0;sockfd=-1;conn_sock=-1;opt=SO_REUSEADDR;if(-1==(sockfd=socket(AF_INET,SOCK_DGRAM,0)))(perror("Createsocketerror\n");exit(1);}setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));server.sin_family=AF_INET;server.sin_addr.s_addr=htonl(INADDR_ANY)server.sin_port=htons(PORT);if(-1==bind(sockfd,(structsockaddr*)&server,sizeof(structsockaddr)))(perror("bindsocketerror\n");close(sockfd);return-1;}while(1)(while(1)(memset(recvbuf,0,BUFSIZE);memset(sendbuf,0,BUFSIZE);length二sizeof(structsockaddr);if(0>=(recvnum=recvfrom(sockfd,recvbuf,BUFSIZE,0,(structsockaddr*)&client,&length)))(perror("thecommucationerror\n");close(sockfd);return-1;}recvbuf[recvnum]='\0';fprintf(stderr,"thecommandis:%s\n”,recvbuf);if(0==strcmp(recvbuf,〃quit〃))(fprintf(stderr,"theclientisquit\n");break;}if(1>=(cnt=execute(recvbuf,sendbuf)))(sprintf(sendbuf,"theinvalidcommand,pleasetryagain\n");}fprintf(stderr,"theresultis\n%s”,sendbuf);sendnum二strlen(sendbuf);lens=sizeof(structsockaddr);
#include<sys/socket.h>#include<netinet/in.h>#include<netdb.h>#definePORT8900#defineBUFSIZE2048if(NULL==command)exit(-1);fprintf(stderr,"theuseageof%s:",command);fprintf(stderr,"%sIPADDR\n”,command);return;intsockfd;intlength;
server.sin_addr.s_addr=inet_addr(argv[1]);server.sin_port=htons(PORT);while(1)(fprintf(stderr,〃UDP>〃);memset(recvbuf,0,BUFSIZE);memset(sendbuf,0,BUFSIZE);fgets(sendbuf,BUFSIZE,stdin);length二strlen(sendbuf);sendbuf[length-1]='\0';sndnumserver.sin_addr.s_addr=inet_addr(argv[1]);server.sin_port=htons(PORT);if(0>sendto(sockfd,sendbuf,sndnum,0,(structsockaddr*)&server,sizeof(structsockaddr)))(perror("senderror\n");close(sockfd);exit(-1);}if(0==strcmp(sendbuf,〃quit〃))(
數(shù)據(jù)記錄和計(jì)詳細(xì)見上面算結(jié)論(結(jié)果)使用套接字能實(shí)現(xiàn)遠(yuǎn)程控制,且有TCP和UDP兩種形式。小結(jié)通過本實(shí)驗(yàn),我掌握了:1)進(jìn)一步熟悉了Linux下C語言程序開發(fā)的過程;2)進(jìn)一步了解Socket網(wǎng)絡(luò)編程,鞏固了對UDP和TCP編程;3)了解了遠(yuǎn)程控制的原理;4)學(xué)會(huì)了使用數(shù)據(jù)報(bào)套接字來實(shí)現(xiàn)遠(yuǎn)程控制;目前我存在的問題有:套接字的函數(shù)比較繁瑣,掌握的不是很熟練。指導(dǎo)老師評議成績評定:指導(dǎo)教師簽名:實(shí)驗(yàn)報(bào)告說明專業(yè)實(shí)驗(yàn)中心實(shí)驗(yàn)名稱要用最簡練的語言反映實(shí)驗(yàn)的內(nèi)容。如驗(yàn)證某程序、定律、算法,可寫成“驗(yàn)證XXX”;分析XXX。實(shí)驗(yàn)?zāi)康哪康囊鞔_,要抓住重點(diǎn),可以從理論和實(shí)踐兩個(gè)方面考慮。在理論上,驗(yàn)證定理、公式、算法,并使實(shí)驗(yàn)者獲得深刻和系統(tǒng)的理解,在實(shí)踐上,掌握使用實(shí)驗(yàn)設(shè)備的技能技巧和程序的調(diào)試方法。一般需說明是驗(yàn)證型實(shí)驗(yàn)還是設(shè)計(jì)型實(shí)驗(yàn),是創(chuàng)新型實(shí)驗(yàn)還是綜合型實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)用的軟硬件環(huán)境(配置)。實(shí)驗(yàn)內(nèi)容(算法、程序、步驟和方法)這是實(shí)驗(yàn)報(bào)告極其重要的內(nèi)容。這部分要寫明依據(jù)何種原理、定律算法、或操作方法進(jìn)行實(shí)驗(yàn),要寫明經(jīng)過哪幾個(gè)步驟。還應(yīng)該畫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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è)安全規(guī)范講解
- 跨境電商政策環(huán)境的影響研究
- 2026年及未來5年市場數(shù)據(jù)中國化妝品網(wǎng)購行業(yè)市場需求預(yù)測及投資戰(zhàn)略規(guī)劃報(bào)告
- 青少年環(huán)境意識(shí)形成與培養(yǎng)的研究
- 2026年及未來5年市場數(shù)據(jù)中國卸妝產(chǎn)品行業(yè)發(fā)展運(yùn)行現(xiàn)狀及發(fā)展趨勢預(yù)測報(bào)告
- 2026年及未來5年市場數(shù)據(jù)中國心臟病用藥行業(yè)市場競爭格局及發(fā)展趨勢預(yù)測報(bào)告
- 追溯培訓(xùn)課件
- 雨課堂學(xué)堂在線學(xué)堂云創(chuàng)新創(chuàng)業(yè)管理(云南大學(xué))單元測試考核答案
- 2026新疆前海元能織造有限責(zé)任公司招聘3人備考考試試題及答案解析
- 2026江西吉安市吉州區(qū)水利局招聘公益性崗位人員1人參考考試題庫及答案解析
- 2023年人教版六年級上冊語文期末考試卷(A4打印版)
- JTG-D40-2002公路水泥混凝土路面設(shè)計(jì)規(guī)范-PDF解密
- 研學(xué)旅行概論第六章
- 《雅思閱讀精講》
- 產(chǎn)前檢查的操作評分標(biāo)準(zhǔn)
- GB/T 22176-2023二甲戊靈乳油
- 50年同學(xué)聚會(huì)邀請函(十二篇)
- GB/T 28046.4-2011道路車輛電氣及電子設(shè)備的環(huán)境條件和試驗(yàn)第4部分:氣候負(fù)荷
- 臨時(shí)用水施工方案
- 初中體育《正確跑姿勢》教學(xué)課件
- LOTO上鎖掛牌安全培訓(xùn)課件
評論
0/150
提交評論