计算机网络实验1.doc
如有侵权,请联系网站删除,仅供学习与交流计算机网络实验1【精品文档】第 11 页实验一 网络常用命令的使用及DNS层次查询、SMTP协议分析l 网络常用命令的使用1、windows命令不同的操作系统要用不同的命令进入命令行界面。在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。在Win2000/NT的开始菜单中的运行程序中键入"cmd"命令,可进入命令行界面。开始运行键入cmd命令或command命令回车进入了命令行操作界面(DOS窗口),在DOS窗口中只能用键盘来操作。如下所示:2、网络常用命令的作用与格式了解和掌握网络常用命令将会有助于更快地检测到网络故障所在,从而节省时间,提高效率。网络命令数量比较多,在本次实验中我们学习的网络命令是为数不多的一些常用网络命令。由于每个网络命令都有不同的作用,为了更好地掌握这些网络常用命令应该了解这些命令的基本格式,基本格式如下:网络命令 参数1参数2参数3参数查看这些参数的方法是在网络命令后加“/?”,如要查看ping命令的参数可以输入ping/?显示如下:【实验目的】1、掌握网络常用命令的使用;2、利用网络常用命令对网络中常见现象进行分析判断。【实验内容】1、掌握PING命令的基本使用方法(包括参数的使用),对网络常见故障利用命令进行分析判断:Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令。Ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。如果执行Ping不成功,则可以预测故障出现在以下几个方面:网线故障,网络适配器配置不正确,IP地址不正确。如果执行Ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,Ping成功只能保证本机与目标主机间存在一条连通的物理路径。命令格式:ping IP地址或主机名 -t -a -n count -l size 常用参数含义: -t不停地向目标主机发送数据;-a 以IP地址格式来显示目标主机的网络地址 ;-n count 指定要Ping多少次,具体次数由count来指定 ;-l size 指定发送到目标主机的数据包的大小。2、用Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间,分析网络延时产生的原因。Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。命令格式:tracert IP地址或主机名 -d-h maximumhops-j host_list -w timeout 参数含义:-d 不解析目标主机的名字;-h maximum_hops 指定搜索到目标地址的最大跳跃数;-j host_list 按照主机列表中的地址释放源路由;-w timeout 指定超时时间间隔,程序默认的时间单位是毫秒。例如大家想要了解自己的计算机与目标主机之间详细的传输路径信息,可以在MS-DOS方式输入。如果我们在Tracert命令后面加上一些参数,还可以检测到其他更详细的信息,例如使用参数-d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。3、利用Netstat命令了解网络的整体使用情况。显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,统计目前总共有哪些网络连接正在运行。Netstat命令可以帮助网络管理员了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,例如显示网络连接、路由表和网络接口信息,可以统计目前总共有哪些网络连接正在运行。利用命令参数,命令可以显示所有协议的使用状态,这些协议包括TCP协议、UDP协议以及IP协议等,另外还可以选择特定的协议并查看其具体信息,还能显示所有主机的端口号以及当前主机的详细路由信息。 命令格式:netstat -r -s -n -a 参数含义: -a 显示所有连接和侦听端口。 -b 显示在创建每个连接或侦听端口时涉及的可执行程序。 在某些情况下,已知可执行程序承载多个独立的组件,这些情况下,显示创建连接或侦听端口时涉及的组件序列。此情况下,可执行程序的名称位于底部中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时,并且在您没有足够权限时可能失败。 -e 显示以太网统计。此选项可以与 -s 选项结合使用。 -f 显示外部地址的完全限定域名(FQDN)。 -n 以数字形式显示地址和端口号。 -o 显示拥有的与每个连接关联的进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或 UDPv6。 -r 显示路由表。 -s 显示每个协议的统计。默认情况下,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的统计;-p 选项可用于指定默认的子网。 -t 显示当前连接卸载状态。 interval 重新显示选定的统计,各个显示间暂停的间隔秒数。 按 CTRL+C 停止重新显示统计。如果省略,则 netstat将打印当前的配置信息一次。4、利用IPCONFIG命令显示所有当前的TCP/IP网络配置值、刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。 使用不带参数的IPCONFIG显示所有适配器的 IP 地址、子网掩码、默认网关。命令格式:Ipconfig/all/batch file/renew all/release all/renew n/release n参数含义:/? 显示帮助信息/all 显示现时所有网络连接的设置/release 释放某一个网络上的IP位置/renew 更新某一个网络上的IP位置/flushdns 把DNS解析器的暂存内容全数删除5、利用ARP确定对应IP地址的网卡物理地址。查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。在协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。另外,当发送主机和目的主机不在同一个中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)命令格式:arp-a InetAddr -N IfaceAddr -g InetAddr -N IfaceAddr -d InetAddr IfaceAddr -s InetAddr EtherAddr IfaceAddr参数含义:-a InetAddr -N IfaceAddr 显示所有接口的当前 ARP 缓存表。要显示特定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表 IP 地址。如果未指定 InetAddr,则使用第一个适用的接口。要显示特定接口的 ARP 缓存表,请将 -N IfaceAddr 参数与 -a 参数一起使用,此处的 IfaceAddr 代表指派给该接口的 IP 地址。-N 参数区分大小写。 -g InetAddr -N IfaceAddr 与 -a 相同。 -d InetAddr IfaceAddr 删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。 -s InetAddr EtherAddr IfaceAddr 向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。 /? 在命令提示符下显示帮助。6、课上补充讲解其他网络命令的使用。【实验方式】现场参观并由实验指导教师讲解、演示;分组讨论与实践。【实验地点】学院实验室。【实验报告】在实验报告中写出网络常用命令的操作过程及效果,分析并总结实验中遇到的问题,写出实验体会。l DNS层次查询、SMTP协议分析【实验前需要学习掌握的知识】1、掌握DNS基本构成原理及三层结构。2、电子邮件系统的构成,包含在发送方、接收方进行邮件传递涉及的各种协议及协议构成,区分SMTP协议与邮件消息格式的异同点。3、了解常用捕包软件。捕包软件不但可以分析数据包的流向,也可以对数据包的内容进行监听,可以观察TCP/IP协议族中应用层、传输层、网络层、数据链路层和有关网络安全的各种协议的活动。【实验目的】1、了解和掌握DNS层次结构,利用NSLOOKUP命令对DNS层次结构进行访问;2、了解电子邮件系统发送及接受处理过程,对SMTP协议进行分析;3、掌握捕包软件ethereal的使用,了解网络协议实体间进行交互以及报文交换的情况;【实验内容】1、熟练掌握nslookup命令,并对nslookup命令的参数进行熟练掌握。具体参数:nslookup qt=类型 目标域名注意qt必须小写。类型可以是一下字符,不区分大小写:A 地址记录(Ipv4)AAAA 地址记录(Ipv6)AFSDB Andrew文件系统数据库服务器记录ATMA ATM地址记录CNAME 别名记录HINFO 硬件配置记录,包括CPU、操作系统信息ISDN 域名对应的ISDN号码MB 存放指定邮箱的服务器MG 邮件组记录MINFO 邮件组和邮箱的信息记录MR 改名的邮箱记录MX 邮件服务器记录NS 名字服务器记录PTR 反向记录(从IP地址解释域名)RP 负责人记录RT 路由穿透记录SRV TCP服务器信息记录TXT 域名对应的文本信息X25 域名对应的X.25地址记录实验具体内容要求:到网上查找13个根名称的IP;任选一个根名称服务器,利用NSLOOKUP,在根名称服务器、顶级域名称服务器、权威名称服务器上,手动逐级进行NDS解析,并进行记录和分析;在本地名称服务器,利用NSLOOKUP,手动逐级进行NDS解析,并进行记录和分析。2、 利用TELNET进行SMTP的邮件发送。具体要求:连接smtp服务器->发命令"HELO <host_name>" ->发命令"AUTH LOGIN",然后服务器会以base64编码后的形式提示输入用户名->以base64编码后的形式输入用户名,如果用户名合法,服务器提示输入口令形式为“334 *”->以base64编码后的形式输入口令。如果检验正确,服务器会返回"235 Authentication successful";编辑电子邮件(注意区分SMTP协议格式与邮件格式),利用SMTP协议进行收发电子邮件;观察并分析收发过程及协议信息。编码软件见Centri64.zip。利用TELNET进行POP3邮件接收。简单示例:TELENT 邮件服务器IP 25HELO LIUAUTH LOGIN*(输入以base64编码后用户名)*(输入以base64编码后密码)MAIL FROM:<发送方的邮件地址>RCPT TO:<接收方的邮件地址>DATAFROM:发送方邮箱TO:接收方邮箱SUBJECT:LIUliuyang like Philatelic!.(这个点与回车,必须的)QUIT3、熟练掌握抓包软件ethereal。要深入理解网络协议,需要观察它们的工作并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。一个分组嗅探器俘获(嗅探)由你的计算机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被俘获报文的各协议字段的内容。图1显示了一个分组嗅探器的结构。图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web浏览器和ftp客户端)。分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。分组俘获库(packet capture library)接收计算机发送和接收的每一个链路层帧的拷贝。高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧中,并沿着物理媒体(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网,并且上层协议的报文最终封装在以太网帧中。分组嗅探器的第二个组成部分是分组分析器。分组分析器用来显示协议报文所有字段的内容。为此,分组分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中HTTP协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。Ethereal是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器。Ethereal是免费的,可以从得到。运行ethereal程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。ethereal的界面主要有五个组成部分:命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存俘获的分组数据或打开一个已被保存的俘获分组数据文件或退出ethereal程序。Capture菜单允许你开始俘获分组。俘获分组列表(listing of captured packets):按行显示已被俘获的分组内容,其中包括:ethereal赋予的分组序号、俘获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组列表按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。分组首部明细(details of selected packet header):显示俘获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。另外,如果利用TCP或UDP承载分组,ethereal也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被俘获帧的完整内容。显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。实验步骤(1)启动主机上的web浏览器。(2)启动ethereal。会看到如图2所示的窗口,只是窗口中没有任何分组列表。(3)开始分组俘获:选择“capture”下拉菜单中的“Start”命令,会出现如图3所示的“Ethereal: Capture Options”窗口,可以设置分组俘获的选项。(4)在实验中,可以使用窗口中显示的默认值。在“Ethereal: Capture Options”窗口的最上面有一个“interface”下拉菜单,其中显示计算机所具有的网络接口(即网卡)。当计算机具有多个活动网卡时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。随后,单击“ok”开始进行分组俘获,所有由选定网卡发送和接收的分组都将被俘获。(5)开始分组俘获后,会出现如图4所示的分组俘获统计窗口。该窗口统计显示各类已俘获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的俘获。但此时最好不要停止俘获分组。(6)在运行分组俘获的同时,在浏览器地址栏中输入某网页的URL,如:为显示该网页,浏览器需要连接的服务器,并与之交换HTTP报文,以下载该网页。包含这些HTTP报文的以太网帧将被Ethereal俘获。(7)当完整的页面下载完成后,单击Ethereal俘获窗口中的stop按钮,停止分组俘获。此时,分组俘获窗口关闭。Ethereal主窗口显示已俘获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP报文。此时主窗口与图2相似。(8)在显示筛选规则中输入“http”,单击“apply”,分组列表窗口将只显示HTTP协议报文。(9)选择分组列表窗口中的第一条http报文。它应该是你的计算机发向服务器的HTTP GET报文。当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及HTTP报文首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。其结果与图5相似。(10)退出Ethereal。【实验方式】由实验指导教师讲解、演示;分组讨论与实践。【实验地点】学院实验室。【实验报告】在实验报告中写出DNS层次查询的实现过程、利用SMTP协议实现接发邮件的过程、回答捕包实验中所提问题。分析并总结实验中遇到的问题,写出实验体会。(1)列出在第7步中分组列表子窗口所显示的所有协议类型。(2)从发出HTTP GET报文到接收到HTTP OK响应报文共需要多长时间?(在默认的情况下,分组列表窗口中Time列的值是从Ethereal开始追踪到分组被俘获的总的时间数,以秒为单位。若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择Time Display Format,然后选择Time-of-day。)(3)你主机的IP地址是什么?你所访问的主页所在服务器的IP地址是什么?(4)写出两个第9步所显示的HTTP报文头部行信息。计算机网络与通信实验报告(一)学 号姓 名班 级报告日期实验内容网络常用命令的使用实验目的实验预备知识实验过程描述实验结果实验当中问题及解决方法1、2、成绩(教师打分)优秀良好及格不及格