信息安全系统设计基础实验五—20135214万子惠20135227黄晓妍
北京电子科技学院(BESTI)
实验报告
课程:信息安全系统设计基础 班级:1352
姓名:黄晓妍 万子惠
学号:20135227 20135214
成绩:指导教师:娄佳鹏 实验日期:2015.11.24
实验密级:预习程度: 实验时间:15:30~18:00
仪器组次:必修/选修: 必修 实验序号:五
实验名称:简单嵌入式WEB 服务器实验
实验目的与要求:
掌握在 ARM 开发板实现一个简单WEB 服务器的过程。
学习在 ARM 开发板上的SOCKET 网络编程。
学习 Linux 下的signal()函数的使用。
实验仪器:
名称 |
型号 |
数量 |
台式PC |
联想 |
1 |
嵌入式实验平台 |
UP-TECH S2410/P270 DVP |
1 |
实验内容、步骤与体会:
- 实验过程的理解,实验指导书中知识点的理解。
实验功能需求:
1.获取服务器端当前目录文件列表(包括文件名,大小,日期)
2.获取指定文件
3.获取HTML类型文件
4.获取纯文本文件
5.获取JPG图像文件
6.获取GIF图像文件
7.解析用户请求(将请求信息解析为几个变量:请求的命令,请求的文件名,请求的文件类型)
8.客户端连接处理(解析Referrer和content_length字段值并调用客户端解析函数)
9.发送HTTP协议数据头
(1)如何搭建服务器端?
首先要建立环境设置,设置信号处理得方式,然后建立监听(侦听)TCP流方式SOCKET并绑定端口,建立连接侦听即客户连接处理。
(2)客户端的用户请求如何解析处理?
根据功能分析定义上述函数,再根据请求信息来调用对应功能的函数。
(3)理解实验中算法流程?
设置信号处理句柄
进入根目录
命令行处理
建立TCP流SOCKET
绑定监听端口
设置允许客户连接数量
侦听客户连接请求
客户连接请求处理
- 实验过程中遇到的问题以及解决方案。
按照实验步骤,先搭建ARM环境,统一ARM,主机和虚拟机三者保证它们在同一网段之后,就可以共享文件夹了,然后修改PATH变量,保证armv4l-unknown-linux-gcc工具的使用,然后进入测试代码的文件夹,make 一下后发现本应该出现下图的界面,但是最后一行自动编译指令变成了乱码
于是手动输入了最后一行:armv4l-unknown-linux-gcc -o http httpd.o copy.o -lpthread问题就解决了,ls一下,发现httpd存在于文件夹目录下了,然后将它使用NFS服务下载到开发板上,并运行它。最后在我们的本机浏览器上输入实验板的IP地址
实验总结:
本次实验是基于实验1环境的搭建下进行得实验,在实验中我自以为熟络实验环境搭建,只想着同一网段实现文件的共享,却忘记将armv4l工具放入共享文件夹,也没有设置PATH变量,导致实验出现错误,本来补救是很简单的事,但是在紧迫的时间中对我和小伙伴增加了压力,怎么实验做一步错一步,老是得不到应该出现的反馈,这个时候团队合作精神就非常重要了,不要慌张也不要彼此责备,包括后面两个人实验报告的合作也一样,这次实验除了对WEB服务器的了解,更多的事我对团队合作的理解。