如何在Windows上诊断网络问题?

时间:2008-10-21 15:39:40

标签: windows networking

我经常遇到问题,我无法将某些东西连接到其他东西。我经常忘记检查一些明显的东西。你能帮忙吗?

  • 诊断连接问题的提示/技巧
  • 可以提供帮助的工具或应用程序的名称(及其有用的情况)

我知道这个问题有点不具体,但希望这些答案可以为那些试图让计算机/程序互相交流的人提供一个有用的起点。

请为每个答案给出一个答案,以便最好的答案可以投票。

14 个答案:

答案 0 :(得分:5)

调试网络问题时运行的简单检查:

  1. 每台机器都有一个IP地址,转到命令提示符并运行ipconfig。这里要检查的关键是接口,并确保适当的接口具有IP地址。
  2. 如果您在内部或虚拟网络上运行,则检查两台计算机的IP地址是否在同一范围和子网中。
  3. 尝试从另一台机器ping每台机器以查看它们是否可以相互通信。请注意,某些防火墙会阻止ping请求。
  4. 如果Ping失败,请检查防火墙是否处于活动状态。如果通信在“安全”内部网络内,则尝试禁用防火墙并重新ping通。
  5. 如果连接是通过无线网络连接,请检查信号强度。
  6. 如果ping失败并且您通过多个网络进行连接,请尝试运行tracert以查看哪个可能会显示网络连接失败的位置。
  7. 如果您能够ping但不能连接,请检查防火墙设置和网络连接设置。 Windows 2000+能够在连接属性上设置端口和IP访问。
  8. 尝试绘制连接的网络图,以帮助可视化问题。
  9. 如果您通过路由器,防火墙和负载均衡器进行连接,请检查所有设备是否与任何特定IP地址绑定,以及IP地址重定向(如果存在)是否正确。还要检查所有NAT日志,以查看是否正在接收连接并正确重定向。

答案 1 :(得分:3)

的Wireshark

最新版本的ProcMon

netstat的

答案 2 :(得分:2)

Wireshark www.wireshark.org

Wireshark是适用于Unix和Windows的网络协议分析器。

特点:

  • 深入检查数百个协议,并且不断添加更多协议
  • 实时捕捉和离线分析
  • 标准三窗格数据包浏览器
  • 多平台:在Windows,Linux,OS X,Solaris,FreeBSD,NetBSD等众多平台上运行
  • 可以通过GUI或通过TTY模式TShark实用程序浏览捕获的网络数据
  • 业界最强大的显示过滤器
  • 丰富的VoIP分析
  • 读/写许多不同的捕获文件格式:tcpdump(libpcap),Catapult DCT2000,Cisco Secure IDS iplog,Microsoft网络监视器,NetworkGeneralSniffer®(压缩和未压缩),Sniffer®Pro和NetXray®,Network Instruments Observer ,Novell LANalyzer,RADCOM WAN / LAN分析仪,Shomiti / Finisar Surveyor,Tektronix K12xx,Visual Networks Visual UpTime,WildPackets EtherPeek / TokenPeek / AiroPeek等等
  • 使用gzip压缩的捕获文件可以动态解压缩
  • 可以从以太网,IEEE 802.11,PPP / HDLC,ATM,蓝牙,USB,令牌环,帧中继,FDDI等读取实时数据(取决于您的平台)
  • 对许多协议的解密支持,包括IPsec,ISAKMP,Kerberos,SNMPv3,SSL / TLS,WEP和WPA / WPA2
  • 着色规则可应用于数据包列表,以便快速,直观地进行分析
  • 可以将输出导出为XML,PostScript®,CSV或纯文本。

答案 3 :(得分:2)

从下到上处理OSI模型

  1. 物理(您有网络适配器/连接)

  2. 链接层(arp,以太网端口被网络团队阻止(我已经看到锁定环境看到来自一个工作站端口的两个MAC地址并关闭端口)

  3. 网络层(ipconfig,tracert,ping,)
    • 您是否有网络地址(DHCP,已修复)
    • 您是否在适当的子网上/在子网之间进行路由
    • 中间阻挡你的东西
    • 防火墙,路由表

答案 4 :(得分:1)

如有疑问,请检查Windows防火墙是否弄乱了您的通信。 10次​​中有8次,这是错误的。

答案 5 :(得分:1)

使用tracert是一个很好的开始,可以看到您获得的链条有多远。

对于虚拟机,确保在Host os中正确设置环回适配器是个好主意。

答案 6 :(得分:1)

  • 最常用的工具是ping。它可用于测试您的连接和目标的可用性
  • 如果您想查看数据包丢失的位置,则第二个工具是tracert。
  • 对于更高级的调试,我使用以下工具:nmap,wireshark等。

答案 7 :(得分:1)

Windows有一个netstat实用程序,它与Unix netstat非常相似,可以执行许多不同的操作,可以帮助您解决网络问题。

随机示例:

netstat -r显示路由信息

netstat /?用法信息

答案 8 :(得分:1)

由于您说您正在使用2台虚拟机,我会猜测这两台机器都是在NAT配置中设置的(而不是唯一的网络设备) - 在NAT配置中,两台机器都不会(通常)能够ping另一个。

如果您熟悉命令行,可以尝试使用“netstat”命令。

您还可以尝试使用“arp -a”列出您的PC已知的所有IP / MAC地址。

“tracert [ip address]”命令将显示您的数据包在前往目的地途中跳过的网关/路由器数量。 (但是,如果两台机器在同一网络上,这可能没什么用。)

不要忘记检查Windows防火墙设置。

否则,如果你想沮丧和肮脏,你可以尝试称为Wireshark的数据包嗅探器:http://www.wireshark.org/(又名.Ethereal)

答案 9 :(得分:1)

拔出网线

如果您可以与设备进行某些通信(例如ping),但无法让您的程序与计算机上的服务进行通信。然后,尝试拔出网线,看看ping是否停止。这将验证您是否正在与您认为自己的计算机进行通信。

答案 10 :(得分:1)

在Windows上,用户使用PortQueryUI:http://www.microsoft.com/en-us/download/details.aspx?id=24009

答案 11 :(得分:1)

DNS活动:便携式DNS缓存和防火墙; 一般网络活动:Wireshark,网络监控; Windows实用程序:ping,netstat,nslookup。

答案 12 :(得分:0)

您需要使用消除过程,例如,如果您可以ping ip地址而不是主机名,那么就会出现DNS问题。如果您可以ping通系统但不能连接到共享等。

答案 13 :(得分:0)

DNS不同步

如果您正在使用虚拟机并对其执行回滚,则它可能与DNS(域名服务器)不同步。尝试删除并重新添加计算机到域,或者如果您有权访问DNS计算机,则让它刷新其缓存。