北京电子科技学院(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第五次实验报告的更多相关文章

  1. 20145240 《Java程序设计》第五次实验报告

    20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...

  2. 20145330《Java程序设计》第五次实验报告

    20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...

  3. 20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  4. Java第五次实验报告

    Java第五次实验报告 实验一 实验内容 两人一组结对编程: 参考 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC. ...

  5. 第五次实验报告 java 网络编程

    20145306 第五次 java 实验报告 实验内容 客户端与服务器连接,客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务器的公钥加密,计算明文的Hash函数值,一起传送给客 ...

  6. 20145317彭垚 《Java程序设计》第五次实验报告

    20145317彭垚实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21: ...

  7. 《JAVA程序设计》第五次实验报告

    20145333 实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21:3 ...

  8. 20165210 Java第五次实验报告

    20165210 实验五 网络编程与安全 网络编程与安全一: 实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA ...

  9. 第五次实验报告:使用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 ...

随机推荐

  1. c++虚函数,纯虚函数,抽象类,覆盖,重载,隐藏

    C++虚函数表解析(转) ——写的真不错,忍不住转了  http://blog.csdn.net/hairetz/article/details/4137000 浅谈C++多态性  http://bl ...

  2. python启动服务器

    3.*             python -m http.server [port] & 2.*             python -m SimpleHTTPServer [port] ...

  3. Effective Java 74 Implement Serializable judiciously

    Disadvantage of Serializable A major cost of implementing Serializable is that it decreases the flex ...

  4. 【mysql】关于IO/内存方面的一些优化

    这里使用的是mysql  Ver 14.14 Distrib 5.6.19, for Linux (i686) using  EditLine wrapper 一.mysql目录文件 ibdata1: ...

  5. 问题解决——使用CriticalSection后 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突

    ================声明===================== 本文原创,转载请保持文章的完整性(含本声明),并显要的著名作者和出处. 本文链接:http://blog.csdn.ne ...

  6. Window I/O 完成端口 (Windows I/O Completion Port (IOCP))

    相关对象 IO EndPoint, 所有支持重叠IO(overlapped IO)的设备,比如文件,Winsock,管道等. IOCP, IO完成端口内核对象,可以使用API CreateIoComp ...

  7. linux强制用户下线

    Linux系统为多用户多任务系统,因此允许多个用户登录到系统,有时候,我们需要强制某些用户下线. 前提:必须是root权限操作:(1)使用who查看目前有哪些用户登录了服务器,见下图 [root@vm ...

  8. 关于codereview工具与建议

    http://www.ibm.com/developerworks/rational/library/11-proven-practices-for-peer-review/

  9. Linux下smokeping网络监控环境部署记录

    smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等:smokeping会向目标设备和系统发 ...

  10. js中的垃圾回收机制

    代码回收规则如下: 1.全局变量不会被回收. 2.局部变量会被回收,也就是函数一旦运行完以后,函数内部的东西都会被销毁. 3.只要被另外一个作用域所引用就不会被回收  (闭包)