TCPIP实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCP/IP协议分析与编程实践实验提要
本学期实验课程为24学时,必做实验6个,具体内容如下介绍。除实验5要求采用winpcap,其他实验不限定实现的编程语言和平台。
实验1-1 系统时间同步程序
要求:(1)TCP
(2)C/S
摘要:设计简单的客户/服务器程序实现客户系统时间和服务器系统时间同步。
具体:
客户:(1)客户创建流套接字,向服务器发起TCP连接。
(2)连接创建成功后,接收服务器返回的时间,更新客户系统时间。
(3)断开与服务器的连接。
服务器:(1)服务器创建监听套接字,监听客户TCP连接请求。
(2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。
(3)获取系统时间,通过连接套接字返回给客户。
实验1-2 系统时间同步程序
要求:(1)UDP
(2)C/S
摘要:设计简单的客户/服务器程序实现客户系统时间和服务器系统时间同步。
具体:
客户:(1)客户创建数据报套接字,通过该套接字向服务器发出”time”命令获取服务器系统时间。
(2)接收服务器返回的时间,更新客户系统时间。
(3)断开与服务器的连接。
服务器:(1)服务器创建数据报套接字,等待接收客户数据。
(2)接收客户发来的“time”命令,获取系统时间,通过套接字返回给客户。实验2 聊天程序设计
要求:(1)TCP/UDP
(2)C/S
摘要:设计简单的客户/服务器程序实现客户和服务器相互收发数据直到一端输入“end”结束。
具体:
客户:(1)客户创建流套接字,向服务器发起TCP连接。(或是客户创建数据报套接字)
(2)连接创建成功后,通过套接字向服务器持续发送或是接收数据。
(3)输入或是收到命令”end”,结束收发数据,并断开与服务器的连接。
服务器:(1)服务器创建监听套接字,监听客户TCP连接请求。(或是创建数据报套接字)(2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。
(3)通过套接字与客户持续发送或是接收数据。
(4)输入或是收到”end“命令,结束与该客户的收发数据,断开连接。
实验3 TCP和UDP套接字综合应用
要求:(1)TCP、UDP
(2)C/S
(3)多线程编程
摘要:设计简单的客户/服务器,服务器实现并发同时响应客户的UDP通信要求,也能响应客户端发过来的TCP通信要求。
TCP客户:
(1)客户创建流套接字,向服务器发起TCP连接。
(2)连接创建成功后,通过套接字向服务器持续发送或是接收数据。
(3)输入或是收到命令”end”,结束收发数据,并断开与服务器的连接。
UDP客户:
(1)客户创建数据报套接字,通过该套接字向服务器发出”time”命令获取服务器系统时间。
(2)接收服务器返回的时间,更新客户系统时间。
(3)断开与服务器的连接。
服务器:
针对TCP客户,提供的服务如下:
(1)服务器创建监听套接字,监听客户TCP连接请求。
(2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。
(3)通过套接字与客户持续发送或是接收数据。
(4)输入或是收到”end“命令,结束与该客户的收发数据,断开连接。
针对UDP客户,提供的服务如下:
(1)服务器创建数据报套接字,等待接收客户数据。
(2)接收客户发来的“time”命令,获取系统时间,通过套接字返回给客户。
实验4 Web服务器
要求:(1)TCP
(2)C/S
(3)http
摘要:设计一个简单的web服务器,它仅能处理一个请求。
具体:
Web服务器:
(1)当一个客户(浏览器,输入URL:http://127.0.0.1/index.html)连接时创建一个连接套接字;
(2)从连接套接字接收http请求报文。
(3)解释该请求以确定所请求的文件(解析文件名);
(4)从服务器的文件系统获得请求的文件。
(5)创建一个由请求的文件组成的http响应报文。(报文包含状态行+实体体)。
(6)经TCP连接想请求的浏览器发送响应。如果浏览器请求的文件不在服务器,服务器返回“404 Not Found”差错报文。
注意:1)如果80端口已经被其他进程占用,服务器端口改为5050。则浏览器输入的URL:http://127.0.0.1:5050/index.html
实验5 监控IP包流量
要求:(1)IP数据报格式,协议栈数据的封装和解封。
(2)winpcap
摘要:设计程序实现IP数据报的捕获和统计分析。
具体:设计程序简单实现监控本地网络中的IP流量,捕获一段时间内以本地为源地址或是目的地址的IP数据报(不包括广播形式的发出的数据报),并对捕获的IP数据报进行分析和统计,列出本机与其他主机之间不同协议类型IP数据报的数量。统计信息如下表:
源地址目的地址协议类型数据报数量
192.168.1.3 202.113.13.168 TCP 10
202.113.13.168 192.168.1.3 UDP 9
192.168.1.3 202.113.13.188 UDP 3
192.168.1.1 192.168.1.3 ICMP 4
... ... ... ...
实验6 IP地址的合法性及归属子网判断
要求:(1)CIDR,IP地址格式
摘要:设计一个简单程序判断输入的IP地址和CIDR地址块,判断两者是否合法,若合法判断该IP是否属于该地址块;否则输出错误信息。
例如:IP:202.13.56.128
CIDR:202.13.56.1/24
IP属于该CIDR地址块。
IP:202.13.56..
CIDR:202.13.56.1/24
IP格式有误。
IP:202.13.57.128
CIDR:202.13.56.1/24
IP不属于该CIDR地址块