福建农林大学金山学院
信息工程类
课程实习报告
20##年 6月 16日
目 录
1. 实习的目的和任务... - 1 -
2. 实习要求... - 1 -
3. 实习地点... - 1 -
4. 主要仪器设备(实验用的软硬件环境)... - 2 -
5. 实习内容... - 2 -
5.1 ARP协议... - 2 -
5.2 ICMP协议... - 2 -
5.3 TCP协议... - 3 -
5.4 HTTP协议... - 4 -
5.5 DNS协议... - 4 -
5.6 DHCP协议... - 5 -
6. 问题讨论与分析... - 5 -
7. 结束语... - 5 -
参考文献... - 5 -
《计算机网络》课程实习
--协议数据包的捕获与分析
1. 实习的目的和任务
通过计算机网络课程的学习,学生基本掌握了计算机网络的基础理论知识,但是学生对于计算机网络的理解不够深入。设置本课程设计,通过让学生对网络协议数据包的分析,掌握在TCP/IP体系结构中,各个层次上网络PDU的实际组成,深入理解网络协议的组成,对网络中传送数据的过程有更深入的认识,同时培养学生一定的自学能力和独立分析问题、解决问题的能力。
2. 实习要求
(1)捕获APR请求、应答数据包,分析其组成特征;弄清楚ARP协议的作用,对LAN内、LAN之间,APR是如何工作的?APR缓冲的内容如何保存与其作用?请求与应答包的区别。
(2)捕获ICMP数据包,分析研究之;弄清楚ICMP数据包的分类、作用,捕捉Ping命令数据包,如何构成ICMP协议包,请示与应答包的区别,怎样传输的。
(3)捕获TCP数据包并分析;捕获一对通信的TCP连接、数据传送、释放的整个过程,分析其三次握手连接、四次握手释放的会话过程中每一步通信的参数传送,以及可靠传输的实现。
(4)捕获HTTP、DNS数据包,分析其构成;捕获本机浏览外部某一网站时的DNS、HTTP数据包,取DNS、HTTP典型数据包各一个,列出其应用层、传输层、IP层、数据链路层上各层上数据包相应参数,首部内容,并对感兴趣的部分进行深入分析。
(5)捕获DHCP数据包,分析其构成;本机设置为自动获取IP地址,捕获本机的DHCP数据包,列出数据包包含的内容,并对其构成进行分析,检查数据包中是否包含本机需要的数据。
3. 实习地点
实验1号楼607。
4. 主要仪器设备(实验用的软硬件环境)
5. 实习内容
5.1 ARP协议
1、工作原理
在以太网中,链路层数据帧是以48为的MAC地址传输的,而互联网的IP分组在网际层是以32位的IP地址传输的。IP分组通过网络接口层到达一个LAN时,由与LAN相连接的路由器根据目的IP地址找出目的主机的MAC地址,然后按此MAC地址将数据帧递交给目的主机。
ARP协议的功能是:由目的IP地址找出目的MAC地址。当本机ARP缓存中有目的IP与目的MAC对应项时,直接利用;没有时则以广播的方式发送ARP请求,LAN中地所有主机都会接收到这个请求数据包。如果一个主机的IP地址和ARP请求中的目的IP地址相同的,该主机会对这个请求数据包做出ARP应答,这时,双方的主机的ARP缓存中各会增加一条对方的IP地址与MAC地址的映射表项。
2、具体步骤
(1)打开抓包软件
(2)设置过滤条件
(3)打开doc命令窗口输入“ping+本机的IP地址”
(4)捕捉到并分析ARP数据包
打开网页
5.2 ICMP协议
1、工作原理
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
2、具体步骤
(1)监听准备
运行WireShark软件,选择capture---options,在capture filter文本框中输入icmp,点击start开始监听。
(2)运行命令tracert
打开命令行程序,输入命令:tracert www.qq.com,观察返回信息。并且可以发现WireShark中收集了一连串记录。
保存监听记录
(3)分析监听结果
利用监听结果,分析ICMP超时差错报告报文:
l 选择一条“Time to live exceeded”记录,分析ICMP超时差错报告报文的格式;
l 选择一条“Time to live exceeded”记录,其中的两个IP首部是一样的吗?为什么?;
l 针对“Echo(ping) request”记录,观察每个IP数据报的初始TTL值及数据部分内容;
l 记录源主机到目的主机所经过的路径及花费的时间。
5.3 TCP协议
1、工作原理
TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。
Tcp连接过程分析
TCP报文在发送前双方主机要先建立双向连接 与确认,以保证无差不丢失、不重复的按序到达。这中连接是“点——点”的,面向字节流的全双工通信。
第一步:主机1发起连接请求;
第二部:主机2确认主机1的连接请求,建立正向连接,同时发出对主机2的反向连接请求。
第三部:主机1响应主机2的请求,建立反向连接。
双方连接建立后,通信双方进行数据通信。
数据通信结束后。TCP释放连接经过四个步骤:
第一步:主机2对主机1发出释放请求,结束本次数据传输。
第二步:主机1确认主机2释放反向连接,主机2不能现主机1发送数据;
第三步:主机1对主机2发出释放请求;
第四步:主机2确认主机1的请求,释放正向连接;主机1不能向主机2发送数据;
数据通信过程全部结束。
2、具体步骤
(1)打开抓包软件
(2)随意打开一个网页
(3)捕捉到并分析TCP数据包分析数据包
5.4 HTTP协议
1、工作原理
HTTP是超文本传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行。
2、实验步骤
HTTP的捕捉方式与TCP的捕捉类同,请完善步骤。
5.5 DNS协议
1、工作原理
DNS,全称Domain Name System,即域名解析系统。DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。
在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
2、具体步骤
(1)打开抓包软件
(2)打开“运行”输入“nslookup”程序,随便输入一个网址让其解析其域名
(3)捕捉并分析DNS数据包
5.6 DHCP协议
1、工作原理
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。
当 DHCP 客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。
2、具体步骤
(1)打开抓包软件
(2)打开“运行”输入“ipconfig/release”断开网络,然后输入“ipconfig/renew”重连网络申请配置IP。
(3)捕捉并分析DHCP数据包
6. 问题讨论与分析
7. 结束语
参考文献
1、 肖洪生 郑苑丹《计算机网络实验教程》华南理工大学出版社,2010.5
2、 http://bbs.51cto.com/thread-707873-1.html
3、 http://hi.baidu.com/honeyhacker/blog/item/42f9bfdd6ff351aacc1166a1.html
福建农林大学金山学院信息工程类
课程实习报告结果评定
第二篇:实验七-用协议分析工具EtherPeek捕获TCP、UDP数据包并分析
实验七-用协议分析工具EtherPeek捕获TCP、UDP数据包并分析 实验目的:熟练掌握协议分析工具的使用
掌握TCP/UDP数据的头部信息的含义
实验环境:学生机、Boson Netsim。
实验内容与步骤:
实验内容
1.捕获并分析传输控制协议。很多因特网服务,比如HTTP、FTP、SMTP和Telnet,都要依靠TCP来传输数据。
2.捕获并分析用户数据报协议。UDP由很多上层协议使用,例如普通文件传输协议(TFTP)和DNS。
实验步骤
1 启动软件
安装和启动EtherPeek
2 捕获报文基本步骤
(1) 打开程序后,选择Capture(捕获)—Start(开始),或者是工具栏上的开(2) 数据传输实现后,再次进入Capture(捕获)菜单,然后选择Stop(停止)(3)进入Capture(捕获)菜单,选择“停止并显示”。 (4) 停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、(5) 选择解码卷标,可以看到缓冲器中的所有实际“数据”。分析该卷标始箭头。 或者使用工具栏。 矩阵、主机表单、协议分布和统计信息。 结构及其内容。
3捕获并分析传输控制协议
(1)进入“捕获”,“定义过滤器”。在定义过滤器窗口中,点击“文件”,“新 (2) 转到“高级”卷标,点击IP协议标题旁边的“+”号,到下面找到建”。 TCP,然后选中TCP。
(3)点击OK,关闭定义过滤器窗口。 (4)按F10开始捕获TCP流量。 (5)分析捕获到的结果(即解释数据包的内容和协议具体实现过程)。
4、捕获HTTP协议使用下层TCP协议通过三次握手建立连接的数据包,第1个数据包的长度为 个字节。第2个数据包的长度为 个字节。第3个数据包的长度为 个字节。
下面先对第一个TCP包进行数据分析。(分别对三个数据包进行以下的分析,即重复三次)
第一行(Source port):2字节,源端口号 。
第二行(Destination port):2字节,目标端口号 。
第三行(Initial Sequence number):4字节,表示发送数据包的排序序列: 。
第四行(Next expected seq number):表示希望接收数据包的排序序列: 。
第五行(Date offset):1字节,用来说明数据包的大小 。
第六行(Reserved Bit):保留空间,以作未来用。
第七至第十三行(Flags):6字节,标志位,有控制功能。分别为URG,紧急指针为 ;ACK,确认指针为 ;PUSH,不用等待缓冲区装满而直接把报文交给应用层为 ;RST,复位指针为 ;SYN,同步信号为 ;FIN,完成或释放指针为
第十四行(Windows):2字节,发送方希望被接受的数据大小。
第十五行(Checksum):2字节,是根据报头和数据字段计算出的校验和,一定由发送端计算和存储的。校验和为 。
第十六行(Urgent pointer):2字节,紧急指针,告知紧急资料所在的位置。
5、捕获并分析用户数据报协议
(1) 进入“捕获”,“定义过滤器”。 (2) 在定义过滤器窗口中,选择“高级”卷标。从协议列表中,打开IP(3)选择OK按钮关闭定义过滤器窗口。 (4)按F10开始捕获UDP流量。 (5)现在用完整的域名来对主机执行Ping 命令。进入“开始”,“运行”,(6)停止并显示捕获结果。 (7)分析捕获到的结果。
1 对话框,然后点击UDP选择框。 并输入ping 。现在按回车键,可以ping这个网站四次。
完成以下内容的填写。
第一行(Source port):2字节,为发送进程的端口号: 第二行(Destination port):2字节,为接收进程的端口号 第三行(length):2字节,说明UDP数据报的总长度,包括报头和数据域 。
第四行(Checksum):2字节,校验和。
6、实验总结
2