利用流套接字实现一个简单的远程控制系统_第1页
利用流套接字实现一个简单的远程控制系统_第2页
利用流套接字实现一个简单的远程控制系统_第3页
利用流套接字实现一个简单的远程控制系统_第4页
利用流套接字实现一个简单的远程控制系统_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用流套接字实现一个简单的远程控制系统XX大学计算机学院、软件学院实验报 告学号:姓名:专业:软件学院班级:09第3周课程名称信息安全产品开发 实践 实验课时1实验项目 远程控制系统 实验时间 2013/9/27实验目的流套接字与数据报套接字回顾远程控制系统流程 实验环境X86, Windows7,VMware9. 0, Red Hat Enterprise Linux 5. 0 实验内容(算 法、程序、步骤和方法)利用流套接字实现一个简单的远 程控制系统:客户端输入“quit”,客户端程序与服务器端 程序打印退出信息,终止程序的执行;客户输入命令,客 户端将命令通过流套接字发送给客户端,服务

2、器执行收到的 命令,并将结果发送到客户端显示;如果没有客户输入的 命令,服务器发送命令非法信息,并在客户端显示该条信息。编写实验报告:列出程序运行状态、截图、配文字说 明;独立完成,打印报告,报告语言为中文,不少于4页 A4,封面上书写姓名、学号。(接上)实验内容(算法、程序、步骤和方法)修 改代码:编译 运行结果: 源代码:udpclient. c/* *Filename: udpclient.c * * Description: : This program is used to demostrate how to implement a udp rpc control server *

3、* Version: 1.0 * Created: 2013 骞?9 鏈?5 銀?16 鍍?6 錄?5 纟刍? * Revision: none * Compiler: gcc * * Author: Gang liang * Organization: Computer Science College, Sichuan University * *二二二二二二二=二二 */ #i nclude ttinclude ttinclude ttinclude ttinclude #define PORT 8888 #define SIZE 2048 ttinclude /* * 二二二 FUNCT

4、ION二二二二二二二二二二二二二二二二二二二 *Name: print useage*Description:*=*/voidprint usage (char* cmd ) fprintf (stderr, Usage: %s ip address n cmd); /* end of functionprint, useage */ /* 二二二 FUNCTIONName:mainDescription:二二二二二二二二二二二二二二二二二二二二二二二二二二二=二二二 */ int main (int argc, char *argv ) int sockfd; structsockaddr

5、in client; struct sockaddr in server; int len; int port; int rvalue; char buffer SIZE; char cmd10;/* thesetwo vars used to deal with cd command */ /char path2028 ;/initsockfd二T;bzero (&client,sizeof (structsockaddr);bzero(&server,sizeof (struct sockaddr);len二一1;rvalue 二T;port二PORT;bzero (cmd,10);mem

6、set(buffer,0,sizeof(buffer);/bzero(path,2048);if(2!=argc)print usage(argv0j);exit(-1);/phrase 1:The creationof the socketsockfd二socket(AF INET,SOCK STREAM,0); if (-1二二sockfd) fprintf(stderr, error in creating socke tn “); exit (-1) ; /Communa tion with the server. Attention:Client should send data t

7、o theserver first./Set the destination s addressserver.sin familyAF INET; server, sin addr. s_ addr=inet addr(argvl);server. sin_port=htons (port);if(T二二connect (sockfd, (structsockaddr*)&server,sizeof(server) perror( connect error n “); close(sockfd); return -1 ; while(1) fprintf(stderr,“ TCP “);fg

8、ets(buffer,SIZE,stdin);rvalue二write (sockfd,buffer,strlen(buffer),0);if(0二二strcmp(buffer, “ quit n “)11 (0=strcmp(buffer, “QUITN) fprintf(stderr, quit. n“);break; if (0rvalue) fprintf(stderr,error in receiving data n “);continue;sscanf(buffer, “s “,cmd);if (0strcmp( cd“ ,cmd) | | (0strcmp( “ CD “ ,

9、cmd)continue;len二sizeof (structsockaddr);rvalue=read(sockfd,buffer,SIZE,0); if (0 include ttinclude ttinclude ttinclude ttinclude #define PORT 8888 /*server port */ #define SIZE 2048/*2K BUFFER */ int exec (char* command,char* result) FILE * in; int len; char c; len二0;bzero(result,sizeof(result); in

10、=popen(command, ar“); if (NULL二二in) fprintf(stderr, uerror increa te a pipe n “);return -1;while(c=fgetc(in)!=EOF)&(lenrvalue) fprintf (stderr, error in receiving datan “); continue; recv buf rvalue-l= 1 0 1 ;if(O=strcmp(recv_ buf, “quit“)fprintf (stderr,“the cli ent is quit n “);close (connected);b

11、reak; sscanf(recv buf, “s %s “,cmd,path);if (0strcmp ( ucd “ , cmd) | | (0strcmp ( “CD , cmd) chdir(path) ;continue;fprintf (stderr, “ the result is n%s “ , send buf); exec (recv buf, send buf) ;rvalue二T;rvalue=write (connected,send buf,strlen(send buf); if (0rvalue) fprintf (stderr, uerror in sending data n);continue; close(connected); /phrase 4:release the socket close(sockfd); return EXIT SUCCESS; /* end offunction main */数据记录 和计算TCP套接字编程(cont.):工作原理:客户端接收用户输入的命令,客户端通过套接字将命令传送给 服务器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论