ARP、Tracert、Route 、NBTStat、Ping命令详解
一、ARP
ARP是个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。使用arp命令,我们能够查看本地电脑或另一台电脑的ARP高速缓存中的当前内容。
此外,使用arp命令,也能够用人工方式输入静态的网卡物理/IP地址对,我们可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。
按照缺省配置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,他们就已开始走向失效状态。例如,在Windows NT/2000网络中,假如输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。因此,假如ARP高速缓存中项目很少或根本没有时,请不 要奇怪,通过另一台电脑或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台电脑(不能是本机发送ping命令)。
ARP常用命令选项:
arp -a或arp -g
用于查看高速缓存中的任何项目。-a和-g参数的结果是相同的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中任何项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但他也能够接受比较传统的-g选项。
arp -a IP
假如我们有多个网卡,那么使用arp -a加上接口的IP地址,就能够只显示和该接口相关的ARP缓存项目。
arp -s IP 物理地址
我们能够向ARP高速缓存中人工输入一个静态项目。该项目在电脑引导过程中将保持有效状态,或在出现错误时,人工配置的物理地址将自动更新该项目。
arp -d IP
使用本命令能够人工删除一个静态项目。
例如我们在命令提示符下,键入 Arp -a;假如我们使用过 Ping 命令测试并验证从这台电脑到 IP 地址为 10.0.0.99 的主机的连通性,则 ARP 缓存显示以下项:
Interface:10.0.0.1 on interface 0x1
Internet Address Physical Address Type
10.0.0.99 00-e0-98-00-7c-dc dynamic
在此例中,缓存项指出位于 10.0.0.99 的远程主机解析成 00-e0-98-00-7c-dc 的媒体访问控制地址,他是在远程电脑的网卡硬件中分配的。媒体访问控制地址是电脑用于和网络上远程 TCP/IP 主机物理通讯的地址。
我们能够用ipconfig和ping命令来查看自己的网络配置并判断是否正确、能够用netstat查看别人和我们所建立的连接并找出ICQ使用者所隐藏的IP信息、能够用arp查看网卡的MAC地址。
二、Tracert
Tracert(跟踪路由)是路由跟踪公用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP错误消息来确定从一个主机到网路上其它主机的路由。
Tracert 工作原理
透过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的响应数据包,并在随后的每次发送过程将 TTL 递增1,直到目标响应或 TTL 达到最大值,从而确定路由。透过检查中间路由器发回的“ICMP已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Tracert 公用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口清单。如果使用 -d 选项,则 Tracert 公用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须透过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机
172.16.0.99。主机的默认通讯闸是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地
址是 192.168.0.1。
C:/>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认通讯闸确定
192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是
192.168.10.0 网络不存在(错误的 IP 地址)。
C:/>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops 1 10.0.0.1 reportsestination net unreachable. Trace complete.
Tracert
公用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。
Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
选项 描述
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 公用程序数据包所采用路径中的路由器接口清单。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。
Tracert的使用很简单,只需要在tracert后面跟一个IP地址或URL,Tracert会进行相应的域名转换的。
tracert 最常见的用法:
tracert IP address [-d] 该命令返回到达 IP 地址所经过的路由器列表。通过使用 -d 选项,将更快地显示路由器路径,因为 tracert 不会尝试解析路径中路由器的名称。
Tracert一般用来检测故障的位置,我们能够用tracert IP在哪个环节上出了问题,虽然还是没有确定是什么问题,但他已告诉了我们问题所在的地方,我们也就能够很有把握的告诉别人----某某地方出了问题。
另外如果想保存ping或tracert的结果,可以:
ping 域名 >1.txt
tracert 域名 >1.txt
三、Route
大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在使用哪一台路由器将数据报发表到远程电脑上去的问题,该路由器的IP地址可作为该网段上任何电脑的缺省网关来输入。
但是,当网络上拥有两个或多个路由器时,我们就不一定想只依赖缺省网关了。实际上我们可能想让我们的某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。
在这种情况下,我们需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。Route就是用来显示、人工添加和修改路由表项目的。
一般使用选项:
·route print
本命令用于显示路由表中的当前项目,在单路由器网段上的输出;由于用IP地址配置了网卡,因此任何的这些项目都是自动添加的。
·route add
使用本命令,能够将信路由项目添加给路由表。例如,假如要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先 要经过本地网络上的一个路由器,器IP为202.96.123.5,子网掩码为255.255.255.224,那么我们应该输入以下命令: 中国.网管联盟
route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5
·route change
我们能够使用本命令来修改数据的传输路由,但是,我们不能使用本命令来改变数据的目的地。下面这个例子能够将数据的路由改到另一个路由器,他采用一条包含3个网段的更直的路径:
route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3
·route delete
使用本命令能够从路由表中删除路由。例如:route delete 209.98.32.33
四、NBTStat
使用 nbtstat 命令释放和刷新 NetBIOS 名称。NBTStat(TCP/IP上的NetBIOS统计数据)实用程式用于提供关于关于NetBIOS的统计数据。运用NetBIOS,我们能够查看本地电脑或远程电脑上的NetBIOS名字表格。
常用选项:
·nbtstat -n
显示寄存在本地的名字和服务程式。
·nbtstat -c
本命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存用于寸放和本电脑最近进行通信的其他电脑的NetBIOS名字和IP地址对。
·nbtstat -r
本命令用于清除和重新加载NetBIOS名字高速缓存。
·nbtstat -a IP
通过IP显示另一台电脑的物理地址和名字列表,我们所显示的内容就像对方电脑自己运行nbtstat -n相同。
·nbtstat -s IP
显示实用其IP地址的另一台电脑的NetBIOS连接表。
例如我们在命令提示符下,键入:nbtstat -RR 释放和刷新过程的进度以命令行输出的形式显示。该信息表明当前注册在该电脑的 WINS 中的任何本地 NetBIOS 名称是否已使用 WINS 服务器释放和续订了注册.
五、ping命令详解
使用 ping可以测试计算机名和计算机的 ip 地址,验证与远程计算机的连接,通过将 icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了 tcp/ip 协议后才可以使用。 现在打开你的ms-dos(开始→程序→ms-dos),用win2000的朋友打开cmd.exe(这是win2000下的ms-dos,开始→程序→ 附件→"命令提示符" 或 开始→搜索文件或文件夹→"填入cmd.exe",找到后双击运行就可以了。) 下面我们来看看他的命令:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
参数
-t
ping 指定的计算机直到中断。ctrl+c停止
-a
将地址解析为计算机名。例:c://>ping -a 127.0.0.1
pinging china-hacker [127.0.0.1] with 32 bytes of data:(china-hacker就是他的计算机名)
reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128
ping statistics for 127.0.0.1:packets: sent = 4, received = 4, lost = 0 (0% loss),approximate round trip times in milli-seconds:minimum = 0ms, maximum = 0ms, average = 0ms
-n count
发送 count 指定的 echo 数据包数。默认值为 4。
-l length
发送包含由 length 指定的数据量的 echo 数据包。默认为 32 字节;最大值是 65,527。
-f
在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。
-i ttl
将“生存时间”字段设置为 ttl 指定的值。
-v tos
将“服务类型”字段设置为 tos 指定的值。
-r count
在“记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。
-s count
指定 count 指定的跃点数的时间戳。
-j computer-list
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)ip 允许的最大数量为 9。
-k computer-list
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)ip 允许的最大数量为 9。
-w timeout
指定超时间隔,单位为毫秒。
destination-list
指定要 ping 的远程计算机。
c://>ping ds.internic.net
pinging ds.internic.net [192.20.239.132] with 32 bytes of data: (192.20.239.132 他的ip地址)
reply from 192.20.239.132:bytes=32 time=101ms ttl=243
reply from 192.20.239.132:bytes=32 time=100ms ttl=243
reply from 192.20.239.132:bytes=32 time=120ms ttl=243
reply from 192.20.239.132:bytes=32 time=120ms ttl=243