Linux第五次实验
北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全系统设计基础 班级: 201352
姓名:池彬宁 贺邦
学号:20135212 20135208
成绩: 指导教师: 娄嘉鹏 实验日期:2015.12.1
实验密级: 预习程度: 实验时间:15:30~18:20
仪器组次: 必修/选修: 必修 实验序号:4
实验名称:简单嵌入式WEB服务器实验
实验目的与要求:1.掌握在 ARM 开发板实现一个简单 WEB 服务器的过程。
2.学习在 ARM 开发板上的 SOCKET 网络编程。
3.学习 Linux 下的 signal()函数的使用
实验仪器:
名称 |
型号 |
数量 |
ARM开发板 |
UP-NETARM2410-CL |
1 |
PC |
Windows Xp |
1 |
一、实验内容:
①代码理解:
1)解析客户请求:int ParseReq(FILE *f, char *r)
char *r :字符串指针,待解析的字符串。
2)发送 HTTP协议数据头:int PrintHeader(FILE *f, int content_type)
int content_type:信息类型,用于确定发送的 HTTP 协议数据头信息
3)发送当前目录文件列表信息:int DoDir(FILE *f, char *name)
char *name:目录名,表示客户请求的目录信息。
4)发送 HTML文件内容:int DoHTML(FILE *f, char *name)
char *name:客户请求的文件名
5)发送纯文本(TXT)文件内容:int DoText(FILE *f, char *name)
char *name:客户请求的文件名
6)发送 JPEG图像文件内容:int DoJpeg(FILE *f, char *name)
char *name:客户请求的文件名
7)发送 GIF图像文件内容:int DoGif(FILE *f, char *name)
char *name:客户请求的文件名
②按照实验一配置好NFS服务。
③进入red hat系统中,进入07_httpd目录,使用make产生可执行文件httpd。
④在超级终端上输入mount –t nfs –o nolock 192.168.0.23:/arm2410cl /host(注意在/host前存在空格),创建链接。
⑤输入cd /host/exp/basic/07_htttpd/ 进入07_httpd目录
⑥输入./httpd,运行httpd可执行文件,出现以下提示语句:
starting httpd...
press q to quit.
wait for connection
⑦打开本机浏览器输入http://192.168.0.121,出现以下页面
二、实验原理理解
1.该WEB服务器能实现的功能?
获取服务器当前目录文件列表、获取指定文件、获取HTML类型文件、获取纯文本文件、获取JPG图像文件、获取GIF图像文件。
2.HTTP协议数据头格式要求
1)请求格式:
请求行-通用信息头-请求头-实体头-报文主体
2)响应格式:
状态行-通用信息头-响应头-实体头-报文主体
3.为何采用SOCKET?
SOCKET用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
三、实验过程中遇到的问题以及解决方案
1.make出错
发现仅仅为最后一个生成httpd可执行文件语句出错,则补上armv4l-unknown-linux-gcc -o httpd httpd.o copy.o –lpthread即可。
四、实验体会:
由于已经是最后一个实验了,大部分的步骤都进行的很顺利,对于出现的实验结果也是感到很惊喜,但后来一想,这种反映是因为自己并未弄清楚代码的含义,自己照着指导书一步一步地来的结果,在对代码有了解后,发现自己当初的惊喜多么好笑的反应。通过这几次实验也培养了良好的协作能力,体会到了1+1>2的感觉。
Linux第五次实验的更多相关文章
- LINUX第五次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 201353 姓名:刘世鹏 郝爽 学号:2013530 ...
- Linux 第五周 实验: 分析system_call中断处理过程
姬梦馨 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 使用gdb跟踪分析一个系统调用内核函数 ...
- 20135302魏静静——linux课程第五周实验及总结
linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...
- Linux第五周学习总结——扒开系统调用的三层皮(下
Linux第五周学习总结--扒开系统调用的三层皮(下) 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- 20145240 《Java程序设计》第五次实验报告
20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...
- 20145224&20145238 《信息安全系统设计基础》 第五次实验
20145224&20145238 <信息安全系统设计基础>第五次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 20145330《Java程序设计》第五次实验报告
20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...
- 20145320《Java程序设计》第五次实验报告
20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...
- 《sed的流艺术之四》-linux命令五分钟系列之二十四
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
随机推荐
- Memcache笔记05-Memcache安全性
Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以 ...
- C++静态计算的例子
写一个函数,用递归函数完成以下运算: sum(n) = 1 – 1/2 + 1/3 – 1/4 + … -(1/n)*(-1)n (其中n>0) 函数原型: fl ...
- MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数
安装MySQL时,有warning: [root@localhost mysql]# scripts/mysql_install_db --user=mysql Installing MySQL sy ...
- 问题解决——OpenGL超级宝典 第四章 4.5.2 关于freeglut.lib问题的解决过程
看<OpenGL超级宝典(第四版)>的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思. 在第4.5.2节之前,自己写的的代码都没有使用作者的gltoo ...
- SSIS hang with unhandle exception
如果你的packages在执行的过程中有没有被捕获到的异常,则sqldumper会跳出来获取这些异常信息输出,存在下面的目录中: C:\Program Files\Microsoft SQL Serv ...
- TFS 与活动目录AD(Active Directory)的同步机制
TFS用户管理机制 TFS系统与企业域服务器用户系统(或本地计算机用户系统)高度集成在一起,使用域服务器验证系统用户的账户和密码,从而在企业中实现单一用户,单点登录.也就是说,TFS系统自身并没有用户 ...
- cnblogs美化及插件
1.vp计数 http://www.amazingcounters.com 2.来源地图 http://clustrmaps.com 2.1来源地图 http://www.flagcounter.co ...
- Linux 系统常用命令汇总(五) 磁盘管理
磁盘管理 命令 选项 注解 示例 df [选项] 显示磁盘空间使用情况 显示磁盘空间是员工情况,以M显示: df -m -i 使用inodes显示结果 -k(m) 使用KB(MB)显示结果 du ...
- 【读书笔记《Android游戏编程之从零开始》】15.游戏开发基础(剪切区域)
剪切区域也称为可视区域,是由画布进行设置的:它指的是在画布上设置一块区域,当画布一旦设置了可视区域,那么除此区域外,绘制的任何内容都将看不到:可视区域可以是圆形.矩形等等. 画布提供了三种设置可视区域 ...
- ZooKeeper一二事 - 搭建ZooKeeper伪分布式及正式集群 提供集群服务
集群真是好好玩,最近一段时间天天搞集群,redis缓存服务集群啦,solr搜索服务集群啦,,,巴拉巴拉 今天说说zookeeper,之前搭建了一个redis集群,用了6台机子,有些朋友电脑跑步起来,有 ...