2.3 其他命令
除了上述几个常用命令外,我们再学习几个其他命令,加强对命令的认识操作。
2.3.1 arp命令
arp也是TCP/IP协议族中的一个重要协议,用于确定对应IP地址的网卡物理地址。
使用arp命令,能够查看本地计算机或另一台计算机的arp高速缓存中的当前内容。此外,使用arp命令可以人工方式设置静态的网卡物理地址/IP地址对,使用这种方式可以为默认网关和本地服务器等常用主机进行本地静态配置,这有助于减少网络上的信息量。
按照默认设置,arp高速缓存中的项目是动态的,每当向指定地点发送数据并且此时高速缓存中不存在当前项目时,arp便会自动添加该项目。例如,我们输入“arp-a”命令来查看高速缓存中的所有项目,如图2-16所示。
常用命令选项如下。
• -a:用于查看高速缓存中的所有项目。
• -a IP:如果有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的arp缓存项目。
• -s IP物理地址:向arp高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
• -d IP:使用本命令能够人工删除一个静态项目。
图2-16 输入“arp-a”命令
2.3.2 traceroute命令
traceroute命令是用来监测发出数据包的主机到目标主机之间所经过的网关的工具。traceroute命令的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
要掌握使用traceroute命令测量路由情况的技能,即用来显示数据包到达目的主机所经过的路径。
traceroute命令的基本用法是,在命令提示符后输入“tracert host_name”或“tracert ip_address”,其中,tracert是traceroute在Windows操作系统上的称呼。如输入“tracert www.baidu.com”,如图2-17所示。
其输出有以下5列。
• 第1列是描述路径的第n跳的数值,即沿着该路径的路由器序号。
• 第2列是第一次往返时延。
• 第3列是第二次往返时延。
• 第4列是第三次往返时延。
• 第5列是路由器的名字及其输入端口的IP地址。
如果源从任何给定的路由器接收到的报文少于3条(由于网络中的分组丢失),traceroute在该路由器号码后面放一个星号,并报告到达那台路由器的少于3次的往返时间。
图2-17 tracert命令
此外,tracert命令还可以用来查看网络在连接站点时经过的步骤或采取哪种路线,如果是网络出现故障,就可以通过这条命令查看出现问题的位置。
2.3.3 route命令
route命令用来显示和操作IP路由表,用来通过一个已经利用ifconfi g命令配置好的网络接口为指定主机或网络设置静态路由。当使用add或del选项时,route命令修改路由表,否则显示路由表当前内容。
大多数主机一般都是驻留在只连接一台路由器的网段上。因为只有一台路由器,因此不存在选择使用哪一台路由器将数据包发送到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的默认网关。
但是,当网络上拥有两个或多个路由器时,用户就不一定想只依赖默认网关了。实际上可能想让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。在这种情况下,用户需要相应的路由信息,这些信息存储在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。route命令就是用来显示、人工添加和修改路由表项目的。
选择“开始”菜单中的“运行”命令,打开“运行”对话框,然后输入“cmd”命令,按“Enter”键进入命令提示符窗口,输入“route”,按“Enter”键,可以进入route命令详细参数,如图2-18所示。
图2-18 route命令的详细参数
详细参数解释如下。
• route print:本命令用于显示路由表中的当前项目,在单个路由器网段上的输出结果如图2-19所示。
图2-19 route print命令
• route add:使用本命令,可以将路由项目添加给路由表。例如,如果要设定一个到目的网络209.99.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器IP为202.96.123.5,子网掩码为255.255.255.224,那么用户应该输入以下命令:route add 209.99.32.33 mask 255.255.255.224 202.96.123.5 metric 5。
• route change:可以使用本命令来修改数据的传输路由,不过,用户不能使用本命令来改变数据的目的地。
• route delete:使用本命令可以从路由表中删除路由。