在排除奇怪的PC,应用程序和系统问题时,通常得出的结论是“这必须是网络问题”。现在,发表此声明的人通常会把钱推给一个人,后者要弄清楚到底有什么神秘的“网络问题”。如果您正在阅读此书,那么有人可能就是您.
在本文中,我们将向您介绍一些工具,这些工具可帮助您简化网络疑难解答的工作,并提供示例以帮助您入门。无论您是希望自己解决问题的高级用户,是要证明事实确实是开发人员的错的系统管理员,还是想要为您的IT员工配备有助于更有效地解决问题的工具的团队负责人,本文都将给你的东西.
我们会详细介绍我们在下面选择的每种工具,但是如果您时间有限,这是我们的 最佳网络诊断和故障排除工具列表:
- SolarWinds端口扫描仪(免费下载) –免费工具,用于检查网络设备上的端口,以确保您没有打开无人参与的端口.
- 使用PRTG进行Paessler网络故障排除(免费试用) –包含端口监控的基础架构管理系统.
- 平 –检查连接速度的简单命令行实用程序.
- 特雷特 –免费的命令行实用程序,列出了到网络或Internet目标地址的可能跳数.
- ipconfig –此命令行工具报告PC上所有网络适配器的IPv4和IPv6地址,子网和默认网关.
- 网络统计 –此工具显示计算机上的活动连接.
- Nslookup –适用于Windows,Unix,Linux和Mac OS,此工具可为您提供DNS服务器诊断.
- 速度和上/下测试站点 –将测试您的互联网连接的网站列表.
- Sysinternals –用于Windows的Microsoft工具集,可帮助解决和配置Active Directory.
- Wireshark –免费的数据包嗅探器,可帮助您分析流量.
- 地图 –需要使用配套实用程序Zenmap作为用户界面的网络安全和监视工具.
网络故障排除快速指南
对于希望利用PC上已有工具的网络管理员来说,现代Windows操作系统附带了许多可用的网络故障排除工具,而无需安装任何其他应用程序。列表中的五个工具(ping,tracert,ipconfig,netstat, & nslookup)可以直接从Windows命令提示符(cmd.exe)执行,而无需安装任何其他程序进行高级故障排除.
您的网络将面临的主要问题是它的运行速度似乎太慢。数据从源到达目的地所花费的时间可能太长,最终用户访问的应用程序会放弃并报告网络故障。在其他情况下,慢速网络使交互式工具(如VoIP或视频流)无法使用。通过使用此列表中的所有工具,您可以组合一个工作流,该工作流将为您提供有关所有潜在网络问题的信息。如果网络工程师对您的网络进行了正确的规划,则永远不会遇到导致系统变慢的问题,并且网络管理应该是一项令人愉快的任务. 网络问题的主要原因,例如速度慢,连接断开以及丢包集中在过载的网络设备(例如交换机和路由器)上,或者路由表和其他系统数据库(例如DNS服务器或DHCP)中的信息丢失系统.
逐步执行列表中每个工具提供的标准性能测试,将揭示网络中的瓶颈或显示DNS故障或解决导致连接问题的冲突.
最好的网络故障排除工具
与大多数工作一样,在进行网络故障排除时,您使用的工具可能会有所不同。在编制此列表时,我们考虑了在各种情况下使用该工具的可靠性,易于设置和使用,文档和支持以及如何保持软件的最新状态.
1.“SolarWinds端口扫描器” (免费下载)
SolarWinds免费端口扫描程序具有直观且易于上手的GUI,其优点类似于流行的nmap端口扫描程序(我们也在此列表中讨论)。如果您想深入了解网络故障排除和端口扫描领域,那么此工具是一个很好的起点。易用性有助于消除其他类似工具可能具有的一些技术壁垒.
免费下载:SolarWinds端口扫描程序工具
该扫描仪是可移植的可执行文件,可以在Windows操作系统上运行。除了扫描TCP和UDP端口以确定它们是否已打开/关闭/过滤之外,SolarWinds Port Scanner还能检测MAC地址和操作系统。扫描结果可以以.csv,.xlsx或.xml格式保存。您可以在此处免费下载SolarWinds Port Scanner。.
SolarWinds Port Scanner在SolarWinds.com下载免费工具
2.使用PRTG进行Paessler网络故障排除(免费试用)
Paessler的PRTG是一个完整的监控系统。它可以帮助您进行故障排除,因为它能够跟踪协议栈中的性能问题并找出问题的根源。端口监视是可以与此工具一起使用的故障排除技术之一。.
PRTG系统包括两个端口监控传感器. 一个驻留在特定设备的指定端口上,另一个将检查端口号范围。该工具仅监视TCP端口。端口范围传感器具有单端口传感器没有的一项额外功能。您可以将其设置为检查具有TLS保护的端口。两个传感器都报告端口的响应时间以及端口是打开还是关闭.
PRTG包括网络流量分析工具,可帮助您解决交付速度问题。该工具包括多种流量监视技术,包括使用Traceroute和Ping扫描进行到目标的路由跟踪,这将为您提供对网络上每个节点的响应时间。数据包嗅探实用程序可以告诉您哪些应用程序和端点正在产生过多的流量,并且您可以查询网络设备以查看哪些设备拥塞到排队点.
Paessler构建了一个工具,该工具涵盖服务器和应用程序以及网络状态,端口响应时间和服务,以监视可能导致软件性能问题的所有情况。如果您的网络上有VM,PRTG可以对它们的基础连接,服务,服务器和操作软件进行分类。该监视是恒定的,因此您将能够追溯事件以发现任何性能问题的根源.
Paessler将PRTG作为云服务提供,或者您可以在自己的场所安装该软件。该工具安装在Windows Server环境中。您最多可以免费使用该系统,最多可使用100个传感器。佩斯勒(Paessler)提供30天的免费试用,传感器数量不受限制,因此您可以评估监视和故障排除工具.
Paessler PRTG Network Monitor下载30天免费试用版
3.平
当需要在两个主机之间的IP级别确认网络连接或确认TCP / IP堆栈在本地计算机上工作时,Ping是理想的命令。成功的ping操作可以确认两个主机之间的网络连接,并且还可以提供有关数据包丢失的报告。以下是成功对“ google.com”远程主机执行ping命令的示例.
C:\用户>ping google.com
使用32个字节的数据对google.com [172.217.9.46]进行ping操作:
来自172.217.9.46的回复:字节= 32时间= 38毫秒TTL = 56
来自172.217.9.46的回复:字节= 32时间= 12毫秒TTL = 56
来自172.217.9.46的回复:字节= 32时间= 14毫秒TTL = 56
来自172.217.9.46的回复:字节= 32时间= 12毫秒TTL = 56
172.27.7.9.46的Ping统计信息:
数据包:已发送= 4,已接收= 4,丢失= 0(丢失0%),
大约往返时间(以毫秒为单位):
最小值= 12ms,最大值= 38ms,平均值= 19ms
这些结果除了确认与“ google.com”的IP连接性之外,还证实了我们能够正确解析域名(即DNS在本地计算机上工作).
那 失利 在ping输出的最后一行中看到的图是丢包数,然后是括号中的丢包率.
有关使用ping命令进行高级故障排除的一些专业提示:
- 使用ping –t连续ping主机。例如:
ping –t google.com
将继续对google.com进行ping操作,直到ping操作中断。按Ctrl-c(“ CTRL”和“ C”键)结束连续ping.
- 如果您无法ping诸如google.com之类的域名,但可以ping互联网上的8.8.8.8之类的IP地址(Google的DNS服务器),则可能是与DNS相关的问题.
- 如果无法像8.8.8.8那样在Internet上ping IP地址,但是可以在局域网(LAN)上ping主机,则默认网关可能有问题.
- 您可以使用“ ping localhost”,“ ping :: 1”或“ ping 127.0.0.1”来测试本地计算机上的TCP / IP堆栈。 “ localhost”是解析为本地计算机的环回地址之一的名称,“ :: 1”是IPv6环回地址,“ 127.0.0.1”是IPv4环回地址.
4. Tracert
Tracert与ping类似,不同之处在于Tracert利用生存时间(TTL)值显示两个主机之间有多少“跳”。这使它成为确定网络连接故障发生位置的有用工具。基本上,tracert可帮助您了解计算机与远程主机之间的路由器或网络是否受您控制。再次以google.com为例,我们可以看到PC与google.com之间存在10跳.
C:\用户>tracert google.com
跟踪到google.com的路线[172.217.4.78]
最多30个跃点:
1毫秒1毫秒3毫秒192.168.1.1
2 246毫秒49毫秒56毫秒10.198.1.177
3 58毫秒48毫秒54毫秒10.167.184.102
4 63毫秒55毫秒85毫秒10.167.184.107
5 50毫秒55毫秒56毫秒10.164.72.244
6 72毫秒365毫秒69毫秒10.164.165.43
7 92毫秒61毫秒45毫秒209.85.174.154
8 67毫秒42毫秒58毫秒108.170.244.1
9 372毫秒66毫秒46毫秒216.239.51.145
10毫秒64毫秒73毫秒44毫秒lga15s47-in-f78.1e100.net 172.217.4.78]
跟踪完成.
5. ipconfig
确定计算机上的IP设置是网络故障排除的重要组成部分。 ipconfig命令可以帮助您做到这一点。在命令提示符下输入ipconfig将返回PC上所有网络适配器的IPv4和IPv6地址,子网和默认网关。这有助于确定您的计算机是否具有正确的IP配置。此外,ipconfig可用于更改或更新选择的IP设置.
使用ipconfig的专业提示:
- 如果ipconfig返回以169.254开头的IP地址(例如169.254.0.5),则说明您的PC可能已配置为使用DHCP,但无法从DHCP服务器接收IP地址.
- 使用ipconfig / all获取所有网络适配器和接口的完整TCP / IP配置信息.
- 使用ipconfig / release释放当前DHCP分配的网络参数.
- 使用ipconfig / renew续订当前DHCP分配的网络参数.
- 解决名称解析问题时,请使用ipconfig / flushdns清除DNS缓存.
6. Netstat
Netstat允许您显示本地计算机上的活动连接。当确定为什么用户无法连接到服务器上的给定应用程序或确定从计算机到远程主机建立了哪些连接时,这将很有帮助。在命令提示符下输入netstat将显示所有活动的TCP连接。向netstat命令添加参数将扩展或更改功能。以下是一些有用的netstat命令及其作用:
- netstat –a显示所有活动的TCP连接以及计算机正在侦听的TCP和UDP端口.
- netstat –n像netstat命令一样显示所有活动的TCP连接,但它不会尝试将地址或端口号转换为名称,而仅显示数值.
- netstat –o显示所有活动的TCP连接,并包括使用每个连接的进程的进程ID(PID).
您可以组合不同的参数来扩展netstat的功能。例如,netstat –ano将显示所有活动的TCP连接以及计算机正在侦听的TCP和UDP端口,使用数值,并报告与连接相关的PID.
7. Nslookup
nslookup是一个有用的命令行实用程序,可用于DNS故障排除和诊断。 Nslookup在Windows和* nix操作系统上可用。此灵活的实用程序有多种用例,可以在交互模式下运行,也可以通过在命令提示符下直接输入命令来运行.
为了帮助您入门,我们将回顾一些nslookup命令,这些命令在三种最常见的用例中很有用:根据域名查找IP地址,根据IP地址查找域名以及查找电子邮件服务器一个域。下面是如何从Windows命令提示符执行每个操作的示例.
根据域名查找IP地址:
C:\用户>nslookup google.com
伺服器:ns2.dns.mydns.net
地址:192.168.247.45
非权威答案:
名称:google.com
地址:2607:f8b0:4009:805 :: 200e
172.217.10.46
上面的输出显示我们在本地计算机上使用的DNS服务器是ns2.dns.mydns.net,并且由于ns2.dns.mydns.net并不是Google域中的权威名称服务器,因此我们得到了“非权威性答案” 。如果我们想在查询中指定其他DNS服务器,只需在命令后添加DNS服务器的域名或IP地址,就像这样(使用CloudFlare的1.1.1.1 DNS服务器).
C:\用户>nslookup google.com 1.1.1.1
伺服器:1dot1dot1dot1.cloudflare-dns.com
地址:1.1.1.1
非权威答案:
名称:google.com
地址:2607:f8b0:4009:812 :: 200e
216.58.192.174
根据IP地址查找域名
根据IP地址查找域名的过程与之前的过程类似,只需在“ nslookup”命令后使用IP地址代替域名即可。例如,要查找IP地址8.8.8.8的完全限定域名(FQDN),我们将使用以下命令:
C:\用户>nslookup 8.8.8.8
伺服器:ns2.dns.mydns.net
地址:192.168.247.45
名称:google-public-dns-a.google.com
地址:8.8.8.8
根据输出,我们可以看到与8.8.8.8关联的FQDN是“ google-public-dns-a.google.com”,考虑到8.8.8.8是可从Google获得的两个流行的公共DNS服务器之一,因此这很有意义.
查找域的电子邮件服务器
有时,您可能需要确定域上可用的电子邮件服务器。为此,我们只需要指定要使用–ty开关查找MX记录。在下面的示例中,我们将检查gmail.com返回了哪些邮件服务器:
C:\用户>nslookup -ty = mx gmail.com
伺服器:ns2.dns.mydns.net
地址:192.168.247.45
非权威答案:
gmail.com MX首选项= 40,邮件交换器= alt4.gmail-smtp-in.l.google.com
gmail.com MX首选项= 5,邮件交换器= gmail-smtp-in.l.google.com
gmail.com MX首选项= 30,邮件交换器= alt3.gmail-smtp-in.l.google.com
gmail.com MX首选项= 10,邮件交换器= alt1.gmail-smtp-in.l.google.com
gmail.com MX首选项= 20,邮件交换器= alt2.gmail-smtp-in.l.google.com
在此,返回了五个邮件服务器以及MX首选项值。 MX首选项值越低,该服务器的优先级越高(即应首先使用那些服务器).
8.加速和减速测试站点
有时,您需要通过确定问题是客户端计算机访问网站还是网站本身来开始进行故障排除。有许多站点可以帮助您做到这一点。例如,Uptrends的正常运行时间检查工具可让您从全球各地的检查站检查网站的状态和响应时间.
如果您需要确定为什么某些用户可以访问您的网站而其他用户不能访问您的网站,这将特别有用。要进行更简单但更繁琐的上/下检查,您可以尝试“适合所有人”或“仅我自己”.
另外,您可能需要一种快速简便的方法来测试您的上传和下载速度,以查看是否存在带宽或延迟问题。我们的宽带速度测试是做到这一点并帮助为慈善事业筹款的好方法.
9. Sysinternals
Microsoft的Sysinternals网络实用程序将为需要高级网络诊断和故障排除工具的Windows管理员提供良好的服务。 Sysinternals实用程序包括可帮助解决和配置Active Directory(AD)的工具,例如AD Explorer和AD Insight。其他工具可以帮助评估网络性能(PsPing),扫描文件共享(ShareEnum),远程列出或运行进程(PsTools)等。如果只需要一个或几个Sysinternals实用程序,则可以单独安装它们,而不是下载整个Sysinternals Suite.
10. Wireshark
Wireshark是协议分析仪,是需要各种粒度的网络问题进行故障排除时,适合各种规模组织的联网工具之一。使用Wireshark分析网络流量的好处是,您将能够查看原始网络数据包,这通常使您能够确定问题的根本原因。在不清楚哪个应用程序没有按预期执行的情况下,或者当您尝试对文档不良的程序的功能进行反向工程时,这可能会特别有用。这里的权衡是您将要解析大量数据,因此可能需要一些技术知识才能深入了解和识别重要信息。您可以在这里免费下载Wireshark.
在Windows操作系统上,通常使用Winpcap可以使用WireShark捕获链路层数据包(需要Winpcap或Npcap)。除了在Windows上启用WireShark外,Winpcap还可以启用功能强大的Windump命令行实用程序,该实用程序是Windows对许多* nix操作系统上流行的tcpdump程序的答复。要深入了解Winpcap,Windump和tcpdump,请查看我们最近有关数据包嗅探器和网络分析器的文章.
虽然WireShark是出色的工具,但对于初学者来说,生成的数据并不总是最容易的。如果您正在寻找一种方法来更好地可视化和解析使用WireShark生成的数据,SolarWinds Response Time Viewer可以为您提供帮助。该工具使用户可以加载和分析.pcap文件,并提供易于阅读的响应时间和数据量摘要.
适用于WireShark的SolarWinds响应时间查看器下载免费工具
11. Nmap
Nmap是一种流行的安全审核和网络探索工具,在基于GPLv2的自定义开源许可证下发布。尽管nmap最受欢迎的用例是安全扫描和渗透测试,但它也可以作为网络故障排除工具非常有用。例如,如果您正在处理一个陌生的应用程序,并且想了解正在运行哪些服务以及打开了哪些端口,nmap可以为您提供帮助。 Nmap本身使用命令行界面(CLI),但这并不意味着您不喜欢图形用户界面(GUI)。 Zenmap是官方的nmap GUI,是初学者开始使用nmap的好方法。有关Zenmap的更多信息以及对nmap的更深入了解,请查看我们的10篇2023年最佳免费端口检查器文章.
摘要
我们在这里讨论的工具非常适合在网络工具箱中使用,我们建议您下次尝试使用一些令人头疼的网络故障排除方案时,尝试其中的一些工具。我们是否遗漏了您最喜欢的网络故障排除工具中的任何一个,或者您对此处提到的工具有疑问?在下面的评论部分让我们知道.
个跳。以下是执行tracert命令的示例: C:\用户>tracert google.com 跟踪到google.com [172.217.9.46]的路由: 1 1 ms <1毫秒<1毫秒<1毫秒 192.168.1.1 2 8 ms 8 ms 8 ms 10.0.0.1 3 9 ms 9 ms 9 ms 68.85.211.129 4 10 ms 10 ms 10 ms 68.85.211.129 5 11 ms 11 ms 11 ms 68.85.211.129 6 12 ms 12 ms 12 ms 68.85.211.129 7 13 ms 13 ms 13 ms 68.85.211.129 8 14 ms 14 ms 14 ms 68.85.211.129 9 15 ms 15 ms 15 ms 68.85.211.129 10 16 ms 16 ms 16 ms 68.85.211.129 11 17 ms 17 ms 17 ms 68.85.211.129 12 18 ms 18 ms 18 ms 68.85.211.129 13 19 ms 19 ms 19 ms 68.85.211.129 14 20 ms 20 ms 20 ms 68.85.211.129 15 21 ms 21 ms 21 ms 68.85.211.129 16 22 ms 22 ms 22 ms 68.85.211.129 17 23 ms 23 ms 23 ms 68.85.211.129 18 24 ms 24 ms 24 ms 68.85.211.129 19 25 ms 25 ms 25 ms 68.85.211.129 20 26 ms 26 ms 26 ms 68.85.211.129 21 27 ms 27 ms 27 ms 68.85.211.129 22 28 ms 28 ms 28 ms 68.85.211.129 23 29 ms 29 ms 29 ms 68.85.211.129 24 30 ms