任务描述
能够学会使用常用网络排错工具进行网络故障诊断。
试验环境
ü Windows Server 2008企业版操作系统Windows Server 2008
ü 能够连接Internet
试验目标
ü 使用ipconfig检查本地连接配置
ü 使用ping测试网络连通性
ü 使用pathping跟踪数据包路径了解网络状态
ü 使用Telnet测试到远程计算机应用层的连接
ü 使用netstat检测网络状态
Ipconfig
IPConfig实用程序可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主机配置协议(Dynamic Host Configuration Protocol,DHCP——Windows NT下的一种把较少的IP地址分配给较多主机使用的协议,类似于拨号上网的动态IP分配),这个程序所显示的信息也许更加实用。这时,IPConfig可以让你了解你的计算机是否成功的租用到一个IP地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的IP地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。
Ipconfig /all,查看Ip地址是否冲突,如下图,提示IP地址冲突,需要重新更改一个IP地址。
ping
Ping 是DOS命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢。
PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者***来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。
Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。应用格式:Ping IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒***会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。 严禁ping***作为大多数防火墙的一个基本功能提供给用户进行选择。
ping本机IP,如下图本机IP地址为10.7.10.102,如果出现来自10.7.10.102的回复,则所示表明网卡安装配置没有问题,Ip地址也不冲突。
如果出现以下提示则表明IP地址冲突。
Ping 网关,能通,则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。局域网延迟一般在1毫秒,如果延迟持续多于1毫秒,则表明局域网有点堵塞。加参数 –t 就一直ping下去,按Ctrl +C 结束,否则测试4个包结束。
Ping远程IP,这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为:202.99.160.68。可以看到到该地址的响应延迟为68毫秒。
Ping 域名,这一命令测试你是否能够解析域名。Ping www.inhe.net 能够解析出IP地址,并且还能够和这个IP地址连通。如果出现找不到主机,那就是域名解析出现问题,检查域名拼写是否正确,再就是更改计算机使用首选和备用的DNS服务器。
Pathping
提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息。Pathping 在一段时间内将多个回响请求消息发送到源和目标之间的各个路由器,然后根据各个路由器返回的数据包计算结果。因为 pathping 显示在任何特定路由器或链接处的数据包的丢失程度,所以用户可据此确定存在网络问题的路由器或子网。Pathping 通过识别路径上的路由器来执行与 tracert 命令相同的功能。然后,该命令在一段指定的时间内定期将 ping 命令发送到所有的路由器,并根据每个路由器的返回数值生成统计结果。如果不指定参数,pathping 则显示帮助。
如果运行 pathping,在测试问题时首先将看到路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令将在下一个 125 毫秒内显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间收集信息。在此期间结束时,它显示测试结果。
最右边的两列 This Node/Link Lost/Sent=Pct 和 Address 包含最有用的信息。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。所有其他链接工作正常。在跃点 2 和 4 处的路由器也丢失了传送给它们的数据包(如 This Node/Link 列中所示),但是该丢失不会影响它们的转发路径。
对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发所丢失的数据包。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。
telnet
要验证使用已知的目标 TCP 端口号是否能建立 TCP 连接,您可以使用 telnet IPv4Address TCPPort 命令。例如,要验证 IPv4 地址为 131.107.78.12 的计算机上的 Web 服务器服务是否正在接受 TCP 连接,请使用 telnet 131.107.78.12 80 命令。
如果 Telnet 工具成功地创建了 TCP 连接,命令提示窗口将会清空,然后根据协议显示一些文本。此窗口允许您针对已连接的服务键入命令。键入 Control-C 退出 Telnet 工具。如果 Telnet 工具无法成功创建 TCP 连接,将显示消息“正在连接到 IPv4Address...不能打开到主机的连接,端口为 TCPPort:连接失败”。
如果你的计算机使用IE浏览器不能打开www.inhe.net网站,你不能确定是你的IE浏览器配置出现问题了还是中了恶意插件造成的。你需要使用telnet www.inhe.net 80 来检查是否能够使用TCP 80端口与www.inhe.net网站建立会话。如果使用telnet 能够建立会话则说明你的IE浏览器配置引起的问题,如果提示打开80端口失败,那就是网络问题引起的,应该检查防火墙是否过滤掉了TCP 80数据包。
在Windows Server 2008中需要添加Windows Server功能中的Telnet客户端,才能使用telnet命令。
如果 Telnet 工具成功地创建了 TCP 连接,命令提示窗口将会清空,否则将会提示在80端口连接失败,如图telnet www.inhe.net 21端口失败,说名www.inhe.net服务器没有使用TCP 21端口侦听的服务。
。
Netstat
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。在命令行下输入netstat /? 能够看到可用的参数。
C:\Users\hanligang>netstat /?
显示协议统计和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]
-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
将打印当前的配置信息一次。
使用netstat查看本地计算机侦听的端口
某家公司的网站不能访问了,操作系统是Windows2003。打开发现该Web站点停止,启动服务出现如下错误。如下图:
这台服务器上就一个Web站点,这肯定是其他程序占用了该Web站点使用的80端口,如何确认那个程序占用该端口了呢?
步骤:
1. 在命令提示符下输入 netstat –aonb >>c:\p.txt 这样就把输出结果保存在c:\p.txt记事本文件中了。
2. 打开c盘根目录下p.txt
3. Netstat –aonb 这个命令能够查看侦听的端口以及侦听端口的进程号和应用程序名字。发现是Web迅雷占用了80端口,造成服务器Web服务启动失败。
使用Netstat 找到了占用80端口的进程,原来是在改服务器上安装了Web迅雷占用了TCP的80端口,这和Web站点使用的端口冲突,所以Web站点启动失败。这个实例告诉我们,计算机上的网络服务必须使用独立的端口标识,如果冲突,后启动的服务将无法启动。
显示建立的会话查找***
某单位的服务器最近出现异常,网管感觉有人在操作他的服务器,他怀疑服务器中了***。他想查一下服务器,如何确认服务器是否有***?
只要你的计算机中了***,***程序会自动运行,或者作为你计算机上的一个服务或开机就自动运行的程序。然后就在后台偷偷的和远程成的客户端连接。***者就可以使用客户端远程控制你的计算机。
我们如何确认是否中了***程序?***程序会自动和外网的客户端建立连接,我们可以查看计算机的对外的连接,查找***。
步骤:
1. 登录计算机,但不访问其他计算机,并且保证Windows没有在后台更新系统或杀毒软件没有更新病毒库,因为这些活动也会建立会话,干扰你查找***。
2. 运行netstat –nb 查看有没有到Internet上连接。如下图,就有msnmsgr.exe对外建立的会话,不过他不是***。如果你觉得该进程可疑,可以访问www.baidu.com 输入msnmsgr 搜索,看看其是不是***程序。