计算机网络基础与应用(实验指南)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实验项目4 熟悉常用的网络命令

【预备知识】

使用网络命令可以分析和解决一般的网络故障,常用的网络命令如下。

1)ping命令

ping命令就是一个测试程序,用来测试主机之间的连通性。ping使用了ICMP回送请求与回送应答报文。ping是应用层直接使用网络层ICMP的一个例子,没有通过传输层协议。

2)ipconfig命令

ipconfig命令的主要功能是显示或改变用户所在主机内部的IP协议的配置信息,如IP地址、默认网关、子网掩码等。一般用来检验人工配置的TCP/IP设置是否正确。如果计算机和所在的局域网使用了动态主机分配协议(DHCP,Dynamic Host Configuration Protocol),这个程序所显示的信息会更加实用。

3)tracert命令

tracert命令功能与ping命令类似,但它获得的信息要比ping命令详细得多。使用tracert命令不仅能够显示从源主机到目标主机的网络连通性,还能够显示数据包从源主机到目标主机所经过的路径,以及该路径上各节点IP和到达各节点所需的时间。如果数据包不能传输到目标主机,tracert命令将显示成功转发数据包的最后一个路由器的信息。所以,tracert命令被称为“路由跟踪命令”,适合大型网络的测试连通。

4)arp命令

ARP协议是位于TCP/IP协议栈中的网络层协议,负责将IP地址解析成对应的MAC地址。局域网通过MAC地址确定传输路径,而TCP/IP网络通过IP地址来确定主机位置。网络实际通信时,IP地址不能被物理网络所识别。不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址,因为在底层(数据链路层与物理层)的硬件不能识别IP地址,只能识别48位的MAC地址。因此,需要在IP地址和主机的MAC地址之间建立映射关系,这种映射称为地址解析。每一个主机都设有一个ARP高速缓存,存有该主机所在的局域网中各主机和路由器的IP地址到MAC地址的映射表。

5)netstat命令

netstat是一个监控TCP/IP网络的非常有用的工具,是在内核中访问网络连接状态及相关信息的程序,它能提供TCP连接、TCP和UDP监听、进程内存管理的相关报告,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据和检验本机各端口的网络连接情况。

6)nslookup命令

nslookup是查询Internet网络域名信息的命令。nslookup发送域名查询包给指定的DNS服务器或默认DNS服务器。根据使用系统的不同,Windows系统和Liunx系统返回的值就可能有所不同。默认值可能使用的是服务提供商的本地DNS域名服务器、一些中间域名服务,或者整个域名系统层次的根服务器系统。

【实验目的】

1)掌握使用ping命令检查网络连通性的方法。

2)掌握使用ipconfig命令查看主机IP协议的配置信息。

3)掌握tracert命令的基本功能。

4)掌握arp命令的使用。

5)掌握netstat命令的使用。

6)掌握nslookup命令的使用。

【背景描述】

小希同学初学计算机网络,对简单的网络故障束手无策。在教师的帮助下,通过学习常用的网络命令来测试、分析和处理简单的网络故障。

【实验设备】

安装Windows操作系统的计算机1台。

【实验内容及步骤】

4.1 ping命令

1)ping命令的功能及基本格式

ping是一个测试程序,一般用于测试网络的连通性,当网络不通时,可以使用该命令来检查和判断网络出现故障的原因。在Windows系统上执行ping命令,系统按照默认设置向目标主机发送4个ICMP数据包,如果该数据包向目标主机提出请求报文,则目标主机就要返回一个响应报文,根据数据包的往返信息,就可以推断网络参数是否设置正确及网络运行情况。

在命令提示符窗口中,输入“ping/?”可以查看ping命令的基本格式和参数说明,如图4-1所示。

img

图4-1 ping命令的基本格式和参数说明

2)ping 127.0.0.1

127.0.0.1是回送地址,指的是本机。使用该地址时,不进行任何网络传输,仅验证本机TCP/IP协议是否正确安装。如果运行出错,表示网卡或TCP/IP的安装或运行存在某些问题。运行结果如图4-2所示,表示的是本机TCP/IP协议安装正确,运行正常。途经时间以ms为单位,显示的统计时间越短,表示数据报通过的路由器越少,或者速度越快。ping还能显示存活时间(TTL,Time To Live)值,通过TTL的值可以大致推算数据报已经通过的路由器数量。例如,TTL的值为246,则TTL的初始值为255(TTL的最大值),源端到目的端经过9个路由网络。如果TTL的值为119,则TTL的初始值为128源端到目的端经过9个路由网络。

localhost是系统的网络保留名,是127.0.0.1的别名。“ping localhost”的运行结果如图4-3所示。如果“ping localhost”执行不成功,说明主机文件(/Windows/host)中存在问题。

img

图4-2 ping 127.0.0.1的运行结果

img

图4-3 ping localhost的运行结果

3)ping本机IP地址

检测本机IP地址是否配置完成及网卡属性是否完好。这个命令被送到你的计算机所配置的IP地址,本地计算机始终都应该对该ping命令做出应答,如图4-4所示。如果没有应答,则表示本地网络配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示其他计算机与本机IP地址重复。

4)ping 局域网内其他IP地址

这个命令可以离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到回送应答,那么表示子网掩码配置不正确,或网卡配置错误,或网络电缆有问题。如图4-5所示,本地计算机ping同一个局域网内的另一个IPv4地址。

img

图4-4 ping 本机IP地址的运行结果

img

图4-5 ping 局域网内其他IPv4地址的运行结果

如图4-6所示,本地计算机ping同一个局域网内的另一个IPv6地址。

5)ping 网关IP地址,检验网关配置

这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。

6)测试DNS服务器是否能够ping通

如果上网浏览网页时,总是收到“找不到该页”或者“该页无法显示”等提示信息,一般应检查DNS是否有问题,一是测试DNS服务器是否能够连通;二是测试DNS设置是否有错误。在命令提示符中输入ping及DNS服务器IP地址,如“ping 202.106.196.115”(这是笔者所在地的一台DNS服务器地址)。如果返回测试时间和TTL等信息,则表明正常;如果出现“无法访问目标主机”,则表明无法连接DNS服务器,有可能DNS服务器故障,或DNS服务器IP地址配置错误。

7)ping 域名

检测是否能够通过配置的DNS服务器成功连入Internet。ping命令执行正常时,通常会返回该域名所对应的IP地址,表明本机DNS配置正确,而且DNS服务器工作正常。如图4-7所示,执行“ping www.baidu.com”命令,网络正常连通时会出现百度网址所对应的IP地址220.181.38.149。因此,还可以使用该命令查询域名对应的IP地址。

img

图4-6 ping局域网内其他IPv6地址的运行结果

img

图4-7 “ping www.baidu.com”的运行结果

如果按照上述各步骤执行ping命令都能连通,那么本机进行本地和远程通信的功能就基本没有问题了。

8)ping目标地址 -t

该命令表示连续向目标IP地址或目标域名发送请求报文,直到手动按下【Ctrl+C】组合键才会终止。

9)ping目标地址 -l length

该命令也可以写成“ping 目标地址-l length”表示向目标IP地址发送长度为length的数据包,默认值为32字节。

例如,“ping 192.168.3.7 -l 64”,表示向IP地址192.168.3.7的目标主机发送长度为64字节的数据包,如图4-8所示。从图中可以看出,有一次“请求超时”,而且平均时间为208ms,说明这两个主机之间的通信质量不高。

10)ping 目标地址 -n count

该命令表示向目标IP地址发送数据包的次数为count,默认值为4次。

例如,“ping -n 2 -l 1000 192.168.3.7”,表示向IP地址192.168.3.7的目标主机发送长度为1000字节的数据包2次,如图4-9所示。从图中可以看出,有一次“请求超时”,而且平均时间为208ms,说明这两个主机之间的通信质量不高。

img

图4-8 “ping 192.168.3.7 -l 64”的运行结果

img

图4-9 “ping -n 2 -1 1000 192.168.3.7”的运行结果

11)常见的错误信息一般有传输失败、请求超时(Timed out)、找不到主机名和无法访问目标主机等。

(1)出现如图4-10所示的情况,表示与目标主机传输失败。

(2)出现如图4-11所示的情况,表示请求超时(Timed out)。表示在规定的时间内没有收到返回的应答消息。故障原因可能是远程计算机或路由器关闭,或者某些网络设备为了安全,禁用了ping功能等。

img

图4-10 传输失败

img

图4-11 请求超时

(3)出现如图4-12所示的信息,返回信息为“找不到主机名”,说明是DNS无法解析该主机名。故障原因可能是主机名不存在,或者DNS服务器故障,或者本机DNS服务器IP地址配置错误等。

img

图4-12 找不到主机名

(4)出现如图4-13所示的信息,说明两台主机之间无法建立连接,可能没有正确分配IP地址,或者没有正确的配置网关等参数,由于找不到去往目标主机的“路径”,所以显示“无法访问目标主机”。

img

图4-13 无法访问目标主机

4.2 ipconfig命令

1)ipconfig命令基本格式和参数

ipconfig命令诊断后显示所有当前的TCP/IP 网络配置信息,包括IP地址、MAC地址、子网掩码、网关、DNS服务、IP地址等。

ipconfig命令在运行DHCP 系统上的特殊用途,允许用户决定DHCP 配置的TCP/IP 配置参数。如果计算机启用 DHCP 并使用 DHCP 服务器获得配置新,可使用“ipconfig/renew”命令更新IP地址租约。也可以使用“ipconfig/release”命令立即释放主机的当前 DHCP 获取的IP地址等。

在命令提示符窗口中,输入“ipconfig/?”可以查看ipconfig命令的基本格式和参数,如图4-14所示。

img

图4-14 ipconfig命令的基本格式及参数说明

2)在命令提示符窗口中输入“ipconfig/all”命令,可查看本机的IP地址、物理地址(MAC地址)等信息,其结果如图4-15所示。

img

图4-15 查看本机的IP地址及物理地址等信息

3)按照图4-14所示的命令格式,进行操作练习,并记录结果。例如,ipconfig/batch baknetcfg,就是将有关网络配置信息保存到文件bak-netcfg中。

4.3 tracert命令

1)tracert命令的基本格式和参数

tracert命令又称路由跟踪命令,与ping命令类似。在命令提示符窗口中,输入“tracert/?”可以查看tracert命令的基本格式和参数,如图4-16所示。

2)在命令提示符窗口中,执行“tracert www.sohu.com”的结果如图4-17所示,显示从本机到www.sohu.com服务器所经过的路由器及连接情况。

img

图4-16 tracert命令的基本格式和参数说明

img

图4-17 用tracert命令获得到目标主机的路由信息

其中,带有“*”的信息表示该次ICMP包返回时间超时。

3)按照图4-16所示的命令格式,进行操作练习,并记录结果。

4.4 arp命令

1)arp命令的基本格式和参数

arp命令主要用于显示或修改IP和MAC的映射表。在命令提示符窗口中,输入“arp/?”可以查看arp命令的基本格式和参数,如图4-18所示。

img

图4-18 arp命令的基本格式和参数

其中,“arp -a”或“arp -g”都是用于查看高速缓存中的映射项目。“-a”和“-g”参数结果是一样的,只是“-g”主要用在UNIX平台上。

2)显示高速缓存中的arp表

在命令提示符窗口中,输入“arp -a”可以查看高速缓存中的arp表,如图4-19所示。arp缓存重新启动计算机后一般会丢失。静态arp缓存需要手动清除,使用的命令格式是“arp -d IP地址”。

3)添加arp静态映射

在命令提示符窗口中,输入“arp -s 192.168.3.100 8c-34-fd-ff-88-aa”可以查看高速缓存中的arp表,如图4-20所示。

img

图4-19 arp映射表

img

图4-20 添加arp静态映射

4)按照图4-18所示的命令格式,进行操作练习,并记录结果。

4.5 netstat命令

1)netstat命令的基本格式和参数

在命令提示符窗口中,输入“netstat/?”命令,可以查看netstat命令格式及含义,如图4 -21所示。

img

图4-21 netstat命令格式及含义

2)查看本机端口使用情况。在提示符下输入“netstat -a”,输出结果如图4-22所示,表示本机打开浏览器时,使用动态分配的端口访问网络资源情况。

其中,LISTENING为在监听状态中;ESTABLISHED表示连接建立,正在通信;TIME_WAIT表示等待足够的时间以确保远程TCP接收到连接中断请求的确认;CLOSED表示没有任何连接状态;CLOSE_WAIT表示等待本地用户发来的连接中断请求。

对其中一行解释如下:

TCP  192.168.3.3:49786   1.192.195.117:http   ESTABLISHED

协议是TCP,本地IP地址为192.168.3.3,端口号为49786,外部地址指的是远程访问的主机IP地址,为1.92.195.117,使用的是http协议,即80端口,建立TCP连接。说明浏览器使用了49318、49786、50753等多个动态分配的端口与远端服务器的HTTP(80)或HTTPS(443)进行通信。

如果检测到一些敏感的端口,甚至可以进行黑客攻击。

img

图4-22 使用动态分配的端口访问网络资源情况

3)在命令提示符窗口中,输入“netstat -e”命令,显示关于以太网的统计数据,包括传送的数据报的总字节数、错误数、丢弃数、单播数据包和非单播数据包的数量。这些统计数据既有发送的,也有接收的,用来统计一些基本的网络流量,如图4-23所示。

img

图4-23 netstat -e显示以太网的统计数据

若接收的错误和发送的错误接近零或全为零,则说明网络的接口无问题。但当这两个字段有较多出错数据包时就可以认为是高出错率了。高的发送错误表示本地网络饱和或在主机与网络之间有不良的物理连接,高的接收错误表示整体网络饱和、本地主机过载或物理连接有问题,可以用ping命令统计误码率,进一步确定故障的程度。netstat -e 和ping结合使用可解决大部分网络故障。

4)按照图4-21所示的命令格式,进行操作练习,并记录结果。

4.6 nslookup命令

1)nslookup是查询Internet网络域名信息的命令。在命令提示符窗口输入“nslookup/?”,可查看其命令格式,如图4-24所示。

img

图4-24 nslookup命令格式

2)输入“nslookup www.baidu.com”,查询百度域名信息,如图4-25所示,正在工作的域名服务器为linedns.bta.net.cn,对应的IP地址为202.106.196.115。负责www.baidu.com这个域名解析的DNS服务器为www.a.shifen.com,IPv4地址是61.135.169.125和61.135.169.121,IPv6地址是2408:80f0:410c:1c:0:ff:b00e:347f和2408:80f0:410c:1d:0:ff:b07a:39af。由于百度搜索引擎数据量非常大,因此通常会做很多台负载均衡,最后一行是域名的别名。

3)按照图4-24所示的命令格式,进行操作练习,并记录结果。

img

图4-25 查询百度域名信息的示例

【注意事项】

1)灵活地运用多种网络命令来分析和解决网络问题。

2)注意适当的使用命令中的一些参数。例如,ping命令中-l值的有效范围是0~65500。

【项目拓展】

1)总结ping和tracert命令的异同。

2)如果某台计算机显示遭受ARP欺骗攻击,请考虑如何解决这个问题。

【实践评价】

img