Windows网络诊断和配置命令【笔记残缺】
Windows网络诊断和配置命令
Windows提供了一组实用程序来实现简单的网络配置和管理功能,这些实用程序通常以DOS命令的形式出现。用键盘命令来显示和改变网络配置,感觉就像直接操控硬件一样,不但操作简单方便,而且效果立即显现;不但能详细了解网络的配置参数,而且提高了网络管理的效率。所以,掌握常用的网络管理命令是网络管理人员的基本技能,必须坚持使用,才能驾轻就熟。
Windows的网络管理命令通常以exe文件的形式存储在system32目录中,在“开始”菜单中运行命令解释程序Cmd.exe进入DOS命令窗口,可以执行任何实用程序。下面的一些例子都是在DOS窗口中截图的。
ipconfig
ipconfig命令相当于Windows9x中的图形化命令winipcfg,是最常用的Windows实用程序,可以显示所有网卡的TCP/IP配置参数,可以刷新动态主机配置协议(DHCP)和域名系统的设置。ipconfig的语法如下。
ipconfig
[/all]
[/review[Adapter]]
[/release[Adapter]]
[/flushdns]
[/dsiplaydns]
[/registerdns]
[/showclassid Adapter]
[/setclassid Adapter[ClassID]]
对以上命令参数解释如下。
- /?
显示帮助信息,对本章中其他命令有同样作用。 - /all
显示所有网卡的TCPIP配置信息。如果没有该参数,则只显示各个网卡的P地址、子网掩码和默认网关地址。 - /review [Adapter]
更新网卡的DHCP配置,如果使用标识符Adapter说明了网卡的名字,则只更新指定网卡的配置,否则更新所有网卡的配置。这个参数只能用于动态配置P的计算机。使用不带参数的ipconfig命令,可以列出所有网卡的名字。 - /release [Adapter]
向DHCP服务器发送DHCP Release 请求,释放网卡的DHCP配置参数和当前使用的P地址。 - /flushdns
刷新客户端DNS缓存的内容。在DNS排错期间,可以使用这个命令丢弃负缓存项以及其他动态添加的缓存项。 - /displaydns
显示客户端DNS缓存的内容,该缓存中包含从本地主机文件中添加的预装载项,以及最近通过名字解析查询得到的资源记录。DNS客户端服务使用这些信息快速处理经常出现的名字查询。 - /registerdns
刷新所有DHCP租约,重新注册DNS名字。在不重启计算机的情况下,可以利用这个参数来排除DNS名字注册中的故障,解决客户端和DNS服务器之间的手工动态更新问题,可以利用“高级TCP/IP设置”来注册本地连接的DNS后缀,如图11-38所示。

- /showclassid Adapter
显示网卡的DHCP类别ID。利用通配符“*”
代替标识符Adapter,可以显示所有网卡的DHCP类别ID。这个参数仅适用于自动配置IP地址的计算机,可以根据某种标准把DHCP客户端划分成不同的类别,以便于管理。例如,将移动客户划分到租约期较短的类,将固定客户划分到租约期较长的类。 - ==/setclassid Adapter[ClassID]
对指定的网卡设置DHCP类别ID。如果未指定DHCP类别ID,则会删除当前的类别ID。
如果Adapter名称包含空格,则要在名称两边使用引号(即"Adapter名称")。在网卡名称中可以使用通配符星号“”,例如,Local可以代表所有以字符串Local开头的网卡,而Con可以表示所有包含字符串Con的网卡。
ipconfig命令最适合于自动分配IP地址的计算机,使用户可以明确区分DHCP或自动专用IP地址(APIPA)配置的参数。
举例如下。
(1)如果要显示所有网卡的基本TCP/IP配置参数,输入:
ipconfig

(2)如果要显示所有网卡的完整TCP/IP配置参数,输入:
ipconfig /all

(3)如果仅更新本地连接的网卡由DHCP分配的IP地址,输入:
ipconfig /renew "Local Area Connection"

(4)在排除DNS名称解析故障时,如果要刷新DNS解析器缓存,输入:
ipconfig /flushdns

(5)如果要显示名称以Local开头的所有网卡的DHCP类别ID,输入:
ipconfig /showclassid Local*

(6)如果要将“本地连接”网卡的DHCP类别ID设置为TEST,输入:
ipconfig /setclassid "Local Area Connection"

图11-39是用ipconfig/al命令显示的网络配置参数,其中列出了主机名、网卡物理地址和DHCP租约期,由DHCP分配的IP地址、子网掩码、默认网关和DNS服务器的P地址等配置参数。图11-40是利用参数showclasid显示的“本地连接”的类别标识。
下图显示的才是上面命令的正确用法:上面有些我用错了!



ping
ping命令通过发送ICMP回声请求报文来检验与另外一个计算机的连接。这是一个用于排除连接故障的测试命令,如果不带参数则显示帮助信息。ping命令的语法如下。
ping
[-t]
[-a]
[-n Count]
[-l Size]
[-f]
[-i TTL]
[-v TOS]
[-r Count]
[-s Count]
[{-j HostList | -k HostList}]
[-w Timeout]
[TargetName]
对以上命令参数解释如下
-
-t
持续发送回声请求直到输入Ctrl+Break或Ctrl+C被中断,前者显示统计信息,后者不显示统计信息。

-
-a
用IP地址表示目标,进行反向名字解析,如果命令执行成功,则显示对应的主机名。 -
-n Count
说明发送回声请求的次数,默认为4次。 -
-l Size
说明了回声请求报文的字节数,默认是32,最大为65527。 -
-f
在IP头中设置不分段标志,用于测试通路上传输的最大报文长度。 -
-i TTL
说明IP头中TTL字段的值,通常取主机的TTL值,对于Windows XP主机,这个值是128,最大为255。 -
-v TOS
说明了IP头中TOS(Type of Service)字段的值,默认值是0。 -
-r Count
在IP头中添加路由记录选项,Count表示源和目标之间的跃点数,其值在1~9之间。 -
-s Count
在IP头中添加时间截(timestamp)选项,用于记录达到每一跃点的时间,Count的值在1~4之间。 -
-j HostList
在IP头中使用松散源路由选项,HostList指明中间节点(路由器)的地址或名字,最多9个,用空格分开。 -
-k HostList
在IP头中使用严格源路由选项,HostList指明中间节点(路由器)的地址或名字,最多9个,用空格分开 -
==-w Timeout
指明等待回声响应的时间(us),如果响应超时,则显示出错信息Request timed out,默认超时间隔为4s。 -
TargetName
用IP地址或主机名表示目标设备。
使用ping命令必须安装并运行TCP/IP协议,可以使用IP地址或主机名来表示目标设备。如果ping一个IP地址成功,但ping对应的主机名失败,则可以断定名字解析有问题。无论名字解析是通过DNS、NetBIOS,还是通过本地主机文件,都可以用这个方法进行故障诊断。
举例如下。【IP地址我会替换成192.168.1.1(方便测试)】
(1)如果要测试目标10.0.99.221并进行名字解析,则输入:
ping -a 192.168.1.1

(2)如果要测试目标10.0.99.221,发送10次请求,每个响应为1000字节,则输入:
ping -n 10 -l 1000 192.168.1.1

(3)如果要测试目标10.0.99.221,并记录4个跃点的路由,则输入:
ping -r 4 192.168.1.1

(4)如果要测试目标10.0.99.221,并说明松散源路由,则输入:
【暂时无测试,后面补上!】

图11-41所示为ping www.163.com.cn的结果。
【地址替换成百度】

arp
arp命令用于显示和修改地址解析协议缓存表的内容,缓存表项是IP地址与网卡地址对。
计算机上安装的每个网卡各有一个缓存表。如果使用不含参数的arp命令,则显示帮助信息。
arp命令的语法如下:
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缓存表,则使用参数-N IfaceAddr。这里,N必须大写。InetAddr和IfaceAddr都是IP地址。 - "[-g [InetAddr] [-N IfaceAddr]]"
与参数-a相同, - "[-d InetAddr [IfaceAddr]]"
删除由InetAddr指示的ARP缓存表项。如果要删除特定接口的ARP缓存表项,使用参数IfaceAddr指明接口的IP地址;如果要删除所有ARP缓存表项,使用通配符“*”代替参数InetAddr. - "[-s InetAddr EtherAddr [IfaceAddr]]"
添加一个静态的ARP表项,把IP地址InetAddr解析为物理地址EtherAddr.参数IfaceAddr指定了接口的IP地址。
IP地址InetAddr和IfaceAddr用点分十进制表示。物理地址EtherAddr由6个字节组成,每个字节用两个十六进制数表示,字节之间用连字符“-”分开,例如00-AA-00-4F-2A-9C.
用参数-s添加的ARP表项是静态的,不会由于超时而被删除。如果TCP/IP协议停止运行,ARP表项都被删除。为了生成一个固定的静态表项,可以在批文件中加入适当的arp命令,并在计算机启动时运行批文件。
举例如下。
(1)如果要显示ARP缓存表的内容,输入:
arp -a

(2)如果要显示IP地址为10.0.0.99【替换成192.168.1341.1】的接口的ARP缓存表,输入:
arp -a -N 192.168.134.1

(3)如果要添加一个静态表项,把IP地址10.0.0.80解析为物理地址00-AA-00-4F-2A-9C,则输入:
arp -s 192.168.134.1 00-AA-00-4F-2A-9C



netstat
netstat命令用于显示TCP 连接、计算机正在监听的端口、以太网统计信息、IP路由表、IPv4统计信息(包括IP、ICMP、TCP和UDP等协议)和IPv6统计信息(包括IPv6,ICMPv6、TCP over IPv6 和 UDP over IPv6等协议)等。如果不使用参数,则显示活动的TCP 连接。netstat命令的语法如下。
netstat
[-a]
[-e]
[-n]
[-o]
[-p Protocol]
[-r]
[-s]
[Interval]
对以上参数解释如下
- -a
显示所有活动的TCP连接,以及正在监听的TCP和UDP端口。 - -e
显示以太网统计信息,例如发送和接收的字节数,以及出错的次数等。这个参数可以与-s参数联合使用。 - -n
显示活动的TCP连接,地址和端口号以数字形式表示。 - -o
显示活动的TCP连接以及每个连接对应的进程ID。在Windows任务管理器中可以找到与进程ID对应的应用。这个参数可以与-a、-n和-p联合使用。 - -p Protocol
用标识符Protocol指定要显示的协议,可以是TCP、UDP、TCPv6或者UDPv6。如果与参数-s联合使用,则可以显示协议TCP、UDP、ICMP、IP、TCPv6,UDPv6,ICMPv6 或 IPv6的统计数据。 - -s
显示每个协议的统计数据。默认情况下,统计TCP、UDP、ICMP和IP协议发送及接收的数据包、出错的数据包、连接成功或失败的次数等。如果与-p参数联合使用,可以指定要显,示统计数据的协议。 - -r
显示IP路由表的内容,其作用等价于路由打印命令route print。 - Interval
说明重新显示信息的时间间隔,输入Ctrl+C则停止显示。如果不使用这个参数,则只显示一次。
netstat显示的统计信息分为4栏或5栏,解释如下。
。
-
Proto:表示协议的名字(例如TCP或UDP)。
-
Local Address:本地计算机的地址和端口。通常显示本地计算机的名字和端口名字(例如ftp),如果使用了-n参数,则显示本地计算机的IP地址和端口号。如果端口尚未建立,则用“*”表示。
-
Foreign Address:远程计算机的地址和端口。通常显示远程计算机的名字和端口名字,(例如ftp),如果使用了-n参数,则显示远程计算机的IP地址和端口号。如果端口尚,未建立,则用“*”表示。
-
State:表示TCP连接的状态,用下面的状态名字表示。
CLOSE_WAIT:收到对方的连接释放请求。
CLOSED:连接已关闭。
ESTABLISHED:连接已建立。
FIN_WAIT_1:已发出连接释放请求。
FIN_WAIT_2:等待对方的连接释放请求。
LAST_ACK:等待对方的连接释放应答。
LISTEN:正在监听端口。
SYN_RECEIVED:收到对方的连接建立请求。
SYN_SEND:已主动发出连接建立请求。
TIMED_WAIT:等待一段时间后将释放连接。
举例如下。
(1)如果要显示以太网的统计信息和所有协议的统计信息,则输入:
netstat -e -s

(2)如果要显示TCP和UDP协议的统计信息,则输入:
netstat -s -p tcp | netstat -s -p udp


(3)如果要显示TCP连接及其对应的进程ID,每4s显示一次,则输入:
netstat -o 4

(4)如果要以数字形式显示TCP连接及其对应的进程ID,则输入:
netstat -o -n

tracert
tracert命令的功能是确定到达目标的路径,并显示通路上每一个中间路由器的IP地址。通过多次向目标发送ICMP回声(echo)请求报文,每次增加IP头中TTL字段的值,就可以确定到达各个路由器的时间。显示的地址是路由器接近源这一边的端口地址。tracert命令的语法如下:
tracert
[-d]
[-h MaximumHops]
[-j HostList]
[-w Timeout]
[TargetName]
对以上参数解释如下:
- -d
不进行名字解析,显示中间节点的IP地址,这样可以加快跟踪的速度。 - -h MaximumHops
说明地址搜索的最大跃点数,默认值是30跳。 - -j HostList
说明发送回声请求报文要使用IP头中的松散源路由选项,标识符HostList列出必须经过的中间节点的地址或名字,最多可以列出9个中间节点,各个中间节点用空格隔开。 - -w Timeout
说明了等待ICMP回声响应报文的时间(js),如果接收超时,则显示星号“*”,默认超时间隔是4s。 - TargetName
用IP地址或主机名表示的目标。
这个诊断工具通过多次发送ICMP回声请求报文来确定到达目标的路径,每个报文中TTL字段的值都是不同的。通路上的路由器在转发IP数据报之前先要将TTL字段减1,如果TTL为0,则路由器就向源端返回一个超时(Time Exceeded)报文,并丢弃原来要转发的报文。在tracert第一次发送的回声请求报文中置TTL=1,然后每次加1,这样就能收到沿途各个路由器返回的超时报文,直至收到目标返回的ICMP回声响应报文。如果有的路由器不返回超时报文,那么这个路由器就是不可见的,显示列表中用星号“*”表示。
举例如下。【Replace the following address with Baidu】
(1)如果要跟踪到达主机corp7.microsoft.com【替换为百度】的路径,则输入:
tracert baidu.com

(2)如果要跟踪到达主机corp7.microsoft.com的路径,并且不进行名字解析,只显示中间节点的IP地址,则输入:
tracert -d baidu.com

(3)如果要跟踪到达主机corp7.microsoft.com的路径,并使用松散源路由,则输入:【未进行测试!】我可能又要鸽了!

pathping
pathping 结合了 ping 和tracert两个命令的功能,可以显示通信线路上每个子网的延迟和丢包率。pathping在一段时间内向通路中的各个路由器发送多个回声请求报文,然后根据每个路由器返回的数据包计算统计结果。由于pathping命令显示了每个路由器(或链路)丢失数据包的程度,所以用户可以据此确定哪些路由器或者子网存在通信问题。pathping命令的语法如下:
pathping
[-n]
[-h MaximumHops]
[-g HostList]
[-p Period]
[-q NumQueries]
[-w Timeout]
[-T]
[-R]
[TargetName]
对以上参数解释如下
- -n
不进行名字解析,以加快显示速度。 - -h MaximumHops
说明了搜索目标期间的最大跃点数,默认是30。 - -g HostList
在发送回声请求报文时使用松散源路由,标识符HostList列出了中间节点的名字或地址。最多可以列出9个中间节点,用空格分开。 - ==-p Period
说明两次ping之间的时间间隔(ms),默认为1/4s。 - -q NumQueries
说明发送给每个路由器的回声请求报文的数量,默认为100个。 - -w Timeout
说明每次等待回声响应的时间,默认是3s。 - -T
对发送的回声请求数据包附加上第二层优先标志(例如802.1p)。这样可以测试出不具备区分第二层优先级能力的设备,这个开关用于测试网络连接提供不同服务质量的能力。 - -R
确定通路上的设备是否支持资源预约协议(RSVP),这个开关用于测试网络连接提供不同,服务质量的能力。 - TargetName
用IP地址或名字表示的目标。
pathping 命令的参数是大小写敏感的,所以T和R必须大写。为了防止网络拥塞,ping的频率不能太快,这样也可以防止突发性地丢包。
当使用-p Period参数时,对每一个中间节点一次只发送一个回声请求包,对同一个节点,两次ping之间的时间间隔是PeriodX跃点数。
当使用-w Timeout参数时,多个回声请求包并行地发出,因此标识符Timeout规定的时间并不受由Period规定的时间限制。
IEEE 802.1p标准使得局域网交换机具有以优先级区分信息流的能力,向支持声音、图像和数据的综合业务方面迈进了一步。802.1p定义了8种不同的优先级,分别用于支持时间关键的通信(例如RIP和OSPF的路由更新报文),延迟敏感的应用(例如交互式语音和视频),可控负载的多媒体流,重要的SAP数据以及尽力而为(best-effort)的通信等。符合802.1p规范的交换机具有多队列缓冲硬件,可以对较高优先级的分组进行快速处理,使得这些分组能够越过低级别分组而迅速通过交换机。
在传统的单一缓冲区交换机中,当信息传输出现拥塞时,所有分组将平等地排队等待,直,到可继续前进。由于传统设备不能识别第二层优先级标签,那些带有优先标签的分组就会被丢弃,所以应用开关T可以区分传统交换机与可提供第二层优先级的交换机。
R参数用于对资源预约协议的测试。RSVP预约报文在会话开始之前首先发送给通路上的每一个设备。如果设备不支持RSVP,它返回一个ICMP“目标不可到达”报文;如果设备支持RSVP,它返回一个“预约错误信息”报文。有一些设备什么信息也不返回,如果这种情况出现,则显示超时信息。
图11-45的例子显示了命令C:>pathping -n corp 1的输出。pathping运行时产生的第一个结果就是路径列表,与tracert命令显示的结果相同。接着出现一个大约125s的“忙”消息,忙时间的长短随着跃点数的多少有所变化。在这期间,从上述列表中的路由器以及它们之间的链路收集统计信息,最后显示测试结果。

在图11-45所示的样本报告中,Node/Link、Lost/Sent=Pct和Address栏显示:在172.16.87.218与192.168.52.1之间的链路上丢包率是13%。第二跳和第四跳的路由器也丢失了数据包,但是对于它们转发的通信量不会产生影响。在图中的地址栏(Address)中,以直杠")”标识由于链路拥塞而产生的丢包,至于路由器丢包的原因,则可能是设备过载了。
nbtstat
这个命令显示NetBT(NetBIOS over TCP/IP)协议的统计信息,包括本地计算机和远程计算机的NetBIOS名字表,以及NetBIOS名字缓存。nbtstat也可以刷新NetBIOS名字缓存,刷新已经注册了的WINS名字。nbtstat命令的语法如下。
nbtstat
[-a RemoteName]
[-A IPAddress]
[-c]
[-n]
[-r]
[-R]
[-RR]
[-s]
[-S]
[Interval]
对以上参数解释如下
- -a RemoteName
显示远程计算机的NetBIOS名字表,用标识符RemoteName指示远程计算机的名字。 - -A IPAddress
显示远程计算机的NetBIOS名字表,用标识符IPAddress指示远程计算机的IP地址。 - -c
显示NetBIOS名字缓存的内容。 - -n
显示本地计算机的NetBIOS名字表。 - -r
显示NetBIOS名字解析的统计数据。在配置了WINS的Windows XP计算机上,这个参数返回通过广播解析的名字,以及通过WINS服务器解析的名字。 - -R
清除NetBIOS名字缓存,并从Lmhosts文件装载带有标签#PRE的预加载项目。 - -RR
释放并刷新本地计算机在WINS服务器中注册的名字。 - -s
显示NetBIOS客户端与服务器的会话,并把目标IP地址转换为名字。 - -S
显示NetBIOS客户端与服务器的会话,用IP地址表示远程计算机。 - Interval
多次显示统计数据,显示的间隔时间由标识符Interval(秒)表示,直至输入Ctrl+C停止显示。如果这个参数缺失,只显示一次。
nbtstat命令行参数是大小写敏感的,所以-A,-R,-RR和-S等必须大写。
表11-8表示nbtstat命令显示的列表栏目的含义。表11-9说明了NetBIOS连接的状态。


举例如下。【主机名全部替换成lvhanghmm进行测试,大部分的只能测试一个命令而已!】
(1)如果要显示远端计算机CORP07的NetBIOS名字表,则输入:
nbtstat -a lvhanghmm

(2)如果要显示地址为10.0.0.99的远端计算机的NetBIOS名字表,则输入:
nbtstat -A 192.168.134.1

(3)如果要显示本地计算机的NetBIOS名字表,则输入:
nbtstat -n

(4)如果要显示本地计算机NetBIOS名字缓存的内容,则输入:
nbtstat -c

(5)如果要清除NetBIOS名字缓存,并从本地Lmhosts文件重装预加载项目,则输入:
nbtstat -R

(6)如果要释放本地计算机在WINS服务器中注册的NetBIOS名字并重新注册,则输入:
nbtstat -RR

(7)如果要显示NetBIOS会话统计数据,每5s显示一次,则输入:
nbtstat -S 5

route
本文来自博客园,作者:{lvhanghmm},转载请注明原文链接:https://www.cnblogs.com/lvhanghmm/p/16003640.html

浙公网安备 33010602011771号