北京电子科技学院(BESTI)

              

课程:信息安全系统设计基础                     班级: 201352         

姓名:林涵锦 何佳

学号:20135213 20135231

成绩:             指导教师:   娄嘉鹏  实验日期: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.234:/home/bc /host(注意在/host前存在空格),创建链接。

输入cd /ws/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.socket:

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。

其可用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。

三、感想

本次实验是最为顺利的一次实验。开始到出结果的网页很顺利的达成了,果然熟能生巧。