当前位置: 首页 > news >正文

诊断排除基本的 TCP/IP 网络问题

概要
   连接到 IP 地址  
   无法连接到指定的 IP 地址  
   检查 TCP/IP 配置  
   连接环回地址  
   连接您的计算机的 IP 地址  
   清除地址解析协议 (ARP) 高速缓存  
   验证默认网关  
   连接其它计算机的 IP 地址  
   验证永久的路由表项目  
   使用 TRACERT 命令  
   验证其它计算机上的服务器服务  
   检查服务器的 IP 安全设置  
   无法连接指定的主机名或 NETBios 名  
   检查 HOSTS 文件  
   检查域名服务 (DNS) 配置  
   检查 LMHOSTS 文件  
   检查 Windows Internet 名称服务 (WINS) 配置
  

概要
在您使用 TCP/IP 作为网络协议时,可能会碰到一些网络通讯问题,本文讲述了如何疑难解答其中的一些常见问题。 这些问题通常可以分为以下两类:

• 无法连接指定的 IP 地址。
• 无法连接指定的主机名或 NetBIOS 名。

如果无法连接指定的 IP 地址,说明问题与基本连接有关。
如果能够连接指定的 IP 地址,但却不能用该 IP 地址的主机名或 NetBIOS 名进行连接,说明问题与名称解析有关。

无法连接到指定的 IP 地址

请按顺序遵循以下各部分中给出的过程。 完成每步过程之后,都要检查使用 IP 地址能否连接到另一台计算机。

检查 TCP/IP 配置
在使用 TCP/IP 作为网络协议时,TCP/IP 设置不当(比如 IP 地址不正确或子网掩码不正确)可能会引起通讯问题。 为了确定 Windows有没有记录因 TCP/IP 设置不正确而引起的错误,请检查“事件查看器”系统日志,看看有没有来源为 TCP/IP 或 DHCP 的任何项目。

如果在“事件查看器”系统日志中收到 TCP/IP 错误,请按照错误消息的说明解决每个错误。
如果“事件查看器”系统日志中没有错误,请按照下边的步骤确认所使用的 TCP/IP 配置信息是正确的:
1. 使用 IPCONFIG 命令来确定计算机的基本 TCP/IP 设置。 要这样做,请在命令提示符下键入 ipconfig。  
2. 验证 IPCONFIG 命令所显示的 IP 地址和子网掩码对您的计算机来说是正确的值。 如果您不能肯定什么是正确的值,请与网络管理员联系。  

连接环回地址
使用 PING 命令验证 TCP/IP 协议是否工作正常。 为此,请在命令提示符下键入以下命令来连接环回地址 (127.0.0.1):
ping 127.0.0.1

您应该收到类似下面的响应:

QUOTE:
Pinging 127.0.0.1 with 32 bytes of data:

   Reply from 127.0.0.1: bytes=32 time=<10ms TTL=128
   Reply from 127.0.0.1: bytes=32 time=<10ms TTL=128
   Reply from 127.0.0.1: bytes=32 time=<10ms TTL=128
   Reply from 127.0.0.1: bytes=32 time=<10ms TTL=128
如果在这一步收到错误消息,表明 TCP/IP 安装不正确。 请先卸载TCP/IP后重新启动计算机并重新安装
备注: 必须以拥有管理员权限的用户身份登录。


连接您的计算机的 IP 地址
如果能够成功 ping 到环回地址,请尝试 ping 您自己的 IP 地址:
在命令提示符下键入 ping <IP address>,其中 <IP address> 是您的计算机的 IP 地址。

您应该收到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:

   Reply from <###.###.###.###>: bytes=32 time=77ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=80ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=78ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=79ms TTL=128
其中,<###.###.###.###> 即是您计算机的 IP 地址。

如果在这一步您收到错误消息,说明 Windows 和网卡间的通讯可能有些问题。 要纠正这一问题,请删除并重新安装网卡驱动程序。
备注: 必须以拥有管理员权限的用户身份登录。

如果在删除网卡驱动程序并重新安装后,仍旧无法连接到您自己计算机的 IP 地址,请联系网卡制造商,看看您的网卡使用的驱动程序是否适当。


清除地址解析协议 (ARP) 高速缓存
地址解析协议 (ARP) 高速缓存实际上是最近解析的 IP 地址的一个列表,它们指向媒体访问控制 (MAC) 地址映射。 MAC 地址是嵌入在每个网卡上的唯一物理地址。

如果 ARP 高速缓存中有一项不正确,IP 数据报就可能被发往错误的计算机。
为了显示当前 ARP 高速缓存中的所有映射,请在命令提示符下键入 arp -a。
您应该收到“No ARP Entries Found”(如果 ARP 缓存为空)消息,或者是类似下面的响应:

QUOTE:
Interface: 10.1.1.3 on Interface 2
   Internet Address      Physical Address      Type
   10.1.1.7              08-00-02-06-ed-20     dynamic
   10.1.1.254            08-00-02-0a-a3-10     dynamic
为了删除 ARP 高速缓存中不正确的项,可用以下命令清除所有项:
arp -d <IP address>

其中 <IP address> 是存储在 ARP 高速缓存中的 IP 地址。 对 ARP 高速缓存中的每个项目均使用该命令,直到删除所有可疑项目为止。
或者直接使用:
arp -d

清空当前所有缓存项

要查看 ARP 命令的语法、选项和用法的详细信息,请在命令提示符下键入
arp /?


验证默认网关
使用 IPCONFIG 命令确定您的计算机是用来访问默认网关的 IP 地址的。 为此,请在命令提示符下键入 ipconfig。 验证所显示的默认网关的 IP 地址是否正确。 如果您不知道默认网关的正确 IP 地址是什么,请与网络管理员联系。

验证默认网关有正确的 IP 地址之后,再使用 PING 命令验证您能够连接默认网关的 IP 地址。 您应该收到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:
   Reply from <###.###.###.###>: bytes=32 time=77ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=80ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=78ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=79ms TTL=128
其中,<###.###.###.###> 即是默认网关的 IP 地址。

如果默认网关没有连到网络上,或者工作不正常,您可能会收到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:
   Request timed out.
   Request timed out.
   Request timed out.
   Request timed out.
如果连接不到默认网关的 IP 地址,请与网络管理员联系,看看默认网关有没有连到网络上以及工作是否正常。



连接其它计算机的 IP 地址
尝试连接其它计算机的 IP 地址。 要这样做,请键入 ping <IP address>,其中 <IP address> 是其它计算机的 IP 地址。 您应该收到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:
   Reply from <###.###.###.###>: bytes=32 time=77ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=80ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=78ms TTL=128
   Reply from <###.###.###.###>: bytes=32 time=79ms TTL=128
其中,<###.###.###.###> 即是其它计算机的 IP 地址。

如果在您的计算机和其它计算机之间有一台路由器配置不当,或者是其它计算机存在什么问题,您可能会收到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:
   Request timed out.
   Request timed out.
   Request timed out.
   Request timed out.
如果您的计算机与其它计算机处在不同的子网上,可以尝试从与其它计算机处于同一子网的某一台计算机来连接它。 如果从处于同一子网的某台计算机上也不能连接那台计算机,请确认那台计算机是否连接到了网络,以及您使用的 IP 地址是否正确。如果从处于同一子网的某台计算机上能够连接到那台计算机,请与网络管理员联系,以解决网络上可能存在的任何路由问题。


验证永久的路由表项目
使用 TCP/IP 作为网络协议的任何计算机都有一个路由表。 网络数据包从一台使用 TCP/IP 的计算机到另一台使用 TCP/IP 的计算机传输时,所采取的路由是由发送网络数据包的计算机的路由表确定的。

在每次重新启动计算机后,计算机的路由表都会自动重建。 您或者您的网络管理员可以向您的计算机的路由表中添加一些永久(静态)项。 每次路由表被重建时,这些永久项都会被自动重新插入到路由表当中。

要查看计算机的路由表,请使用 ROUTE 命令。 要这样做,请在命令提示符下键入 route print。 您应该收到类似下面的响应:

QUOTE:
Active Routes:

   Network Address   Netmask           Gateway Address  Interface   Metric

   0.0.0.0                 0.0.0.0           10.1.1.254             10.1.1.3       1
   10.1.0.0                255.255.0.0       10.1.1.3         10.1.1.3           1
   10.1.1.3                255.255.255.255   127.0.0.1        127.0.0.1      1
   10.255.255.255      255.255.255.255   10.1.1.3         10.1.1.3        1
   127.0.0.1               255.0.0.0         127.0.0.1        127.0.0.1          1
   224.0.0.0               224.0.0.0         10.1.1.3         10.1.1.3            1
   255.255.255.255   255.255.255.255   10.1.1.3         10.1.1.3          1
与网络管理员核实您的计算机中所有永久项目都是有效的。


使用 TRACERT 命令
TRACERT 命令能够报告 TCP/IP 数据包在发送到另一台主机时所经过的每台路由器和网关。 要使用 TRACERT 命令跟踪您的计算机与其它计算机之间的路由线路,请在命令提示符下键入 tracert <IP address>,其中 <IP address> 是其它计算机的 IP。 您应该收到类似下面的响应:

QUOTE:
Tracing route to <IP address> over a maximum of 30 hops:

     1   <10 ms   <10 ms   <10 ms  <###.###.###.###>
     2    50 ms    50 ms    51 ms  <###.###.###.###>
     3   250 ms    80 ms    50 ms  <###.###.###.###>

   Trace complete.
其中,每个 <###.###.###.###> 分别是一台不同路由器的 IP 地址。

如果网络数据包试图通过的某台路由器存在问题,您可能会收到类似下面的响应:

QUOTE:
Tracing route to <IP address> over a maximum of 30 hops:

     1   <10 ms   <10 ms   <10 ms  <###.###.###.###>
     2     *        *        *     Request timed out.
     3     *        *        *     Request timed out.
     4     *        *        *     Request timed out.
如果在您的计算机和另一台计算机之间的某台路由器有配置错误,您可能会收到类似下面的响应:

QUOTE:
Tracing route to <IP address> over a maximum of 30 hops:

     1   <10 ms   <10 ms   <10 ms  <###.###.###.###>
     2    50 ms    50 ms    51 ms  <###.###.###.###>
     3  <###.###.###.###>  reports: Destination net unreachable.
当在您的计算机和另一台计算机之间存在代理或防火墙时,您也可能会收到类似上面的响应。

如果在用 TRACERT 命令跟踪两台计算机之间的路由时,得不到成功的响应,请与网络管理员联系,以确定两台计算机间有没有路由问题。



验证其它计算机上的服务器服务
验证其它计算机上是否运行了适当的服务器服务。 例如,如果您正试图用 Telnet 工具连接其它计算机,请确认该台计算机已被配置为 Telnet 服务器。

为了验证其它计算机上正在运行适当的服务器服务,请尝试从与该台计算机同处一个子网的另一台计算机连接它。 如果从处于同一子网的计算机上不能连接该台计算机,请与网络管理员联系,验证该台计算机上的服务器服务配置是否正确,以及是否工作正常。 如果能够连接到其它计算机,请与网络管理员联系,以解决网络上可能存在的任何路由问题。


检查服务器的 IP 安全设置
其它计算机上服务的端口设置,可能与您建立连接时使用的端口设置不同。 下面的图表列出了各种协议的标准端口设置:

QUOTE:
端口:   协议:
-----   ---------
80      HTTP
21      FTP
23      Telnet
70      Gopher
使用 Telnet 工具验证其它计算机的配置允许在您使用的端口上建立连接。 为此,请在命令提示符下键入以下命令行:
telnet <IP address> <port>
其中,<IP address> 是其它计算机的 IP 地址,而 <port> 是您试图用来建立连接的端口。 例如,如果您正试图在端口 21 上与其它计算机建立连接,则应键入 telnet <IP address> 21。

如果没有收到错误消息,表明那台计算机的配置允许在那个端口上建立连接。 您应该能够在该端口上建立使用适当服务的连接。

如果收到错误消息,表明那台计算机的配置可能不允许在那一端口上建立连接。 请与网络管理员联系,以获得能得到那台计算机服务的有效端口号。

无法连接指定的主机名或 NETBios 名

如果您能使用 IP 地址连接到其它计算机,但不能使用那台计算机的主机名或 NetBIOS 名连接到那台计算机,表明可能存在名称解析问题。 在网络上,有很多种方法可以完成名称解析的任务,包括:

• HOSTS 文件
• 域名服务 (DNS)
• LMHOSTS 文件
• Windows Internet 名称服务 (WINS)  

如果您不能肯定使用哪一种方法来完成网络名称解析,请与网络管理员联系。 请按顺序遵循以下各部分中给出的过程。 完成每步的过程之后,都要检查使用主机名或 NetBIOS 名能否连接到其它计算机。

检查 HOSTS 文件
HOSTS 文件是文本文件,您可以用任意文本编辑器(如“记事本”程序)进行编辑。 如果您的网络使用 HOSTS 文件进行主机名称解析,而使用主机名无法连接到其它计算机,那么表明在 HOSTS 文件中可能存在无效项。 在 HOSTS 文件中搜索其它计算机的主机名,验证每个主机名只对应一项,然后验证该台计算机主机名对应的项是有效的。

有关 HOSTS 文件的详细信息,请参见 %SystemRoot%\System32\Drivers\Etc 文件夹下的 HOSTS 示例文件。


检查域名服务 (DNS) 配置
域名服务 (DNS) 服务器提供了主机名称解析。 如果您的网络用 DNS 作为主机名称解析方法,而用主机名无法连接其它计算机,表明您的计算机 DNS 配置或网络上的 DNS 服务器可能存在某些问题。

为了确定是否是计算机 DNS 配置的问题,请遵循以下步骤:
1. 在命令提示符下键入 ipconfig /all,以显示 DNS 服务器的 IP 地址。 如果 DNS 服务器的 IP 地址没有显示出来,请与网络管理员联系,以获取 DNS 服务器的 IP 地址。  
2. 通过连接 DNS 服务器 IP 地址,验证您是否能够与 DNS 服务器通讯。 您应该看到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:

      Reply from <###.###.###.###>: bytes=32 time=77ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=80ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=78ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=79ms TTL=128
其中,<###.###.###.###> 即是 DNS 服务器的 IP 地址。  
如果您连接不到 DNS 服务器的 IP 地址,请与网络管理员联系,以核实 DNS 服务器的 IP 地址是否正确,以及 DNS 服务器是否连接在网络上并且是否工作正常。

如果您能够连接到 DNS 服务器的 IP 地址,却不能解析其它计算机的主机名,表明 DNS 服务器可能无法正确解析主机名。 如果网络上有多台 DNS 服务器可用,请配置您的计算机使用另一台 DNS 服务器。 如果另一台 DNS 服务器可以解析其它计算机的主机名,或者没有其它 DNS 服务器可用,请联系网络管理员,以纠正最初 DNS 服务器的问题。

验证 DNS 服务器有正确的 IP 地址之后,请更新您计算机的 TCP/IP 设置。 如果您用拨号连接建立到网络的连接,只需要将拨号网络电话簿项中的 TCP/IP 设置更改为 DNS 服务器的正确 IP 地址即可。


检查 LMHOSTS 文件
LMHOSTS 文件是文本文件,可以用任何文本编辑器(如“记事本”程序)进行编辑。 如果您的网络使用 LMHOSTS 文件作为名称解析方法,而使用 NetBIOS 名无法连接其它计算机,则表明 LMHOSTS 文件中可能存在无效项。 在LMHOSTS 文件中搜索其它计算机的 NetBIOS 名,验证对应每个 NetBIOS 名只有一项,然后验证对应其它计算机的 NetBIOS 名的项是正确的。

如果在 LMHOSTS 文件中有任何 #INCLUDE 项,或任何从 #BEGIN_AlterNATE 到 #END_AlterNATE 的行块,请临时禁用所有这些行或行块(在禁用的每行的开头加上 # 字符和一个空格)。

如果禁用这些行或行块能够解决问题,请一行一行地重新启用这些行或行块,直到问题重新出现。 这样您就能确定具体是哪一行或行块引起的问题,然后检查该行指向的 LMHOSTS 文件。

有关 LMHOSTS 文件的更多信息,请参见 %SystemRoot%\System32\Drivers\Etc 文件夹下的 Lmhosts.sam 示例文件。


检查 Windows Internet 名称服务 (WINS) 配置 Windows Internet 名称服务 (WINS) 服务器提供 NetBIOS 名称解析。 如果您的网络用 WINS 作为 NetBIOS 名称解析方法,而使用 NetBIOS 名您无法连接到其它计算机,表明您的计算机 WINS 配置或网络上的 WINS 服务器可能存在什么问题。

为了确定是不是计算机的 WINS 配置有问题,请遵循以下步骤:
1. 在命令提示符下键入 ipconfig /all,以显示 WINS 服务器的 IP 地址。 如果 WINS 服务器的 IP 地址没有显示出来,请与网络管理员联系,以获取 WINS 服务器的 IP 地址。  
2. 通过连接 WINS 服务器的 IP 地址,验证您是否能够与 WINS 服务器进行通讯。 您应该看到类似下面的响应:

QUOTE:
Pinging <###.###.###.###> with 32 bytes of data:

      Reply from <###.###.###.###>: bytes=32 time=77ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=80ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=78ms TTL=128
      Reply from <###.###.###.###>: bytes=32 time=79ms TTL=128
其中,<###.###.###.###> 即是 WINS 服务器的 IP 地址。  
如果连接不到 WINS 服务器的 IP 地址,请与网络管理员联系,以核实您的 WINS 服务器是否有正确的 IP 地址,以及 WINS 服务器是否已经连接到网络上并且工作正常。

如果您能够连接到 WINS 服务器的 IP 地址,却不能解析其它计算机的 NetBIOS 名,表明 WINS 服务器可能无法正确解析 NetBIOS 名。 如果网络上有多台 WINS 服务器可用,请配置您的计算机使用另一台 WINS 服务器。 如果另一台 WINS 服务器可以解析其它计算机的 NetBIOS 名,或者没有其它 WINS 服务器可用,请与网络管理员联系,以便纠正原 WINS 服务器的问题。

验证 WINS 服务器有正确的 IP 地址之后,请更新您计算机的 TCP/IP 设置。 如果您用拨号连接建立与网络的连接,您只需要将拨号网络电话簿项中的 TCP/IP 设置更改为 WINS 服务器的正确 IP 地址即可

相关文章:

  • 数学名师沈赫哲----在台大上课的演讲全文!!
  • 针对 xml 数据类型的 XQuery (摘自SQL Server 2005 联机丛书)
  • C#谜题86: 有害的括号垃圾
  • 思科新logo
  • [转载]asp.net中page对象生命周期和各事件执行顺序
  • SQL Server连接中三个常见的错误分析(转)
  • 微软 DLinq技术来临前的国内 .NET 的 ORM 发展之局势
  • 第二篇 收购与发展
  • 一个小网工的笔记1
  • “应用”按钮,一个让人比较郁闷的设计
  • 越来越冷了
  • 闲谈: 测试报告系统
  • 美国SkillSoft巨资收购NETg公司,巩固全球霸主地位
  • 可爱的扇贝
  • UUID and GUID
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • CSS中外联样式表代表的含义
  • java8 Stream Pipelines 浅析
  • Kibana配置logstash,报表一体化
  • Linux下的乱码问题
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python进阶细节
  • Spring框架之我见(三)——IOC、AOP
  • windows-nginx-https-本地配置
  • 不上全站https的网站你们就等着被恶心死吧
  • 记一次删除Git记录中的大文件的过程
  • 力扣(LeetCode)56
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • ionic入门之数据绑定显示-1
  • Java总结 - String - 这篇请使劲喷我
  • 如何用纯 CSS 创作一个货车 loader
  • (12)Linux 常见的三种进程状态
  • (13):Silverlight 2 数据与通信之WebRequest
  • (a /b)*c的值
  • (Note)C++中的继承方式
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (多级缓存)缓存同步
  • (力扣题库)跳跃游戏II(c++)
  • (十五)使用Nexus创建Maven私服
  • (转)linux下的时间函数使用
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ./和../以及/和~之间的区别
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net 8.0 新的变化
  • .NET DataGridView数据绑定说明
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .net反混淆脱壳工具de4dot的使用
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • @Repository 注解
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [<死锁专题>]
  • [20140403]查询是否产生日志
  • [2016.7.Test1] T1 三进制异或