LINUX第五次实验报告
北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全系统设计基础 班级: 201353
姓名:刘世鹏 郝爽
学号:20135304 20135335
成绩: 指导教师: 娄嘉鹏 实验日期:2015.12.1
实验密级: 预习程度: 实验时间:15:30~18:20
仪器组次: 必修/选修: 必修 实验序号:5
实验名称:简单嵌入式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.16,出现所需页面

二、实验原理理解
1.该WEB服务器能实现的功能?
获取服务器当前目录文件列表、获取指定文件、获取HTML类型文件、获取纯文本文件、获取JPG图像文件、获取GIF图像文件。
2.HTTP协议数据头格式要求
1)请求格式:
请求行-通用信息头-请求头-实体头-报文主体
2)响应格式:
状态行-通用信息头-响应头-实体头-报文主体
3.为何采用SOCKET?
SOCKET用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
三、实验过程中遇到的问题以及解决方案
make出现问题通过与其他同学交流发现仅仅为最后一个生成httpd可执行文件语句出错,则补上armv4l-unknown-linux-gcc -o httpd httpd.o copy.o –lpthread即可。
四、实验体会:
本次实验建立在实验四搭建好的实验平台基础上;而且,有了之前实验经验,此次试验比较顺利。
LINUX第五次实验报告的更多相关文章
- 20145240 《Java程序设计》第五次实验报告
20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...
- 20145330《Java程序设计》第五次实验报告
20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...
- 20145320《Java程序设计》第五次实验报告
20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...
- Java第五次实验报告
Java第五次实验报告 实验一 实验内容 两人一组结对编程: 参考 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC. ...
- 第五次实验报告 java 网络编程
20145306 第五次 java 实验报告 实验内容 客户端与服务器连接,客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传送给客 ...
- 20145317彭垚 《Java程序设计》第五次实验报告
20145317彭垚实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21: ...
- 《JAVA程序设计》第五次实验报告
20145333 实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21:3 ...
- 20165210 Java第五次实验报告
20165210 实验五 网络编程与安全 网络编程与安全一: 实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA ...
- 第五次实验报告:使用Packet Tracer理解OSPF路由协议
目录 1 实验目的 2 实验内容 3. 实验报告 3.1 建立网络拓扑结构 4. 配置 4.1 配置并激活串行地址和以太网地址 4.1.1 R1 4.1.2 R2 4.1.3 R3 4.1.4 PC ...
随机推荐
- windows 编程中的常见bug
错误 1 : error LNK2001: 无法解析的外部符号 _WTSQueryUserToken@8 解决办法: ——>查看链接器->输入->附加依赖项,依照debug模 ...
- rails开发demo(一)搭建环境
环境 ubuntu 14.04 为了安装rails4.2 和 ruby 2.2.2,这是目前稳定的最新版本,需要先安装rvm sudo apt-get update sudo apt-get inst ...
- JavaScript Patterns 3.7 Primitive Wrappers
Primitive value types: number, string, boolean, null, and undefined. // a primitive number var n = 1 ...
- Web Farm 和Web Garden
这两个都是提高网站性能的服务器端技术 1.Web Farm:如果应用程序被多个服务器托管,这种情况就可以称作Web Farm. 2.Web Garden: 指的是一个应用程序可以分成多个进程(w3wp ...
- MongoDB学习笔记——文档操作之查询
查询文档 使用db.COLLECTION_NAME.findOne()可以查询所有满足条件的第一条数据 预发格式如下: db.COLLECTION_NAME.findOne(<query> ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- Nde模块篇
/*模块分为两种:原生模块和文件模块.原生模块即Node.js API提供的原生模块,原生模块在启动时已经被加载.文件模块即为动态加载模块,加载文件模块的工作主要由原生模块 module 来实现和完成 ...
- MySQL的replace函数的用法
REPLACE(field,find_str,replace_str): 字段field的内容中的find_str 将被 替换为 replace_str . 例如: update short_url ...
- Spring配置文件外部化配置及.properties的通用方法
摘要:本文深入探讨了配置化文件(即.properties)的普遍应用方式.包括了Spring.一般的.远程的三种使用方案. 关键词:.properties, Spring, Disconf, Java ...
- JavaScript中typeof的坑
typeof是一个运算符,它对操作数返回的结果是一个字符串,有6种(只针对ES,不包含HOST环境对象) 'undefined' 'boolean' 'string' 'number' 'object ...