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. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
随机推荐
- SAM4E单片机之旅——15、触屏输入与SPI通信
开发板上配了一个电阻触摸屏,它的控制器是ADS7843,使用SPI进行通信.这次实现的功能是通过SPI接口与该控制器交互,获取触摸屏点击的坐标,并显示在LCD上.略为难点的是SPI作为同步时钟的一种, ...
- Android 实用代码片段
一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ct ...
- 【mysql】关于innodb中MVCC的一些理解
一.MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代 ...
- putExtra方法
[开篇骂几句:fuck]1.扯淡intent.putExtra()怎么使用?2.胡说intent.putExtra(); [扯淡:其实你在问它怎么用的时候,你要明白,你知道不知道这是个什么东东,有必要 ...
- 仅IE6/7中添加checked为true的input到DOM中为false
HTML INPUT元素有个checked属性,多数情况type为radio和checkbox. 当创建一个input,checked属性赋值为true,添加到DOM文档中,当再次取checked属性 ...
- 【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法
之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplat ...
- 首个攻击该Mac OS系统的恶意软件——KeRanger
首个攻击该Mac OS系统的恶意软件——KeRanger 曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac ...
- codeforces 711A A. Bus to Udayland(水题)
题目链接: A. Bus to Udayland 题意: 找一对空位坐下来,水; 思路: AC代码: #include <iostream> #include <cstdio> ...
- Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...
- [3D跑酷] DataManager
DataManager管理游戏中数据,当然这个类中大部分的属性和方法都是Public 函数列表