
实验1 网络协议分析Ethereal
一、实验目的
(1)学会正确安装和配置网络协议分析软件Ethereal;
(2)掌握使用Ethereal分析各种网络协议的技能,加深对协议格式、协议层次和协议交互过程的理解。
二、实验环境
(1)运行Windows 2000/2003 Server/XP操作系统的PC一台;
(2)每台PC具有一块以太网卡,通过双绞线与局域网相连;
(3)Ethereal程序(可以从网上下载)。
三、实验步骤
(1)安装网络协议分析仪
1)安装winPcap。
注意,网络协议分析软件Ethereal的运行需要软件winPcap(wpcap.dll)的支持,应当在执行Ethereal前安装WinPcaP。
2)安装Ethereal。
(2)使用Ethereal分析协议
1)启动系统。点击“Ethereal”程序组中的“Ethereal"图标,将会出现如图1-1所示的系统操作界面。
图1-1 Ethereal 系统主界面
2)分组俘获。点击“Capture/Start’’菜单,出现图1-2所示的界面。在“Interface” (接口)框的下拉列表中选择一个适当的接口项,其余项可暂时保持默认配置。然后,点击“OK”按钮,系统开始俘获网络分组。当按“stop” (停止)按钮时,系统停止俘获分组并将已经俘获明分组信息装载在分析系统中。
图1-2 俘获分组配置界面
3)协议分析。如图1-3所示,在上部的窗口中,有帧编号(No.)、时间(Time)、源地址(Source)、目的地址(Destination)、协议(Protocol)和信息(Info)等列,各列下方依次排列着俘获的分组。中部的窗口给出选中的某帧的详细内容。下部窗口中是与中部窗口对应的该协议帧某字段的十六进制数值内容。
图1-3 协议分析界面
可以将俘获的帧与网络教材中的ARP、UDP、ICMP、SNMP等协议帧格式进行对照,并分析其中的信息。
四、实验结果
按照以上步骤,捕获若干数据帧,分析捕获的ARP帧与HTTP帧如下:
ARP帧捕获如下:
ARP帧即Address Resolution Protocol,为TCP/IP协议簇中的地址解析协议。ARP协议负责将32bit的IP地址转换成以太网的48bit地址,即主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
两台主机进行通信时,发送机A首先通过网络掩码对比,确认出主机B是否在自己同一网段内,如在,则检查自己ARP缓存中是否与主机B的IP地址对应的MAC地址。自己ARP缓存中没有时,向局域网广播地址发送ARP请求包询问。
从顶部试图中看出,源地址为:192.168.0.33,主机向局域网广播通信的方式(Broadcast)进行地址发送:“who has 192.168.0.1? Tell 192.168.0.33”的信息,说明本主机ARP缓存中没有目标地址为192.168.0.1的物理地址,正在向局域网中询问。
下面解析ARP帧中各个字段的含义:
Frame 2(42 Bytes on wire, 42 Bytes captured)
实验2 理解A R P协议
一、实验目的
(1)深入理解ARP(地址解析协议)的工作原理和重要作用;
(2)能够使用ARP命令对ARP选路表(下文简称ARP表)进行简单操作。
二、实验环境
(1)运行Windows 2000/2003 Server/XP操作系统的PC一台;
(2)每台PC具有一块以太网卡,通过双绞线与局域网相连;
(3)每台PC运行程序协议分析仪Ethereal。
三、实验步骤
(1)使用ARP命令
打开“命令提示符”界面,键入“arp -a”指令查看本机ARP表中的内容, 如果20分钟内没有其他访问网络的操作,ARP表会自动清空(如图2-2所示)。
如果不想等待20分钟,可使用“arp -d"命令主动清空ARP表的内容。此时再执行“arp -a"命令,会发现ARP表已经清空(见图2-3)。
我们还可以使用“arp -s"命令手工设置ARP表表项,如“arp -s 169 .254. 112 .34 00 – cd-0d-33-00- 34”(如图2-4所示)。
(2)分析ARP协议工作过程
具体操作步骤:
1)在实验单元中选择本机,显示 ARP表中的所有项。
2)清除ARP表中的所有项。
(3)用ARP命令查找IP地址冲突主机
若网络上有两台或多台主机设置了相同的IP地址,那么主机的屏幕上会频繁出现IP 地址冲突的提示,这将严重影响网络工作秩序。如果能同时观察到这些主机,那么通过修改其一”一台主机的IP地址即可解决问题。但是如果我们仅能观察到其中的一台PC提示 “IP地址如192. 9. 201. 111冲突”,那么应如何确定是哪两台主机设置了相同的IP地址呢?
首先,我们将该报警主机的IP地址修改为一个未用地址。其次,在该机命令提示符界面输入“ping 192 .9.201.111”,确定该主机是否还在本网中运行,如果有响应,ARP协议就会使其留下痕迹。接下来,执行"arp –a”命令,显示本主机内存中IP地址与MAC:地址对应记录,就可以发现哪台主机具有IP地址192. 9. 20l. 111了(网络管理员通常应当掌握本网中每台主机的网卡MAC地址)。
(4)分析ARP协议的基本工作过程
我们可以用Ethereal来分析主机间通过通信生成和更新ARP表的过程,分析主机问是如何利用ARP协议完成IP地址与MAC地址的映射,从而完成局域网内的通信的。
四、实验结果与分析
(1)使用ARP命令及分析
通过“程序附件命令提示符”打开窗口,键入“arp –a”,看到本机ARP缓存中暂存的数据,如图所示(图中亦键入arp –d,arp –a,arp –s):
通过观察,共有两组数据,一组为本机IP与其相对应的MAC地址,另一组为本局域网内其他主机的IP和对应的MAC,即如果此时需要转换出以上两组数据之外的数据时,需要通过广播通信的方式进行询问并等待应答。在一开始 arp缓存中存储的都为动态数据(dynanic)。
通过输入“arp –d”,清除ARP表中的内容。此时继续输入arp –a,发现此时“ARP”表中显示“No ARP Entries Found”,即ARP表中内容为空。
通过键入arp –s手工设置ARP表中的内容,如图所示,将IP与MAC地址设置为“169.211.28.33 00-03-03-cd-33-21”,继续输入arp –a查看ARP表中的内容,发现此时ARP表中只存在静态的IP与MAC值,且为刚才手动修改的内容。
(2)用ARP命令查找IP地址冲突主机
若网络上有两台或多台主机设置了相同的IP地址,那么主机的屏幕上会频繁出现IP 地址冲突的提示,这将严重影响网络工作秩序。如将本局域网内其他主机的IP修改本主机的IP就会在本主机右下角显示冲突信息:
首先,我们将本主机(原IP地址为192 .168.0.33)的IP地址修改为一个未用地址192 .9.201.111。其次,在该机命令提示符界面输入“ping 192 .168.0.33”,确定与主机冲突的主机是否还在本局域网中运行,响应时ARP协议就会使其留下痕迹。执行"arp –a”命令,显示该主机内存中IP地址与MAC,通过查看其MAC地址,就知道那一台主机正使用与本主机相同的IP地址了。
当自己主机的IP地址没有修改时,而其他主机将他的IP修改为与本主机相同的IP,此时再使用“ping”命令,则依然有应答,如图所示:
(3)分析ARP协议的基本工作过程
ARP协议负责将32bit的IP地址转换成以太网的48bit地址,即主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
两台主机进行通信时,发送机A首先通过网络掩码对比,确认出主机B是否在自己同一网段内,如在,则检查自己ARP缓存中是否与主机B的IP地址对应的MAC地址。自己ARP缓存中没有时,向局域网广播地址发送ARP请求包询问。
使用Ethereal来分析主机间通过通信生成和更新ARP表的过程,捕获ARP帧后,观察顶部窗口如图:
其中ARP帧通过广播通信的方式进行询问:“who has 192.168.0.1? Tell 192.168.0.”,说明IP为“192.168.0.”的主机ARP缓存中没有目标地址为192.168.0.1的物理地址,正在向局域网中询问。而当“192.168.0.”的主机ARP缓存中已经存在此物理地址时则不需发出此广播信息。
五、思考题
1、根据ARP协议的机制考虑其是否存在地址欺骗的安全隐患?有哪些解决办法?
答:ARP协议存在地址欺骗的安全隐患。两台主机之间进行通信,当发送机与接收机的ARP表中不存在对方的MAC地址时,需通过广播通信的方式询问。由于任一台主机都可应答,且没有检测机制,第三台主机可通过应答方式告诉发送机他就是接收机。同时,他也向接收机应答说他就是发送机。此时发送机与接收机之间的信息就可总是流经第三台主机,此时第三台主机掌握了两台主机之间的数据通信,因此存在地址欺骗的安全隐患。
解决方法:
1、可在地址应答时进行检测,观察是否存在地址欺骗行为。
2、可对已知的ARP病毒进行查杀,或对未知的ARP病毒,建议用户重新安装系统并及时升级补丁程序。
实验3 网络命令使用实验
一、实验目的
(1)了解IP、ARP、ICMP、NetBIOS、FTP和Telnet等网络协议的功能。
(2)熟悉各种常用网络命令的功能,了解如何利用网络命令检查和排除网络故障的
方法。
(3)熟练掌握WindowsXP下常用网络命令的用法。
二、实验内容
练习使用实验下述的各种网络命令,观察并分析运行结果。
三、实验设备
计算机多台,每台计算机配有网卡,并连成局域网。客户机通过服务器接入Internet,查看各机器的IP地址及网关
四、实验步骤及结果分析
(1)通过Ping检测网络故障
正常情况下,当用Ping命令来查找问题所在或检验网络运行情况时,需要使用许多Ping命令,如果所有都运行正确,就可以相信基本的连通性和配置参数没有问题。如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。按以下检测顺序检测及可能出现的故障。
1)Ping 127.0.0.1,该命令被送到本地计算机,如果没有收到回应,就表示TCP/IP的安装或运行存在某些最基本的问题。
运行从127.0.0.1得到4次回应,说明TCP/IP的安装或运行正常。
2)Ping本地IP,如ping 10.5.8.11该命令被送到本地计算机所配置的IP地址,本地计算机
始终都应该对该Ping命令做出应答,如果没有收到应答,则表示本地配置或安装存在问题。出现此问题时,请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则有可能是网络中有另一台计算机配置了相同的IP地址。
如图,当ping 192.168.0.30时,能得到正确的回应,则说明本地配置或安装正常。
3)Ping局域网内其他IP,例如ping 10.5.8.3,该命令经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确,但如果没有收到回送应答,则表示子网掩码不正确、网卡配置错误或电缆系统有问题。
Ping局域网内其他IP,当ping 192.168.0.29时,能得到正确的回应,表明本地网络中的网卡和载体运行正确。
4)Ping网关IP,如ping l0.5.8.1,该命令如果应答正确,表示局域网中的网关正在运行。
Ping网关IP,当ping 192.168.0.1时,不能得到正确的回应,表示局域网中的网关没有运行。因为本网络只为局域网,而没有连接到外部网络,因此Ping网关IP不能ping通。
5)Ping远程IP,如ping 202.116.128.1,如果收到4个应答,表示成功使用了默认网关。
如图,表明Ping远程IP不能ping通。
6)Ping localhost,localhost是操作系统的网络保留名,它是127.0.0. 1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到,则表示主机文件中存在问题。
回应正常,说明操作系统的网络正常。
7)Ping域名地址,如ping njust.edu.cn,对这个域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS服务器。如果这里出现故障,则表示DNS服务器的IP地址配置不正确,或DNS服务器有故障。也可以利用该命令实现域名对IP地址的转换功能。
上图表明Ping域名地址不能ping通,即DNS服务器的IP地址配置不正确,或DNS服务器有故障。
如果上面列出的所有Ping命令都能正常运行,那么计算机进行本地和远程通信的功能基本上就可以放心了。事实上,在实际网络中,这些命令的成功并不表示所有的网络配置 都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。同样,由于Ping的目的主机可以自行设置是否对收到的Ping包产生回应,因此当收不到返回数据包时,也不 一定就说明是网络有问题。
(2)通过ipconfig命令查看网络配置
依次单击“开始”-“运行"命令。打开“运行"对话框,输入命令CMD。在命令提示符下,输入ipconfig/all。其输出信息如图所示:
(3)通过tracert命令检测故障
tracert一般用来检测故障的位置,用户可以用tracert IP来查找从本地计算机到远方主机路径中哪个环节出了问题。虽然还是没有确定是什么问题,但它已经显示了问题所在的 地方。
输入tracert www.njust.edu.cn,查看从源主机到目的主机所经过的路由器IP地址。输出如下信息。
tracert输出信息
说明本主机到输入的域名地址中间没有经过路由器,所以会显示不能解决目标系统名称的信息。
(4)通过route命令查看路由表信息
route Print命令用于显示主机路由表中的当前项目,如图所示:
表中为本机路由表中所存取的信息。表中包含目的地址、网络名,网关名,以及路径成本等信息,发送数据时每台主机则通过此表进行路由选择。
(5)通过nbtstat查看本地计算机的名称缓存和名称列表。
1)nbtstat -n命令显示本地计算机的名称列表。
2)nbtstat -c命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存存放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址。
如图所示:
(6)通过net view命令显示计算机及其注释列表
使用net view命令显示计算机及其注释列表名称,如图所示:
要查看由计算机名称为NLG02或NLG07的计算机共享资源,分别输入net view NLG02
与net view NLG07,结果如图所示:
由于之前的注释列表中没有NLG50的信息,因此当输入net view NLG50时会显示出错,找不到网络路径。
(7)通过net send命令发送消息
通过服务管理程序启用:开始->运行->services.msc。输入格式为:net send ip/computer_name 消息内容。
可以用IP、计算机名来表示消息目标计算机。如:”net send 192.168.0.50 LOVE YOU”,如图所示:
当接到信息时,会显示自己的IP地址,而不会显示发送方的IP,但是会显示发送方在局域网内列表的名称:
使用信使服务也可以给自己发送消息,只需将接收方的IP写成本机IP即可,如图所示:
本机IP为192.168.0.33,而接收方的IP也为192.168.0.33。
五、思考题
1、回答NetBIOS在网络配置中的作用?
答:NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存存放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址。 使用该命令可以使网络通信时速度更快,对于最近进行通信的其他计算机的IP已存入本机内,需要在通信或其他项目时直接从本机内查询即可。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。
Netbios通过特定硬件用来和网络操作系统连接的软件层。Netbios经扩展,允许程序使用Netbios接口来操作IBM令牌环结构。Netbios允许程序和网络会话。它的目的是把程序和任何类型的硬件属性分开。它也使软件开发员可以免除以下负担:开发网络错误修复,低层信息寻址和路由。使用Netbios接口,可以为软件开发员做许多工作。
实验总结:
1、本次实验遇到的问题及解决方法
一、在做本次实验时,首先遇到的问题是在ping本地IP时,一开始不知道怎样产生冲突。
其实主要解决的问题是怎样知道本机的IP地址。可以通过查看控制面板中本地网络的属性,可以看到本地的IP,也可以通过在此处修改IP。可以通过此方法产生冲突。若想检查本网内哪台主机与本机有相同的IP,应先把本机IP改成未使用的IP才能使用ping命令检查此问题。
二、本实验中许多命令与操作都是第一次用到,有时会不懂其含义。这时我们通过小组内部商量以及上网查询等方法,了解、掌握一些网络通信中的基本内容。
三、在做实验四时,本机ftp格式的网页可以在本网内其他主机上看到,而http格式却不能看到。一开始认为是早上做完实验后关机,之前的设置复原,因此不能看到。通过重新设置,可是还是不能看到。后来才发现在cmd窗口中将用户名“anonymous”输成“anonymous”,由于用户名的输入与密码不匹配,因此不能正确登录。重新将正确用户名输入后,本机http格式的网页即可在本网内其他主机上看到。
四、在一开始做实验时,我们小组两人分开做的,其中一台主机的IP为192.168.0.33,另一台主机的IP为192.168.0.43,因此可能上述实验中使用本机的IP地址会有变化,但都是我们实验的结果。
2、实验感想
本次是我们第一次接触网络方面的实验,虽然以前经常使用电脑,但是对于网络方面的
基础知识还有很多地方不了解。因此本次实验给我们提供了学习网络基础方面的机会,第一次自己操作网络,所以我们每个人都很感兴趣。从实验中得到乐趣,学到了更多,将课本知识应用于实践,我们很开心。
