计算机网络实验
指导书
指导教师:宿红毅
北京理工大学
计算机科学技术学院
计算机网络课程实验安排
一、说明
计算机网络课程是计算机科学技术本科专业的核心课程之一,课程总学时54,其中课程讲授40学时,课程实践环节14学时。
二、实验项目
实验内容包括:
1.利用WinSock编程接口实现点对点通信(2学时)
2.设计并实现一个简单的Web服务器(6学时)
3.设计并实现一个SMTP邮件发送程序(6学时)
4.设计并实现一个POP3邮件客户程序(6学时)
5.设计并实现一个FTP客户端程序(6学时)
6.设计并实现一个网络下载程序(6学时)
7.利用WinPap实现网络数据链路层帧捕获,显示分析帧和上层包结构。(6学时)
实验要求:
1.所有设计的程序采用C/C++编写,在Windows或Linux下运行。
2.点对点通信实验和WinPcap抓包程序是必须完成的内容,其它五个题目可以任选一个完成。
3.最终提交软件设计报告、源程序和运行结果界面(截图)。
实验一WinSock点对点通信程序
1.实验目的
WinSock是Windows操作系统下的Socket编程接口,通过WinSock函数库可以实现基于TCP/IP协议的进程之间通信。
●理解基于WinSock的客户/服务器概念
●掌握使用WinSock进行编程的方法
●了解常见WinSock开发模式的使用
2.实验内容
基于WinSock开发一个简单的客户/服务器文本传输程序,客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
程序功能为:
(1)服务器可以接受任何客户的连接
(2)服务器在同一时刻只能与一个客户通信,直到该客户退出才可以接收下一个客户
(3)客户程序使用命令行参数指定服务器地址
(4)客户端输入的文本都发送给服务器
(5)客户使用Ctrl+C键停止发送,关闭连接
步骤2服务器程序开发
以Visual C++Console控制台程序的形式编写服务器程序,服务器程序采用循环服务器的模式,不支持多线程操作。
步骤3客户端程序开发
以Visual C++Console控制台程序的形式编写客户程序,与服务器建立连接后开始接收标准输入的文本,并发送到服务器。
步骤4编译和执行程序
在Visual C++开发环境中包含必要的头文件和连接的WinSock库,分别进行客户程序和服务器程序的编译和连接,生成可执行文件。首先运行服务器程序,然后运行客户程序,测试程序运行结果是否符合要求。
实验二简单的Web服务器
1.实验目的
Web服务器是Internet网络中主要提供信息的服务器之一,通过WinSock编程接口编写简单的Web服务器程序。
●理解HTTP协议的工作原理
●掌握Web服务器的处理流程
●掌握HTTP请求和响应包的处理方法
2.实验内容
利用WinSock编程接口编写简单的Web服务器程序,可以接收IE等Web 浏览器的请求,对HTTP请求进行处理,向浏览器客户发送HTTP响应,由浏览器显示请求的页面。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
Web服务器功能为:
(1)Web服务器可以接受任何Web客户的连接
(2)Web服务器在同一时刻只能处理一个客户的请求,该客户请求处理完成才可以接收下一个客户的请求
(3)Web浏览器客户通过地址栏指定服务器地址和请求的页面
(4)Web服务器对请求进行处理,发送HTTP响应
(5)Web浏览器客户收到HTTP响应后显示页面,关闭连接
步骤2Web服务器程序开发
以Visual C++Console控制台程序的形式编写服务器程序,利用WinSock编程接口实现HTTP通信。Web服务器程序采用循环服务器的模式,不支持多线程操作。服务器侦听TCP80号端口,建立TCP连接后接收HTTP请求,分析请求包得到访问资源的路径名,从主目录下找到指定的资源,以HTTP响应的形式发送给Web客户。
步骤3编译和执行程序
将Web服务器程序编译、连接成执行程序,运行Web服务器程序,在系统设定的主目录下存放一些Web页面。启动IE浏览器,在地址栏指定Web服务器的地址和页面,可以在浏览器中显示响应的页面。
1.实验目的
电子邮件E-Mail是Internet中广泛使用的服务之一,在Internet电子邮件系统中,邮件服务器之间通信采用SMTP协议。
●理解SMTP协议的工作原理
●掌握SMTP邮件发送程序的编程方法
●掌握邮件消息的格式
2.实验内容
利用WinSock编程接口编写SMTP邮件发送程序,在用户界面中给出必要的邮件信息:收件人、标题、内容等,通过SMTP协议将邮件发送给指定的接收人。通过给自己的邮箱发送邮件的方式,可以登录自己的邮箱,验证发送程序运行是否正确。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
SMTP发送程序功能为:
(1)具有编写简单文本邮件的界面,包括:收件人、发件人、发送日期、邮件标题和邮件文本内容。
(2)具有将界面内容封装成RFC822邮件消息格式的能力
(3)将邮件消息通过SMTP协议发送给目地邮箱
(4)登录目的邮箱,检测发送结果是否正确
步骤2SMTP发送程序开发
用Visual C++编写SMTP发送程序,利用WinSock编程接口实现SMTP通信。发送程序首先显示用户界面使用户可以编辑邮件,点击发送按钮后,向目标服务器的TCP25号端口建立TCP连接,然后发送SMTP命令,在DATA命令后发送邮件消息,最后以单独的“.”行作为结束,发送QUIT命令,释放TCP连接。
步骤3编译并执行程序
将SMTP发送程序编译、连接成执行程序,运行SMTP发送程序。在收件人栏填写自己的邮箱地址,编辑完成邮件后进行发送,然后登录到自己的邮箱,检查邮件发送的是否正确。
1.实验目的
电子邮件E-Mail是Internet中广泛使用的服务之一,在Internet电子邮件系统中,邮件客户接收邮箱内容的协议是POP3协议。
●理解POP3协议的工作原理
●掌握POP3邮件客户程序的编程方法
●掌握邮件消息的格式
2.实验内容
利用WinSock编程接口编写POP3邮件客户程序,在用户界面中给出必要的邮件接收信息:接收邮件服务器的IP地址、用户名、口令等,通过POP3协议将邮箱内容传递到POP3邮件客户并可以显示文本邮件内容。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
POP3邮件客户程序功能为:
(1)POP3邮件客户首先显示用户界面,可以指定接收邮件服务器的地址、用户名和口令等信息
(2)通过POP3协议接收邮箱中邮件列表,并显示邮件列表
(3)接收指定邮件(文本邮件)的详细信息并显示,包括:发件人、发送日期、邮件标题和内容等
(4)用Outlook Express等POP3邮件客户接收邮件验证自己编写程序的正确性。注意:配置Outlook不要下载后删除邮件。
步骤2POP3客户程序开发
用Visual C++编写POP3邮件客户程序,利用WinSock编程接口实现POP3协议通信。POP3邮件客户程序首先显示用户界面,使用户可以指定接收邮件服务器和用户、口令信息,点击接收按钮后,向目标服务器的TCP110号端口建立TCP连接,然后发送POP3命令,发送LIST命令后接收显示邮件列表,然后指定接收的邮件,接收RETR命令返回的邮件,显示邮件信息。
步骤3编译和执行程序
将POP3邮件客户程序编译、连接成执行程序,运行POP3邮件客户程序。填写自己的接收邮件服务器IP和用户、口令信息,接收并显示文本邮件。
实验五FTP客户端程序
1.实验目的
文件传送协议FTP是Internet中广泛使用的服务协议之一,FTP协议是客户/服务器之间进行文件传递的协议。
●理解FTP协议的工作原理
●掌握FTP客户程序的编程方法
●理解在FTP传输过程中建立的两个连接
2.实验内容
利用WinSock编程接口编写FTP客户程序,在用户界面中给出必要的FTP 服务器信息:FTP服务器的IP地址、用户名、口令等,通过FTP协议实现指定文件的上载和下载操作。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
FTP客户程序功能为:
(1)FTP客户程序首先显示用户界面,可以指定FTP服务器的地址、用户名和口令等信息
(2)通过FTP协议接收FTP服务器的当前目录列表,并显示本地和远程目录列表信息
(3)可以实现本地和远程目录的切换
(4)可以实现文件的上载和下载操作
步骤2FTP客户程序开发
用Visual C++编写FTP客户程序,利用WinSock编程接口实现FTP协议通信。FTP客户程序首先显示用户界面,使用户可以指定FTP服务器和用户、口令信息(可以采用匿名方式),点击连接按钮后,向FTP服务器的TCP21号端口建立TCP连接,在控制连接上发送FTP命令,首先获得本地和远程系统的目录列表并显示,可以进行目录切换等操作,指定上、下载的文件建立数据连接进行文件传送。
步骤3编译和执行程序
将FTP客户程序编译、连接成执行程序,运行FTP客户程序。填写校园网的FTP服务器IP和用户、口令信息,进行各种FTP操作(文件上载、下载)。
实验六网络下载程序
1.实验目的
网络下载程序是Internet中广泛使用的软件之一,网络下载程序使用HTTP 协议获得需要下载的Web页面,保存到指定的位置。
●理解HTTP协议的工作原理
●掌握网络下载程序的编程方法
●掌握HTTP请求和响应包的处理方法
2.实验内容
利用WinSock编程接口编写网络下载程序,在用户界面中给出需要下载的链接地址和保存到本地系统的路径和文件名,通过HTTP协议获得指定链接的页面,将HTTP响应中的结果页面保存到本地指定位置。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows,具有Internet连接能力。程序开发环境为Visual C++6.0版本。
4.实验步骤
步骤1需求分析
网络下载程序的功能为:
(1)网络下载程序首先显示用户界面,指定需要下载的链接地址
(2)点击下载按钮后指定保存到本地系统的路径名
(3)通过HTTP协议获得指定链接地址的资源
(4)分析处理HTTP响应包获得响应主体的内容并进行本地保存
(5)网络下载程序不支持多线程和断点续传
步骤2网络下载程序开发
用Visual C++编写网络下载程序,利用WinSock编程接口实现HTTP协议信息资源的下载。网络下载程序首先显示用户界面,使用户可以指定下载资源的链接地址,点击下载按钮后,指定下载文件在本地的保存位置。网络下载程序向资源所在的Web服务器的TCP80号端口建立TCP连接,在建立的连接上发送HTTP 请求,等待接收HTTP响应。收到HTTP响应后分析响应首部,将响应包主体内容保存到本地指定路径。
步骤3编译和执行程序
将网络下载程序编译、连接成执行程序,运行网络下载程序。在用户界面中指定下载的链接地址,指定本地保存路径后开始下载。
实验七WinPcap捕获数据帧程序
1.实验目的
网络数据包捕获工具是进行网络协议分析、故障检测的主要手段,WinPcap 是网络包捕获工具包,可以实现网卡级数据帧的捕获。
●理解以太网数据帧的格式
●掌握WinPcap库的编程方法
●理解网络各层包之间的包涵关系
2.实验内容
利用WinPcap库函数编写网络数据帧(以太网)捕获程序,首先捕获通过本机网卡的数据链路帧,根据以太网帧格式显示不同的字段,也可以进一步分析IP、TCP/UDP上层包格式。
3.实验环境
程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。程序开发环境为Visual C++6.0版本,支持库采用WinPcap。
4.实验步骤
步骤1需求分析
WinPcap捕获数据帧程序功能为:
(1)捕获程序具有捕获本机网卡数据帧的能力,并显示以太帧头各个字段值(2)捕获程序具有进一步分析上层协议数据单元的能力
(3)将网卡设置为混杂模式,以接收网段的数据帧并进行分析
步骤2捕获帧程序开发
用Visual C++编写数据帧捕获程序,利用WinPcap库函数实现网卡数据链路帧的嗅探。数据帧捕获程序首先获取本机网卡的适配器号,将其设置为混杂模式,以接收本网段的所有数据帧,在驱动程序中设置缓冲,定位、初始化设备后,开始捕获数据帧,按照以太帧格式显示各个字段,进一步显示上层协议数据单元的格式。
步骤3编译和执行程序
将WinPcap数据帧捕获程序编译、连接成执行程序,运行数据帧捕获程序。程序循环显示捕获的数据帧和上层协议的帧格式。
计算机网络实验指导书 实验一以太网的组建(2学时) 实验名称:以太网的组建 实验目的: 1、了解实验室布局;认识交换机与路由器的结构与连接方法; 2、掌握简单的局域网组网方法; 3、掌握简单的局域网配置方法。 实验步骤: 1、观察实验室计算机网络的组成 步骤1:观察所在机房的计算机网络的组成,并描述计算机网络的组成。 步骤2:画出机房网络拓扑结构。 步骤3:通过Internet搜索集线器或交换机的结构和连接方法。 2、组建简单的局域网 步骤1:将计算机网卡插入PCI插槽,并安装网卡驱动程序,记录网卡驱动程序名称。 步骤2:制作双绞线(直通线) 步骤3:用双绞线将安装网卡的计算机与交换机相连。 步骤4:将交换机通电 步骤5:网络操作系统配置,每个网卡对应一个本地连接,在本地连接属性中进行局域网基本配置。 3、局域网基本配置 步骤1:选择网上邻居属性,如图1所示。选择本地网卡对应的“本地连接”属性,查看并记录本机安装的网络组件,如图2所示。 图1 网络连接属性图2 网络组件 步骤2:命名计算机,例如,命名为:netuser,如图3所示。并配置TCP/IP,例如将IP地址和子网掩码分别设置为:192.168.0.1 255.255.255.0。
图3 计算机命名图4 配置TCP/IP 步骤3:将同网络其他计算机分别命名,计算机名不能重复。 IP地址分别为:192.168.0.2~192.168.0.254,IP地址也不能重复。 4、使用集线器与交换机组建的以太网 在包跟踪软件中,分别使用集线器和交换机组建如图所示的以太网。各计算机的TCP/IP 配置信息根据下表进行配置:(MAC地址请记录在表格空白处) 使用集线器组建简单的以太网 模拟数据包运行结果:(PC0—>PC2)
计算机网络实验报告 班级:电信0901 学号:U200914332 姓名:王焕 2012.1
实验四:网络协议与Web通信 一、实验目的 1.了解网络协议数据单元的格式 2.分析网络协议工作基本流程 3.深入理解Web应用的通信过程 二、实验内容 1.网络协议数据单元分析 通过wireshark抓取局域网数据包并分析各个层次的协议数据单元内容 (1)以太网帧头 (2)IP分组首部 (3)ARP包 (4)ICMP包(ping) 2.Web原理实验 (1)HTTP协议分析 (2)通过socket编程模拟HTTP协议通信过程 三、实验原理 1.Web通信经过四个步骤: (1)建立连接 (2)客户端发送HTTP REQUEST请求 (3)服务器端接收请求,生成RESPONSE响应 (4)关闭连接 2.HTTP协议 客户端浏览器或其他程序与Web服务器之间的应用层通信协议。一般在Internet 上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。 3.Java网络编程 Java Socket对网络的封装是非常完美的,对于进行网络编程的程序员,使用网络就像使用本地文件系统一样简单。 与其他Socket网络编程有一个明显的区别就是,在服务器和客户机通信建立时就要另外一个ServerSocket 。 它仅仅适用与服务器端,监听指定端口,如果有socket 连接请求,它就答应,并在服务器端产生一个socket 与其对应,那么用这个socket 就可以和客户端进行通信了。 实验原理图如下:
四、实验内容及分析 1.编译、执行参考程序 本次实验提供了两个原始程序(NetServer.java和NetClient.java),它们可以实现一个服务器/客户端请求响应的完整过程。Dos环境下先后编译执行NetServer.java与NetClient.java,即可得到一次完整的客户端向服务器请求并得到响应的完整过程,结果如下: 2.修改、编写实验程序 参考程序模拟了客户端与服务器之间的对话,但由于其之间交互的数据都是我们设定的而不含有http报头信息,因此不能和真正的web服务器与浏览器对话,以下即为
苏州市职业大学 计算机网络与WebGIS实验报告 姓名: 学号: 学院: 班级:
实验一利用HTML制作表单 1.实验目的 了解掌握HTML语言:基础知识、编辑文档、超链接;图像与多媒体、表格、框架和表单 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、记事本 3.实验内容 利用所学HTML语言完成表单制作,界面可参考图1,在制作过程中了解HTML文档的基本格式,尤其是表单标签