我的本地网络上有两台机器,都连接到无线路由器。从机器 A 上,如果我 ping 路由器,我会得到以下信息:
10 packets transmitted, 10 received, 0% packet loss, time 9038ms
rtt min/avg/max/mdev = 0.836/2.488/3.749/0.931 ms
Run Code Online (Sandbox Code Playgroud)
从机器 B 上,如果我 ping 我的路由器,我会得到以下信息:
10 packets transmitted, 10 received, 0% packet loss, time 9017ms
rtt min/avg/max/mdev = 2.068/3.452/4.908/0.795 ms
Run Code Online (Sandbox Code Playgroud)
但如果我从 A ping B,我会得到
10 packets transmitted, 10 received, 0% packet loss, time 9010ms
rtt min/avg/max/mdev = 3.077/223.724/507.174/186.355 ms
Run Code Online (Sandbox Code Playgroud)
从 B ping A 的结果类似。
可能是什么原因造成的?我该如何解决?两台机器都使用完全最新的 Arch Linux。
在诊断网络问题时,我 ping 到:
通常,在进行故障排除时,无法访问互联网,那么我需要记住一个外部 IP 地址。
我需要任何(易于记忆)IP 地址。例如,google ip 是 72.14.204.147。很酷,但很难记住......
你使用什么外部IP?有助记词的外部IP地址,这样会好记吗?
我已经通过 SSH 连接到一台运行 Linux 的机器,并想知道;在Linux中是否有任何命令可以ping计算机或将域名转换为IP地址?
这应该很简单,但由于某种原因,事实证明我的情况有点棘手......
我想将 ping 的结果保存到文本文件中。为此,我在 .bat 中使用以下命令:
ping X.X.X.X >> ping.txt
Run Code Online (Sandbox Code Playgroud)
当我运行这个 .bat 文件时,创建的文件 (ping.txt) 包含数百行输入而不是输出:
C:\Documents and Settings\XYZ\Desktop>ping X.X.X.X 1>>ping.txt
C:\Documents and Settings\XYZ\Desktop>ping X.X.X.X 1>>ping.txt
C:\Documents and Settings\XYZ\Desktop>ping X.X.X.X 1>>ping.txt
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么我没有得到 ping 文本文件的结果?
我的公司在 WAN 上运营。我们的每个分支机构都在一定范围的 IP 上运行(例如 192.168.0.100、192.168.1.100、192.168.2.100)。
我想监控连接。我用 C# 编写了一个快速控制台应用程序,它每 5 秒 ping 每个地址并将结果记录在 CSV 文件中。这足够了吗?我收到了很多 TimedOut 错误,尽管该地址可能在下一次测试中可用(所以它不是停机,而是超时) - 为什么会发生这种情况?是我ping太频繁还是?我设置了一个慷慨的超时期限。
谢谢。
编辑:我应该说,每个分支机构都没有“服务器”,只有配置为 WAN 一部分的路由器 - 所以除了测试连接之外,我还能做些什么?
我刚刚在维基百科上读到这个:
尽管 ICMP 消息包含在标准 IP 数据报中,但 ICMP 消息通常作为一种特殊情况进行处理,区别于正常的 IP 处理,而不是作为 IP 的正常子协议进行处理。
ICMP 有何独特之处?我试图找出它在运行时是在 TCP 数据包还是 UDP 数据包中使用ping,但我一直读到它是一个“独特的”协议,但找不到明确的答案。
另外,我在Wireshark Lab 中看到了有关 ICMP - ping 的问题和答案:
如果 ICMP 改为发送 UDP 数据包(如在 Unix/Linux 中),探测数据包的 IP 协议编号是否仍为 01?如果不是,那会是什么?
否。如果ICMP 改为发送UDP 数据包,则IP 协议编号应为0x11。
如果ICMP发送UDP数据包,为什么IP协议号会不同?
另外,ICMP 不使用 UDP 吗?这是如何运作的?
这似乎是一个非常简单的问题(运行 Windows 7)。但我一直在寻找答案,但在微软的网站(XP PING和一切 PING)或一堆谷歌搜索中找不到任何东西。
我正在学习 DOS/批处理文件。我的开始代码是 PING 一个服务器。
如果我在命令提示符中输入它,它运行良好,并给我一些结果
PING -n 1 Server04
Run Code Online (Sandbox Code Playgroud)
结果:
Pinging Server04.aaaa.xxxx.net [x.x.x.x] with 32 bytes of data:
Reply from x.x.x.x: bytes=32 time=1ms TTL=125
Run Code Online (Sandbox Code Playgroud)
如果我在批处理文件中运行它,它永远不会停止,但 -n(或 /n)应该只发送一次 PING,并且 PAUSE 也应该停止并保持 cmd.exe 窗口打开。
PING -n 1 winsvmnsdev04
PAUSE
Run Code Online (Sandbox Code Playgroud)
结果:
C:\Users\Me\Desktop>PING -n 1 Server04
C:\Users\Me\Desktop>PING -n 1 Server04
C:\Users\Me\Desktop>PING -n 1 Server04
Continues until I use Ctrl + C
Run Code Online (Sandbox Code Playgroud)
我查看了一堆问答,其中许多包含“errorlevel”来回应响应,而有些则包含尾随的“> null”。在试图理解时,我已经查看了这些都没有在 Microsoft 库中列为“PING”的属性。
当我跑
PING -n 1 winsvmnsdev04 > null
PAUSE
Run Code Online (Sandbox Code Playgroud)
或者运行
PING …Run Code Online (Sandbox Code Playgroud) 我在路由器上添加了一条静态路由,该路由与我的其他计算机位于不同子网上的地址。它工作正常,但是当我 ping 它时,我从ping我以前从未见过的命令中得到以下响应:
64 bytes from 10.11.12.13: icmp_seq=0 ttl=127 time=1.527 ms
92 bytes from 10.0.0.1: Redirect Host(New addr: 10.0.0.254)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 bf4c 0 0000 3f 01 9c43 10.0.0.2 10.11.12.13
Run Code Online (Sandbox Code Playgroud)
我正在从 Mac 上 ping 这个,顺便说一句。
我的路由器是 10.0.0.1。有问题的主机中有 2 个 NIC。一个是 10.11.12.13,另一个是我路由器上的 DHCP 预留,地址为 10.0.0.254(这解释了重定向地址)。
显然这是因为静态路由(废话),但这个响应到底是什么??我以前从未见过ping命令给出这样的响应。
几周前我设置了一台远程 Ubuntu 机器,我能够毫无问题地 ssh 进入它。直到几个小时前,当机器停止响应时,我尝试开始一个新会话。现在我只得到:
ssh: connect to host IP port XYZ: Operation timed out.
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法物理访问这台机器,所以我试图找出可能是什么问题。我试过:
ping IP
Run Code Online (Sandbox Code Playgroud)
但我不断得到Request timeout for icmp_seq 0。我的家人试图重新启动机器和路由器,但没有帮助。有什么建议吗?
PS:我是设置远程机器的新手,所以如果没有包含相关信息来回答我的问题,我很抱歉。
显然,一个问题是路由器的 IP 在我的ssh连接过程中发生了变化。我仍然有问题,但可能与机器有关,与网络无关。
我看到一篇文章详细介绍了 Starlink 即将进行的预订,他们提到 Starlink 将有“20-40 毫秒的延迟”。即使知道“ping”的基本定义,我也立即质疑这个数字应该代表什么。
Ping,也称为延迟,测量与另一台服务器通信并接收响应所需的时间。这取决于许多因素:
根据我对地面 ISP 的经验,“物理距离”是这个数字的最大贡献者。例如,在线游戏为我和我在同一地点的朋友提供了类似的 ping,因为我们在同一个一般区域(一个城市)玩游戏并在同一个一般区域(游戏主机服务器所在的地方)进行通信。
但是,当我执行互联网速度测试或查看 Starlink 等服务的描述时,我也会看到发布的“ping”指标。根据我对 ping 的了解,这几乎毫无意义。没有上下文的“ping”数字是没有意义的。速度测试特别针对附近的数据中心,因此您的 ping 值通常会非常低。Starlink 更像是一个异常值,因为按照地面标准(距离 300-400 英里),没有什么是“接近的”。
回到 Starlink 的例子,一个简单的场景立即突出了为什么声称任何类型的延迟数字是可疑的:与其他国家通信。与来自世界各地的其他人一起使用 VoIP 或在线游戏的任何人都知道,200 毫秒的 ping 时间并不少见,仅仅因为所涉及的距离。Starlink 或任何 ISP 都不能在没有建立某种上下文的情况下声明延迟。这就像卖一辆汽车并声称“这辆车每加仑行驶 500 英里!” 没有透露测试课程完全走下坡路。
我知道这是理想化的,但更有用的数字是“增加的延迟百分比”,它测量了理论最大速度(无阻碍的光传输)和观察到的延迟之间的延迟差异。这将告知消费者他们的特定网络/ISP 在一般意义上的表现如何好/差 - 而不仅仅是它与 30 英里外的数据中心通信的速度。在评估特定的 ISP 时,网络延迟与带宽一样重要(可以说更重要),但它被误导或不准确地报告。
速度测试或 ISP 本身报告的“ping”数字是否有用或以任何方式标准化,还是纯粹是营销噱头?
ping ×10
networking ×4
batch ×2
linux ×2
batch-file ×1
connection ×1
icmp ×1
internet ×1
ip-address ×1
isp ×1
macos ×1
mnemonics ×1
remote ×1
router ×1
ssh ×1
ubuntu ×1
windows-7 ×1