freeCodeCamp/guide/chinese/miscellaneous/identify-basic-internet-pro.../index.md

126 lines
7.3 KiB
Markdown
Raw Normal View History

---
title: Identify Basic Internet Problems with Ping
localeTitle: 使用Ping识别Internet的基本问题
---
![声纳屏幕](//discourse-user-assets.s3.amazonaws.com/original/2X/b/b1bfc671722851eed4adfe2d4ec24eb9ab8a875b.png)
下次你打电话给你的服务台时你想用你的网络知识让他们惊叹吗在现有的MacWindows或Linux计算机上内置一个名为“ping”的命令有助于识别基本的连接问题。好吧这可能不足以“哇”你的团队成员但是他们会很感激你开始了调试过程。请记住您的支持人员是调试专家因此在他们引导您完成故障排除过程时请按照他们的说明进行操作。
## TL; DR
您可以使用Mac OS XWindows或Linux计算机内置的`ping`命令来识别基本的网络连接问题。在调用支持之前,这可以帮助您解决问题和/或获取有价值的调试信息。有关如何启动命令行窗口并从Mac OS X或Windows计算机运行`ping`详细信息,请阅读下文。
## `ping`命令:
`ping`命令是验证另一台计算机是否可以从您接收信息的简单方法。原作者[迈克·穆斯](https://en.wikipedia.org/wiki/Mike_Muuss) [Mike Muuss](https://en.wikipedia.org/wiki/Mike_Muuss) )实际上[在](https://en.wikipedia.org/wiki/Ping_%28networking_utility%29#History) [潜水员](https://en.wikipedia.org/wiki/Mike_Muuss) [发出的“ping”声后命名该程序](https://en.wikipedia.org/wiki/Ping_%28networking_utility%29#History)以检测水中的物体。如果ping的回显返回则表示存在某些东西。实际上 `ping`使用“ [Internet控制消息协议回应请求](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) ”作为其底层软件设计的一部分。
在最简单的形式中, `ping`命令提供两条有价值的信息,无论消息是否被回显( `64 bytes from…` )以及接收消息所需的`time=6.396 ms` (例如, `time=6.396 ms` 。根据您使用的计算机类型您甚至可以获得包含最小值最大值平均值等的摘要。响应时间以“ms”或毫秒显示即1/1000秒。 10ms或更短的响应时间非常快但值通常在100ms范围内。在200ms以上你可能会注意到你的连接缓慢。
## 当一切顺利时:
这是我的Mac OS X计算机上的`ping`响应,当马来西亚的一切正常工作时:
```
MacBook-Pro:~ ajm$ ping Google.com
PING google.com (216.58.196.46): 56 data bytes
64 bytes from 216.58.196.46: icmp\_seq=0 ttl=55 time=6.396 ms
64 bytes from 216.58.196.46: icmp\_seq=1 ttl=55 time=6.368 ms
64 bytes from 216.58.196.46: icmp\_seq=2 ttl=55 time=26.773 ms
64 bytes from 216.58.196.46: icmp\_seq=3 ttl=55 time=6.984 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.368/11.630/26.773/8.746 ms
```
当一切运行良好时,这就是我的`ping`响应在Windows计算机上的样子
```
C:\Users\BJM>ping Google.com
Pinging google.com [216.58.196.46] with 32 bytes of data:
Reply from 216.58.196.46: bytes=32 time=6ms TTL=128
Reply from 216.58.196.46: bytes=32 time=15ms TTL=128
Reply from 216.58.196.46: bytes=32 time=6ms TTL=128
Reply from 216.58.196.46: bytes=32 time=6ms TTL=128
Ping statistics for 216.58.196.46:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 6ms, Maximum = 15ms, Average = 8ms
```
从这些示例中可以看出连接非常好平均响应时间低于10毫秒。
### 当出现问题时(三个例子):
那么如果我无法连接到`Google.com`怎样例如1 我通过从墙上拔下我的路由器来模拟与我的Mac的网络连接断开然后重新运行命令。我注意到的第一件事是它需要的命令作出回应长得_多_
```
MacBook-Pro:~ ajm$ ping google.com
ping: cannot resolve google.com: Unknown host
MacBook-Pro:~ ajm$
```
或者例如2 ,具体取决于连接失败的确切方式:
```
PING google.com (216.58.196.46): 56 data bytes
Request timeout for icmp\_seq 0
Request timeout for icmp\_seq 1
Request timeout for icmp\_seq 2
^C
```
有时如果我有一个特别片段的连接我会看到这些消息的混合。例如3 我可以通过将我的Mac电脑连接到街对面的公共Wi-Fi连接来模拟这个
```
PING google.com (216.58.196.206): 56 data bytes
64 bytes from 216.58.196.206: icmp\_seq=0 ttl=57 time=273.655 ms
64 bytes from 216.58.196.206: icmp\_seq=1 ttl=57 time=808.546 ms
64 bytes from 216.58.196.206: icmp\_seq=2 ttl=57 time=179.613 ms
Request timeout for icmp\_seq 3
Request timeout for icmp\_seq 4
64 bytes from 216.58.196.206: icmp\_seq=5 ttl=57 time=374.612 ms
Request timeout for icmp\_seq 6
ping: sendto: No route to host
Request timeout for icmp\_seq 7
ping: sendto: No route to host
Request timeout for icmp\_seq 8
^C
```
在第一次测试中, `ping`告诉我,我的机器甚至找不到`Google.com`的互联网地址IP `216.58.196.46` 。在第二次测试中我的计算机记住了Google的IP地址但实际上无法访问Google服务器 `Request timeout` )。在第三个测试中, `sendto: No route to host`意味着网络设备知道Google服务器在哪里但是数字路径上的某些东西被打破了。
## Mac用户如何运行`ping`命令:
在Mac上您通常从终端命令行运行`ping` 。要启动终端请单击桌面右上角的OS X Spotlight放大镜图标
![Mac Spotlight](//discourse-user-assets.s3.amazonaws.com/original/2X/9/924e9346b5f92fe41127f6b3e403f454773edae9.png)
出现搜索窗口时键入“terminal”突出显示“Terminal - Utilities”然后双击或点击
返回
![Mac终端发布](//discourse-user-assets.s3.amazonaws.com/original/2X/9/976e1fb628c0d0bf2a6a9b57504305fd844716d4.png)
这将启动终端命令窗口,您可以输入我的示例中显示的命令`ping Google.com` ![Mac命令行](//discourse-user-assets.s3.amazonaws.com/original/2X/0/05d1e4d360c14921f7bd7ab871358b956f1e7d03.png)
**重要的Mac提示** :如果您没有告诉它停止, `ping`命令将永远运行。为此,请按
`control`
键(键盘右下方)和
`c`
键。这将使用Control-C `^C` 中断测试并返回命令行控制。对于Windows用户该命令将在几次迭代后自行停止。
## Windows用户如何运行`ping`命令:
打开命令提示符在Windows版本10,8.1,8和7之间有所不同;这是[如何打开命令提示符](http://pcsupport.about.com/od/commandlinereference/f/open-command-prompt.htm)的一个很好的指南。例如在Windows 7计算机上单击左下方的Windows“开始”图标然后选择“命令提示符”并双击或点击
`enter`
![赢得终端发布](//discourse-user-assets.s3.amazonaws.com/original/2X/4/4e0b18755930ad0d64e6e38763f0b96054fd76fb.png)
这将启动命令窗口,您可以输入示例中显示的`ping Google.com`命令:
![赢命令行](//discourse-user-assets.s3.amazonaws.com/original/2X/9/94d8ed91d29574497ad0f2eb2cd235050132851e.png)
现在您已了解如何使用`ping`命令您可以对网络连接进行基本的故障排除。通过一点创造力您可以与当地的IT支持人员或您的网络拓扑和IP地址例如 `ping`路由器, `ping`您的ISP进行合作以进一步识别网络问题。