19
1 《计算机网络实验》 指导书(V1设计:林亚平 廖鑫 编写:廖鑫、吕方等 湖南大学信息科学与工程学院 2015 3

《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

1

《计算机网络实验》

指导书(V1)

设计:林亚平 廖鑫

编写:廖鑫、吕方等

湖南大学信息科学与工程学院

2015 年 3 月

Page 2: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

2

目 录

一、  实验教学目标 ................................................................................ 3 

二、  实验基本环境 ................................................................................ 3 

三、  实验要求 ........................................................................................ 3 

四、  评分要求 ........................................................................................ 3 

五、  实验项目 ........................................................................................ 4 

实验一、常用网络命令的使用 .................................................... 4 

实验二、应用层和传输层网络协议分析 .................................... 8 

实验三、网络层和链路层网络协议分析 .................................. 13 

实验四、套接字及客户服务器应用程序基础 .......................... 16 

Page 3: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

3

一、 实验教学目标

“计算机网络”是计算机类专业本科生的一门必修的专业基础课程,通过本

课程的教学,使学生对计算机网络从整体上有一个较清晰的了解,了解计算机网

络的基本概念。让学生能使用网络测量工具从工程角度观察和分析因特网协议的

执行过程,并能应用网络编程技术完成应用层协议的设计,达到提高学生分析实

际问题和动手能力的目的。 主要包括以下几个方面的训练: 1)熟悉常用网络命令和网络抓包工具:熟悉 ipconfig、ping、netstat、tracert、

telent 等命令的使用,了解真实环境下的网络通信过程;Wireshark 实验

工具安装。 2)分析网络各层协议的具体实现:掌握 Wireshark 工具使用方法,对因特网

应用层、传输层、网络层和链路层相关协议执行过程进行观察和分析,进

一步理解网络的具体实现; 3)SOCKET 编程训练:设计并编写代码实现基于 UDP 协议的套接字通信项

目,掌握 SOCKET 编程要领。

二、 实验基本环境

PC、Windows 操作系统、Wireshark 、MicroSoft Visual Studio 6.0 集成开发

环境、JDK。

三、 实验要求

独立完成,能够根据实验要求完成必做过程,包括学习使用相关软件、编写

相应算法、程序、上机调试、配置服务器等工作。并纪录实验中出现的相关数据

和现象。

四、 实验评分

课堂实验当堂检查并验收;课后实验周期较长,采取在学期初布置,期末验

收的方法。实验成绩占总课程成绩的 20%。

Page 4: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

4

五、 实验项目

实验一、常用网络命令的使用

目的:

熟悉 ping、ipconfig、netstat、tracert、arp 等命令的使用;

了解真实环境下的网络通信过程。

实验步骤:

1. ping 命令

ping 是一个测试程序,如果 ping 运行正确,你大体上就可以排除网络访问层、网卡、

modem 的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。

基本用法: Ping IP 地址,如下:

使用 ping 命令来查找问题所在或检验网络运行情况的典型次序:

ping 127.0.0.1

ping 本机 ip (断掉网线后结果?)

ping 局域网内其他 ip

ping 网关 ip

ping 远程 ip

Ping 域名

ping ip -t——连续对 ip 地址执行 ping 命令,直到被用户以 ctrl+c 中断。

ping ip -l 2000——指定 ping 命令中的数据长度为 2000 字节,而不是缺省的 32 字节。

Page 5: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

5

ping ip -n——执行特定次数的 ping 命令。

2. ipconfig 命令

该命令用于检查网络 TCP/IP 配置的信息,如 IP 地址、MAC 地址、DNS 等。

ipconfig、ipconfig /all、ipconfig /renew、ipconfig /release 等

3. netstat 命令

该命令用户显示各协议相关的统计及数据,一般用于检查本地主机的各个端口的网络连

接情况。

Page 6: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

6

不同种类:

netstat –r 显示网络各种通信协议的状态

netstat –E 显示以太网层的数据统计情况

netstat –A 显示网络中有效连接的信息

netstat –N 显示所有已经建立的连接

4. tracert 命令

该命令用于检查由本地主机到目标主机所经历的路由信息。

5. arp 命令

arp 命令显示和修改地址解析协议(ARP)缓存中的项目。

Page 7: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

7

6. wireshark 下载安装

软件下载地址:https://www.wireshark.org/download.html

Wireshark 使用教程:https://www.wireshark.org/docs/

安装流程:

1. 下载时选择与实验机器型号对应的版本

2. 打开 wireshark 安装程序

3. 按照默认设置完成安装

Page 8: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

8

实验二、应用层和传输层网络协议分析

实验使用 Wireshark 工具对网络数据包进行抓取,并针对应用层和传输层封装的网络

封包进行详细分析,通过实践观察加深对应用层 HTTP 协议以及传输层 TCP 协议具体

实现过程的理解。

目的:

1、理解和掌握 Wireshark 等工具的使用方法; 2、利用 Wireshark 工具对应用层 HTTP 协议和传输层 TCP 协议进行分析。

背景知识和准备:

HTTP 协议以及 TCP 协议的理论知识

I.了解 Wireshark 工具的工作原理及使用方法

参考文档: Wireshark_Intro_v6.0.pdf

II.对 HTTP 协议进行分析

概述:

在这个实验中,我们将探讨 HTTP 协议的几个方面:基本/响应交互,HTTP 消息格式,

检索大型 HTML 文件,检索 HTML 文件嵌入对象,HTTP 身份验证和安全。

过程和细节:

1. 基本的 HTTP 请求/响应:

a. 启动 Web 浏览器;

b. 启动 Wireshark 的数据包嗅探器,然后输入“http”(不带引号);

c. 稍等片刻,然后开始捕获 Wireshark 的数据包;

d. 在浏览器输入以下网址;

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html

Page 9: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

9

e. 停止 Wireshark 捕获数据包,wireshark 获取数据如下图:

2. HTTP 条件请求/响应(file2)

a. 启动网页浏览器,并确保浏览器的缓存清零;

b. 启动 Wireshark 的数据包嗅探器;

c. 输入以下网址到浏览器

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html

d. 再次快速输入相同的 URL 到您的浏览器(或只需选择浏览器上的刷新按钮):

e. 停止 Wireshark 的数据包捕获,并在显示过滤器规格窗口输入“http”。

3. 检索长文档(file3):

a. 启动 Web 浏览器,并确保浏览器的缓存清零;

b. 启动 Wireshark 的数据包嗅探器;

c. 输入以下网址到浏览器

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html

d. 停止 Wireshark 的数据包捕获,并在显示过滤器规格窗口输入“http”,所以只捕获

HTTP 信息将被显示出来。

4. 嵌入对像的 HTML 文档(file4):

a. 启动网页浏览器,并确保浏览器的缓存清零;

b. 启动 Wireshark 的数据包嗅探器;

c. 输入以下网址到浏览器

Page 10: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

10

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html

d. 停止 Wireshark 捕获数据包,并在显示过滤器规格窗口输入“http”,以至于只显示

捕获的 HTTP 信息。

5. HTTP 认证(file5)

a. 确保浏览器的缓存清零,并关闭浏览器。然后,启动浏览器;

b. 启动 Wireshark 的数据包嗅探器;

c. 输入以下网址到浏览器:

http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html 在弹

出框键入要求的用户名和密码。用户名是“wireshark-students”,密码为“network”;

d. 停止 Wireshark 的数据包捕获,并在显示过滤器窗口输入“http”,确保只有捕获的

HTTP 消息在分组列表窗口显示。

III.对 TCP 协议进行分析

概述:

通过与远程服务器之间发送 150KB 的文件来分析 TCP 数据包的发送和接收。研究内容

包括 TCP 利用序列号和确认号来提供的可靠数据传输;TCP 拥塞控制算法中的慢启动和拥

塞避免;TCP 协议的流控制策略,如何建立 TCP 连接以及 TCP 连接的性能(吞吐量和往返

时间)。

过程和细节:

1. 抓取传输到远程服务器的 TCP 数据包:

a. 打开你的 web 浏览器,进入 http://gaia.cs.umass.edu/wireshark-labs/alice.txt,复制这

篇文章 Alice in Wonderland 到你的电脑。

b. 接下来访问 http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html 如下图:

Page 11: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

11

c. 现在开始网络封包分析和数据包捕获.(Capture->Start)。然后在网络封包分析和数据

包捕获选项页面点击“OK”。

d. 返回你的浏览器,点击“Upload alice.txt file”按钮来更新文件到服务器。一旦这个文

件被更新,将会在窗口弹出一个提示。

e. 停止网络封包分析和数据捕获。你的网络封包分析窗口应该像下面一样。

2. 分析建立 TCP 连接的过程。

3. 根据抓取的数据结果,分析 TCP 的基本结构和内容。

4. TCP 拥塞控制分析:

a. 在网络封包分析的“listing of captured-packets”窗口中选一个 TCP 段,然后,

Page 12: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

12

Statistics->TCP Stream Graph-> Time-Sequence-Graph(Stevens)

b. 可以看到一个类似下面的情形

c. 使用 Time-Sequence-Graph(Stevens)绘图工具查看 TCP 数据段的时序图,找出

TCP 慢启动的开始和结束以及拥塞避免阶段。

Page 13: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

13

实验三、网络层和链路层网络协议分析

本实验通过执行 traceroute 程序,探究 IP 协议,实现对 IP 数据报发送和接收流程的追

踪,研究分析 IP 首部各字段中的内容,了解 IP 分片的细节;分析了 Ethernet 协议以及 ARP

协议。

目的:

1、 利用 Wireshark 等工具对网络层和链路层网络协议进行分析。 2、 研究 Ethernet 协议及 ARP 协议具体实现。

背景知识和准备:

熟悉 IP 数据报首部各字段的含义,掌握 Ethernet 协议以及 ARP 的工作原理

I.IP 协议分析

概述:

利用 Wireshark 工具抓取网络数据,分析 IP 数据报中各个字段的内容,分析 IP 数据报

的分片。

过程与细节:

1. 抓取数据包:

a. 启动 Wireshark 开始抓包(Capture->Start);

b. 启动 pingplotter,在“Address to Trace Window” 框中输入目的地址,将“# of times

to Trace” 字 段 设 置 为 3 , 报 文 字 段 大 小 可 在 菜 单 ”Edit->Advanced

Options->Packet Options”中改变,初始值设为 56 字节;然后点击 Trace 按钮,

弹出如下图所示的 pingplotter 窗口;

Page 14: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

14

c. 等 pingplotter 停止后,依次点击 Edit->Advanced Options->Packet Options ,在

Packet Size 框中输入 2000,再依次点击 OK->Resume 按钮;

d. 以同样的方式将数据包大小设为 3500 字节;

e. 停止抓包。

2. 分析抓取的数据包并回答相关问题;

3. IP 分片:

a. 单击 Time 栏,按时间先后顺序排列数据报,找到在 pingplotter 中将分组大小

改为 2000 字节后的第一个 ICMP Echo Request 报文;

b. 分析 IP 数据报分片信息;

II.Ethernet&ARP 协议分析

概述:

抓取并分析 Ethernet 数据帧的内容,观察 ARP 协议在现实网络中如何工作。

过程与细节:

1. 抓取 Ethernet 数据帧并进行分析:

a. 清空浏览器的缓存,启动 Wireshark 程序;

b. 键入 http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html ;

c. 停止 Wireshark 程序,选择显示 IP 协议以下的协议,如下图;

Page 15: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

15

d. 分析包含了 Http GET 数据的 Ethernet frame 的内容;

2. ARP 协议分析

a. Windows 操作系统进入 CMD 下,使用 ARP 命令,分析 ARPcache 内容;

b. MS-DOS 下键入 arp-d *命令,清除 ARPcache 内容,清除浏览器缓存;

c. 打开 Wireshark,打开浏览器;

d. 键入 http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-lab-file3.html;

e. 停止 Wireshark,更改 Wireshark 的“listing of captured packets”窗口;

Page 16: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

16

实验四、套接字及客户服务器应用程序基础

本次实验要求自己动手实现一个能够在局域网中进行点对点聊天的实用程序。

目的:

1.熟悉Visual C++的基本操作。

2..基本了解基于对话框的windows应用程序的编写过程。

3.实现UDP套接字编程(1人1组)。

基础知识和准备:

参考实验《套接字及客户/服务器应用程序基础》,Winsock编程基础

过程和细节

1. 建立MFC工程

Page 17: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

17

2. 添加控件(过程略)

3. Scoket编程

Page 18: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

18

Page 19: 《计算机网络实验》 - hnu.edu.cnkczxsp.hnu.edu.cn/upload/20150323130742462.pdf · 2015-03-23 · 熟悉ping、ipconfig、netstat、tracert、arp 等命令的使用; 了解真实环境下的网络通信过程。

19

4.编程完成任务,并进行实验演示。