ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:83.40KB ,
资源ID:4593891      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4593891.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四次实验.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四次实验.docx

1、第四次实验软 件 学 院信息安全产品开发实践实验四报告陈枝-10431110342012-09-30四 川 大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号:_1043111034_ 姓名:陈枝 专业:软件工程 班级:3班 第 四 周 课程名称 信息安全产品开发实践实验课时1实验项目远程控制系统实验时间第四周2012年9月27日星期五2012年9月30日星期天实验目的 熟悉: 流套接字与数据报套接字回顾 远程控制系统流程实验环境 X86,WindowsXP,VMware5.0,RedHat Linux 9.0实验内容(算法、程序、步骤和方法) 利用流套接字实现一个简单的远程控制系

2、统:1.客户端输入“quit”,客户端程序与服务器端程序打印退出信息,终止程序的执行;2.客户输入命令,客户端将命令通过流套接字发送给客户端,服务器执行收到的命令,并将结果发送到客户端显示;3.如果没有客户输入的命令,服务器发送命令非法信息,并在客户端显示该条信息。编写实验报告:1.列出程序运行状态、截图、配文字说明;2.独立完成,打印报告,报告语言为中文,不少于4页A4,封面上书写姓名、学号。数据记录和计算 TCP套接字编程(cont.): 工作原理: 客户端接收用户输入的命令,客户端通过套接字将命令传送给服务器端, 服务器在收到用户的命令,对命令进行解析 在服务器端调用对应的命令 并将命令

3、执行的结果发送给客户端,从而实现远距离控制的功能。程序源码:tcpclient.c#include #include #include #include #include #include #define PORT 8900#define BUFSIZE 2048void printusage(char*command) if (NULL=command) exit(-1); fprintf(stderr,the useage of %s :,command); fprintf(stderr,%s IPADDRn,command); return;int main(int argc,char*

4、 argv) int sockfd; int length; struct sockaddr_in server; int sndnum; int recvnum; char sendbufBUFSIZE; char recvbufBUFSIZE; sockfd=-1; length=0; if (2!=argc) printusage(argv0); return -1; if (-1=(sockfd=socket(AF_INET,SOCK_STREAM,0) perror(create socket errorn); return -1; memset(&server,0,sizeof(s

5、erver); server.sin_family=AF_INET; server.sin_addr.s_addr = inet_addr(argv1); server.sin_port = htons(PORT); if (-1=connect(sockfd,(struct sockaddr*)&server,sizeof(server) perror(connect errorn); close(sockfd); return -1; while(1) fprintf(stderr,TCP); memset(recvbuf,0,BUFSIZE); memset(sendbuf,0,BUFS

6、IZE); fgets(sendbuf,BUFSIZE,stdin); length=strlen(sendbuf); sendbuflength-1=0; if (0=(sndnum=write(sockfd,sendbuf,strlen(sendbuf) perror(send errorn); close(sockfd); exit(-1); if (0=strcmp(sendbuf,quit) fprintf(stderr,quit.n); close(sockfd); exit(0); if (0=(recvnum=read(sockfd,recvbuf,BUFSIZE) perro

7、r(read errorn); close(sockfd); exit(-1); recvbufrecvnum=0; fprintf(stderr,the result:n); fprintf(stderr,%sn,recvbuf); tcpserver.c#include #include #include #include #include #include #define PORT 8900#define BUFSIZE 2048int execute(char*command,char*buf) FILE *fp; int count; char commandbuf2056; if

8、(NULL=command)|(NULL=buf) perror(command or buf is emptyn); return -1; count =0; memset(commandbuf,0,2056); strcat(commandbuf,sh -c ); strcat(commandbuf,command); fprintf(stderr,the command is %sn,commandbuf); if (NULL=(fp=popen(commandbuf,r) perror(create pipe errorn); return -1; while (count=(recv

9、num=read(conn_sock,recvbuf,BUFSIZE) perror(the commucation errorn); close(conn_sock); close(sockfd); return -1; recvbufrecvnum=0; fprintf(stderr,the command is:%sn,recvbuf); if (0=strcmp(recvbuf,quit) fprintf(stderr,the client is quitn); close(conn_sock); break; if (1=(cnt=execute(recvbuf,sendbuf) s

10、printf(sendbuf,the invalid command,please try againn); fprintf(stderr,the result is n%s,sendbuf); if (0=(sendnum=write(conn_sock,sendbuf,strlen(sendbuf) perror(the commucation errorn); close(sockfd); close(conn_sock); return -1; close(sockfd);Makefile:结 论(结 果) 结果截图:服务器端:客户端:小 结 通过本实验,我掌握了:利用流套接字实现一个简单的远程控制系统,熟悉了流套接字与数据报套接字编程。自己能做一个简单的远程控制系统流程。指导老师评 议 成绩评定: 指导教师签名:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1