广东工业大学计算机网络实验报告.docx
《广东工业大学计算机网络实验报告.docx》由会员分享,可在线阅读,更多相关《广东工业大学计算机网络实验报告.docx(19页珍藏版)》请在冰点文库上搜索。
广东工业大学计算机网络实验报告
计算机网络实验报告
课程计算机网络实验
实验名称1TCP/IP实用程序的使用及SnifferPro软件的使用和分析方法
实验名称2局域网截包分析
实验名称3网络编程基础
专业班级网络工程1班
姓名
学号
指导老师
2011年12月14日
实验一
一、实验目的
●使用Ping实用程序来测试计算机上的TCP/IP配置及测试本计算机与计算机的连接性能,能确保可以在网络上通信;
●使用Hostname实用程序来标识计算机的名称;
●使用Ipconfig实用程序来验证计算机上的TCP/IP配置选项,包括MAC地址、IP地址、子网掩码和缺省网关等多项配置信息;
●考察操作系统为Windows2000的计算机的TCP/IP配置;
●对Sniffer软件的功能和使用进行简单了解,掌握利用该软件解决问题的思路和一些分析方法;
●掌握利用专家分析系统诊断问题;
●掌握实时监控网络活动的方法;
●利用捕获工具,捕获以太网封包,掌握以太网帧的结构及各字段的功能。
二、实验内容和要求
TCP/IP实用程序的使用:
掌握在命令行模式下测试计算机TCP/IP配置及连通性的方法;掌握在命令行模式下获得验证计算机上的TCP/IP配置选项,包括MAC地址、IP地址、子网掩码和缺省网关等多项配置信息的方法。
SnifferPro软件的使用和分析方法:
掌握SnifferPro软件的功能和使用方法,以及利用该软件解决问题的思路和一些分析方法;掌握SnifferPro专家分析系统诊断问题的方法;掌握SnifferPro实时监控网络活动的方法;掌握SnifferPro捕获工具使用方法,并捕获以太网封包,从而掌握分析以太网帧结构及各字段的功能的方法。
三、实验主要仪器设备和材料
安装有SnifferPro软件的联网计算机。
四、实验方法、步骤及结果测试
(一)使用Ping实用程序来测试计算机上的TCP/IP配置
1、登陆到Windows2000中。
2、单击开始,然后将鼠标指针移到程序上,再移到附件上,然后单击命令提示符。
3、在命令提示窗口键入ping127.0.0.1。
问题1:
发送了多少数据包?
接受了多少数据包?
丢失了多少数据包?
答:
发送了4个包,接受了4个包,丢失0个
问题2:
TCP/IP工作正常吗?
答:
PING127.0.0.1成功,所以说明TCP/IP工作正常.
(二)使用Hostname实用程序来获得计算机的名称
4、在命令提示窗口键入hostname。
5、在命令提示窗口键入ping计算机(其中计算机是在步骤4中获得的主机名称)。
问题3:
你的计算机的主机名称是什么?
答:
net77
问题4:
你的计算机的IP地址是什么?
答:
192.168.0.36
(三)使用Ping实用程序测试本计算机与其它计算机的连接性能
6、在命令提示窗口键入”ping其他计算机”(其中其他计算机代表其他同学的计算机主机名称)。
问题5:
你所键入的“其他计算机”的主机名称是什么?
答:
net28
问题6:
你如何知道你和此“其他计算机”可以通讯?
答:
PING成功,即发送ICMP包成功并且接受成功
7、最小化命令提示窗口。
(四)考察计算机上的TCP/IP配置
8、单击开始,然后将鼠标指针移到设置上,再移到网络和拨号连接上,然后右击本地连接。
9、单击属性。
10、单击Internet协议(TCP/IP)。
11、单击属性。
问题7:
你能说出你的计算机是否分配了IP地址?
是如何分配的?
答:
是;自动获取
问题8:
配置IP地址的2种方法是什么?
答:
自动获取和手工分配
12、关闭所有打开的窗口。
(五)使用Ipconfig实用程序验证计算机上的TCP/IP配置选项
13、重新打开命令提示窗口。
14、在命令提示窗口键入ipconfig。
问题9:
能察看你的计算机的IP地址吗?
如果能,是多少?
答:
能;是192.168.0.36
问题10:
显示了什么额外的配置信息?
答:
Ipaddress192.168.0.36
Subnetmask225.225.225.0
Defaultgateway192.168.0.250
Dnsservers202.116.128.1
202.116.128.2
问题11:
能用ipconfig人工设置IP地址吗?
如果能,如何设置?
答:
不能.
15、在命令提示窗口键入ipconfig/all。
问题12:
与步骤14的结果相比较,ipconfig/all显示了什么额外的配置信息?
答:
显示了主机名\节点类型\MAC地址\网卡\DHCP租用
问题13:
你的网卡的MAC地址(physicalAddress)是多少?
答:
00-19-21-76-53-23
问题14:
你的计算机拥有的是哪一类地址?
你的网络ID是多少?
答:
C类地址,网络ID是192.168.0.0
问题15:
缺省网关(DefaultGateway)与你的计算机拥有相同的网络ID吗?
答:
相同
16、关闭所有窗口,从Windows2000注销。
(六)运行Sniffer软件
操作步骤:
单击开始->选择程序->选择Snifferpro->单击Sniffer程序。
一、在进行流量捕获之前首先选择网络适配器,确定从计算机的哪个网络适配器上接收数据。
选择文件->选定设置,请写出网络适配器的名称RealtekRTL8139(A)-basedPCIFastEthernetAdapter#2。
二、请在方框中写出快捷键的名称
三、请在方框中写出报文捕获面板各个按钮的名称
四、捕获过程报文统计
1、在捕获过程中可以通过查看下面面板查看捕获报文的数量和缓冲区的利用率
1、请在方框中写出箭头所指的功能。
五、捕获报文查看
1、Sniffer软件提供了_强大的分析能力和解码_功能
2、解码分析,请在方框中填写每个窗口的含义
3.过滤器的功能_根据物理地址或IP地址和协议选择进行组合筛选
六、设置捕获条件
1、基本的捕获条件有_两_种;
2、链路层捕获,按__源MAC和目的MAC地址__进行捕获,输入方式为十六进制连续输入,假如捕获由你的主机发送到任意一台主机的数据包,则在定义过滤器捕获面板中,地址类型中选择_hardware_,在位置1中输入__源Mac地址_,在位置2中输入_目的Mac地址__
3、IP层捕获,按_源IP和目的IP_进行捕获。
输入方式为点间隔方式,如:
192.168.0.44。
假如捕获由你的主机发送到192.168.0.45的数据包,则在定义过滤器捕获面板中,地址类型中选择_IP_,在位置1中输入_源IP地址_,在位置2中输入_目的IP地址_
七、数据报文解码详解
如上图所示在Sniffer的解码表中分别对每一个层次协议进行解码分析。
链路层对应_DLC_,网络层对应_IP__传输层对应___UDP__应用层对应的是__NETB__等高层协议。
Sniffer可以针对众多协议进行详细结构化解码分析。
并利用树形结构良好的表现出来。
八、以太报文结构
1、请完成下表填写以太网帧结构,第一行填写字段的名称,第二行写出每个字段占用的字节数
DMAC
SMAC
type
DATA/PAD
FCS
6
6
2
46-1500
4
2、请用IP层捕获,捕获由你的主机发送到192.168.0.8的数据包,任意选取某个包为例,写出各个字段的内容。
同步:
101010
目的地址:
192.168.0.8
源地址:
192.168.0.36
协议种类:
ICMP
数据:
(前五个字节和后三个字节的内容)
前五个字节61h,62h,63h,64h,65h后三个字节67h,68h,69h
FCS:
98d0
五、实验心得
通过本次实验,熟悉了SnifferPro网络性能分析软件的使用方法,也明白了网络的工作原理和IP地址和mac地址在网络中的应用,并进一步理解了TCP/IP协议模型。
六、思考题
1.除了本实验所做的基本计算机命令外,还有哪些常用的命令,它们的作用是什么?
答:
arp-a或arp-g--用于查看高速缓存中的所有项目
arp-sIP物理地址可以向ARP高速缓存中人工输入一个静态项目
arp-dIP--使用本命令能够人工删除一个静态项目
netstat-s--本选项能够按照各个协议分别显示其统计数据
netstat-e--本选项用于显示关于以太网的统计数据
netstat-r--本选项可以显示关于路由表的信息
netstat-n--显示所有已建立的有效连接
tracert使用本命令跟踪网络连接
2.除了SnifferPro网络性能分析软件外,还有哪些软件用于网络分析的,他们和SnifferPro相比有哪些优点和缺点?
答:
与Netxray比较,Sniffer支持的协议更丰富,例如PPPOE协议等在Netxray
并不支持,在Sniffer上能够进行快速解码分析。
Netxray不能在Windows2000和WindowsXP上正常运行,SnifferPro4.6可以运行在各种Windows平台上。
Sniffer软件比较大,运行时需要的计算机内存比较大,否则运行比较慢,这也是它与Netxray相比的一个缺点。
3.SnifferPro作为世界上占有率最高的网络性能分析软件,它还有那些高级功能?
答:
报文发送、网络监视功能、数据报文解码、分析网络问题、检修传输故障。
实验二
一、实验目的
通过使用SnifferPro软件捕获网络流量,分析数据报结构,使学生能够更加清楚地掌握网络分层的思想,从感性认识飞跃到理性认识。
再通过捕获各个具体协议的通信数据包,一步一步具体分析其实现步骤,更加具体地掌握协议的实现过程。
二、实验内容和要求
本次实验包括五项实验内容,第一项必做,其他任选两项。
分别是捕获报文基本分析实验、捕获并分析地址识变协议(ARP)、捕获并分析因特网控制信息协议、捕获并分析传输控制协议、捕获并分析用户数据报协议。
1.任意捕获一个数据包,分析其数据链路层格式、网络层格式和传输层格式,加深学生对计算机网络分层概念的理解。
2.地址识变协议(ARP)是LAN环境中最重要的协议之一。
ARP允许你的网络上使用的设备自动将物理(MAC)地址映射为IP地址,因此需要对ARP有很详细的了解,并清楚它是怎样工作的。
3.传输控制协议(TCP)是因特网上最常用的第四层协议,TCP可以保证数据传输的可靠性。
很多因特网服务,比如HTTP、FTP、SMTP和Telnet,都要依靠TCP来传输数据。
另外,很多传统的LAN程序,比如文件传输和SQL也都要使用TCP/IP。
4.用户数据报协议(UDP)是网络上另外一种很常用的第四层协议。
UDP由很多上层协议使用-例如,SNMP、普通文件传输协议(TFTP)和DNS-当DNS请求需要解析时(DNS在进行区域传输时使用TCP)。
所以,要很清楚的理解UDP的重要性。
三、实验主要仪器设备和材料
每人一台联网计算机、SnifferPro软件。
四、实验方法、步骤及结构测试
4.1安装SnifferPro软件
参见参考文献[2]第2章。
使用方法参考附录二。
4.2捕获报文基本分析实验
1.打开SnifferPro程序后,选择Capture(捕获)—Start(开始),或者使用F10键,或者是工具栏上的开始箭头。
2.一小段时间过后,再次进入Capture(捕获)菜单,然后选择Stop(停止)或者按下F10键,还可以使用工具栏。
3.还可以按F9键来执行“停止并显示”的功能,或者可以进入Capture(捕获)菜单,选择“停止并显示”。
4.停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主机表单、协议分布和统计信息。
5.选择解码卷标,可以看到SnifferPro缓冲器中的所有实际“数据”。
分析该卷标结构及其内容。
答:
结构:
分割为上中下三个相连接的窗口,分别用于显示不同信息内容;
内容:
1.最上面得窗口显示的是捕获各帧的数量和主要信息(包括帧编号,帧状态,源地址与目的地址,摘要等信息);2.中间的窗口显示的是所选取帧的协议信息(DLC,IP,UDP及TCP协议等的协议内容);3.最下面得窗口显示的是帧中协议各项内容对应的位置和机器码(默认以ASCII码显示)。
4.3捕获并分析地址识变协议(ARP)
1.选择“捕获”――“定义过滤器”。
2.在“定义过滤器”中,选择“文件”――“新建”。
3.将这个文件命名为ARP,点击OK,然后点击“完成”。
4.现在选择“高级”,从协议列表中选择ARP。
5.点击OK,关闭定义过滤器窗口。
已经定义了过滤器,可以按F10来捕获流量。
6.输入arp-dIP来清除默认网关上的ARP,这个命令中的IP是你的默认网关IP地址,然后Ping你的默认网关。
7.停止捕获并打开代码窗口。
至少会看到2个捕获到的帧(假设你可以连接到默认网关)。
8.分析捕获到的结果(即解释数据包的内容和协议具体实现过程)。
答:
选中ARP数据包如下图,该ARP是由源MAC:
001921757CA1发往目的MAC:
00192176CD76。
捕获到很多个帧其中的两个:
第一个为本机所发的广播帧,第二帧为本机接受到默认网关传回来的帧。
第一个帧:
该帧是一个ARP请求,是一种广播,除了基本帧信息(硬件类型为:
10Mb以太网,协议类型=0800[IP],硬件地址长度:
6bytes,协议地址长度:
4bytes等)之外,主要还有发送方物理地址和协议地址、接收方协议地址,以用于请求接收方的物理地址(这里用0填充)。
第二个帧:
该帧是目标主机接受到ARP请求后的一个应答,主要是把自己的物理地址告知请求端。
4.4捕获并分析传输控制协议
1.进入“捕获”――“定义过滤器”。
在定义过滤器窗口中,点击“文件”――“新建”。
2.在“新建捕获文件”窗口中,确认新文件的名称(TCP)并点击OK,然后点击“完成”。
3.转到“高级”卷标,你会看到系统提供的协议列表。
点击IP协议标题旁边的“+”号,到下面找到TCP,然后选中TCP。
4.点击OK,关闭定义过滤器窗口。
5.按F10开始捕获TCP流量。
6.分析捕获到的结果(即解释数据包的内容和协议具体实现过程)。
答:
下图为一个从192.168.0.49发送到本机的TCP数据包。
由下图分析TCP数据包:
源端口号:
1543;目的端口号:
139;顺序号:
894272343;确认号:
894272344;报头长度:
20;保留位:
未用;编码位:
11(ACK=1,FIN=1);窗口大小:
63174;检验和:
E223。
该TCP数据包是由192.168.0.49发送给本机的一个确认关闭连接的一个数据包。
4.5捕获并分析用户数据报协议
1.进入“捕获”――“定义过滤器”,点击“文件”――“新建”。
在新建文件名称对话框中,确认为UDP,点击OK,然后点击“完成”按钮。
2.在定义过滤器窗口中,选择“高级”卷标。
从协议列表中,打开IP对话框,然后点击UDP选择框。
3.选择OK按钮关闭定义过滤器窗口。
4.按F10开始捕获UDP流量。
5.现在用完整的域名(FQDN)来对主机执行Ping命令。
进入“开始”――“运行”,并输入ping(假设你的电脑上设置了DNS)。
现在按回车键,可以ping这个网站四次。
6.按F9停止并显示捕获结果。
7.分析捕获到的结果(即解释数据包的内容和协议具体实现过程)。
答:
由下图分析从192.168.1.1发送到239.255.255.25的一个UDP数据包。
UDPHeader分析如下:
源端口号:
1900;目的端口号:
1900;长度:
277;检验和:
1071。
由以上信息可知该UDP数据区长度227-8=269。
该数据包是由192.168.1.1的端口1900发给239.255.255.25的端口1900的。
UDP数据包在网络层IP包的数据区里,由IP报头确定目的地址239.255.255.25,然后IP包在通过DLC发送。
五、实验心得
通过本次实验,知道了网络中一些协议(TCP,UDP,ARP,IP)的工作原理,同时也了解了在网络中发送和接收数据的原理方法。
六、思考题
1.为何你的计算机能够捕获目的MAC地址不是你的机器的数据包?
答:
因为同个网段属于同个广播域。
任何主机在这个广播域里发送数据包,都会先以广播的形式发送,即是以广播的形式发送数据包给这个网段上的所有主机,所以任一主机都可以接受并捕获目的MAC地址不是本机MAC的数据包。
2.ARP进程在何时开始起作用?
答:
在发送数据包时,数据包在节点之间的移动由ARP负责将IP地址映射到MAC地址上。
3.FTP是基于TCP的,能够用SnifferPro捕获登录密码吗?
如何保护登录密码?
答:
如果ID和PassWord是以明文传送的话,可以捕获到密码。
保护登录密码则需要保证在网络传送过程中对数据加密。
4.哪些常见的TCP/IP协议使用TCP,哪些协议使用UDP?
答:
TELNET\HTTP\FTP使用TCP。
DNS\TFTP\SNMP使用UDP。
实验三
一、实验目的
通过VC编程环境,了解网络编程的基本思想和步骤。
二、实验内容和要求
1、了解VC的CSocket类进行网络编程的机制。
2、详细阅读附录所提供的“使用CSocket实现的简单网络对话聊天程序”程序代码。
3、自己编写一个基于UDP协议的信息收发程序。
三、实验主要仪器设备和材料
每人一台联网计算机、VisualC++6.0、SnifferPro软件。
四、实验方法、步骤
1、阅读附录提供的例子程序。
2、分别回答下列问题:
1)什么是Windows套接字?
WindowsSocket提供哪些类型的套接字?
答:
Windows套接字(WinSock)是一个定义Windows网络软件应该接入到网络服务的规范。
WindowsSocket提供的套接字类型有:
SOCK_STREAM,SOCK_DGRAM,SOCK_RAW。
2)什么是C/S模式?
答:
C/S(Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。
3)使用WinSocket进行网络编程的时候,在面向连接和无连接两种方式下,客户端和服务器端的套接字调用流程是什么?
答:
面向连接:
1.服务器端调用流程:
建立SOCKET,绑定Socket,监听SOCKET,接受连接返回通信SOCKET,由通信SOCKET进行与客户端进行通信,返回监听。
2.客户端调用流程:
建立SOCKET,连接服务器端(connect),进行通信。
无连接:
1.服务器端调用流程:
建立SOCKET,绑定SOCKET,等待通信。
2.客户端调用流程:
建立SOCKET,向服务器发送UDP数据包进行通信。
4)什么是阻塞模式和非阻塞模式?
在编程的时候有何区别?
答:
Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。
在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。
相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。
3、两人为一组,分别使用VC6.0编写一个基于对话框的使用UDP协议(用户数数据报)的消息发送/接收程序。
注意:
1)如果发送和接收同时在一台计算机上完成,发送方IP和接收方IP可以相同,也可以使用127.0.0.1本机回环地址。
如果在不同计算机上,则接收方IP设定为目标主机的IP。
2)在发送方计算机上同时运行SnifferPro软件,使用过滤器捕获本机发送的数据包。
再筛选出本机发送的UDP数据包,观察是否符合要求。
3)如果上面第2)点已经满足,则在接收方计算机上同时运行SnifferPro软件,使用过滤器捕获本机接收的数据包,再筛选出本机接收的UDP数据包,观察是否与发送方发出的数据包相同。
4)发送方程序界面要求至少安排3个按钮和1个编辑框:
“连接”按钮、“发送”按钮、“关闭”按钮和“发送内容”编辑框。
接收方程序界面要求至少安排2个按钮和1个编辑框:
“开启监听”按钮、“停止监听”按钮和“接收内容”编辑框。
界面布局和其他控件可根据各自需要进行合理安排和设计。
五、实验结果
发送端的程序界面截图如下:
其数据包捕获图如下:
由上图可对发出的UDPHeader分析如下:
源端口号:
1037;目的端口号:
6000;长度:
13;检验和:
CC42;数据长度为:
5;发送内容:
31、34、32、32、33
接收端程序界面截图如下:
其数据包捕获截图如下:
由上图可对接收的UDPHeader分析如下:
源端口号:
1036;目的端口号:
6000;长度:
13;检验和:
CC43;数据长度为:
5;接收内容:
31、34、32、32、33
六、设计总结
通过本次实验,知道了网络编程的基本思想和步骤,也知道了在VC中CSocket类进行网络编程的机制。