两台计算机怎么ping通,怎么ping网络(2个网段电脑怎么ping通)

在对以太网网络上的通信问题进行故障排除时,Ping命令是最广泛使用的诊断工具之一。

这种受欢迎程度是因为每个人都知道如何使用命令,执行起来非常简单。

在对通信问题进行故障排除时,我们在无法正常工作时听到的最常见的一句话是“但我可以ping通”,就好像这一点应该作为确切的证据,证明一切都按预期工作,通信服务器选择不通信。

本文介绍了一些关于Ping命令的常见误解,特别是如何有效地使用它,什么时候它可能不是任务的最佳工具,以及Ping的更好的替代方案(提供实际上可操作的数据)。

什么是Ping命令?

在命令提示符下键入ping 1.1.1.1会发生什么?

Ping旨在告诉用户主机是否可以在IP网络上访问,并通过发送ICMP(Internet控制消息协议)回应请求来执行此操作,远程主机(我们正在ping的IP地址)将在收到时回显。

虽然这无疑是有用的,但Ping命令在它告诉我们的内容中也非常有限,因为ICMP位于IP协议之上(毕竟它是Internet控制消息协议)并且不需要像TCP或UDP这样的传输协议。

为什么这很重要?

在Internet协议描述主机之间的通信的地方,传输协议(如TCP或UDP)描述了在这些主机上运行的进程之间的通信。如果没有传输层,Ping命令将永远无法向我们提供有关远程主机的信息:

正在监听连接

有一个开放的接口

将接受我们流程的连接

甚至是我们想要与之沟通的合适主机

Ping命令只会告诉我们主机响应指定IP地址的echo请求。

5df2eee865383bdfba4b428c7e1c35eb.png

因此,Ping命令的缺点可以概括为命令根本没有给我们足够的信息来巧妙地得出控制器或网络节点不通信的原因。那么,Ping命令的哪些替代方案在这种情况下值得考虑?

什么是Tracert命令?

Tracert命令在很大程度上起到与Ping命令相同的作用,并且只应用于确定在指定的IP地址处是否存在响应的内容,仅此而已。

如果您正在ping同一子网上的设备,则Tracert和Ping将执行完全相同的操作。当ping不在同一子网或网络上的主机时,会发现Tracert的强大功能,因为它不仅会显示终端设备是否响应,还会显示到达该远程主机的路由路径。

如果Tracert在路径中的任何特定点发生故障,则很容易识别通信中断的特定位置。

302dd429791981d6799f37885c4a2ea5.png

Tracert通过发送与ping相同的ICMP Echo请求来完成此操作,但它使用“Time To Live”字段来控制消息可以跳转的距离。第一个数据包以TTL为1发送,路径中的第一个跳转将减少为0,并以“Time to live exceeded in transit/运行中的超时时间”响应,这有助于我们的机器现在知道第一个跳转的IP地址路由路径。

然后以TTL为2发送第二个回应请求,以便消息可以在超时之前到达路径中的第二跳。然后是3的TTL,4的TTL,依此类推,直到我们得到Echo响应,并且我们知道'ping'数据包已经到达我们试图到达的目标节点。

就像ping一样,Tracert结果告诉我们在远程主机上是否有运行的应用程序/固件/通信模块能够与我们通信 - 只是远程主机支持IP并且可以访问。

因此,我们现在已经确定,在许多情况下,Ping和Tracert命令在解决通信问题的有效性方面基本相同。我们还能尝试什么?

什么是Portqry实用程序?

如果Ping命令没有给我们任何可操作的数据,并且Tracert命令没有给我们任何可操作的数据, 我们如何得到一些我们可以用来确定设备是否正在监听连接以及通信问题可能是什么是?这个问题将我们带到PortQryUI--一个可从Microsoft下载的实用工具。

虽然它没有预先安装Windows,但PortQryUI是一个非常轻量级的实用程序,不仅可用于识别主机是否可访问,还可用于确定在该主机上运行的进程是否可访问和/或是否愿意接受连接。

知道1.1.1.1是DNS服务器,正如我们之前建立的那样,让我们​​针对DNS端口53运行Portqry。

8ea637b0a5c768c227db4d95dc3c2eaa.png

我们可以看到,首先,Portqry尝试在使用TCP和UDP查询端口之前将IP地址解析为DNS主机名(在此处成功完成 - “one.one.one.one”),并且因为实用程序知道53是DNS端口,它也向端口发送DNS查询。

Portqry有三种可能的结果:

正在监听 - 该实用程序得到了端口的积极回应

不监听 - 该实用程序收到了端口的回复,告诉我们要离开

已过滤 - 该实用程序未收到来自端口的任何响应,无论是正面还是负面

现在让我们在实验室中使用本地Modbus PLC进行尝试,我们知道这可以通过端口502(默认的Modbus端口)看到连接请求。

这次我扫描一系列端口502-503,仍然要求检查TCP和UDP。

91c4d954ee414bc1c59f8a0a961410e7.png

结果并不令人惊讶; 主机名称解析失败,因为它只是一个PLC(虽然它没有超出PLC分配DNS名称的可能性的范围,大多数不是),并且查询结果确实显示有一个进程在端口502上侦听传入的TCP连接。

现在,显然,我们实验室中的Modbus PLC没有任何通信问题。但是,您现在可以想象,当Portqry实用程序以“Not Listening”或“Filtered”响应端口和传输时,对于无响应的设备有多么有用,我们希望在正常通信情况下能够得到肯定的响应。

但是,如果我们从Portqry得到积极响应但仍然没有成功通信,我们还能做些什么呢?

什么是Netstat?

虽然Netstat命令不提供远程设备接受连接的能力的信息,或者远程主机是否可以在网络上访问,但在查看本地计算机上的套接字状态时,它是非常宝贵的资源。

134b1d2988e95515718da827a2c73838.png

运行简单的netstat枚举本地套接字信息,显示本地和远程地址,套接字状态以及与该主题关联的进程ID(在想要跟踪哪个应用程序正在使用端口时特别有用)。在对PLC的连接问题进行故障排除时,套接字状态将是最有用的列,因为它可以深入了解发生问题的连接顺序。过滤后(使用FIND)可以轻松过滤任何关键字的Netstat列表; 包括IP地址和端口:

099559f001b875697e4ecb2ccb1453d3.png

在解释Socket状态时,至少在一般情况下 - 理解TCP状态图以查看错误发生在连接序列中的哪个位置。毫无疑问,这是有用的,只是触及netstat能够表达的表面,建议运行netstat /?查看所有可用选项。

什么是Wireshark?

如果所有其他方法都失败了,并且上面的工具显示一切都应该工作,那么Wireshark就是我们的首选诊断工具。Wireshark将捕获网卡上的所有流量,并将向我们显示目标设备与我们的计算机之间究竟发生了什么。

14598944495b1967c313f7fd1a5027fa.png

因此,虽然Ping命令肯定有其作为一个非常基本的故障排除工具,但它不应该被误认为是一个完成所有工作的工具。

<think>好的,用户的问题是关于主机和开发板之间的网络性差异,具体来说,主机可以ping,但开发板不行,需要排查ping的原因。首先,我需要整理用户提供的引用内容,看看有没有相关的信息可以帮助解决这个问题。 根据引用中的内容,特别是引用[1]、[2]、[3]、[4]、[5],里面提到了ping命令的应用场景、网络故障排查的方法,以及一些具体的例子,比如EVB3568与PC直连测试、无线网卡驱动的问题等。用户的问题可能涉及硬件连接、IP配置、防火墙设置或者驱动问题。 首先,用户提到主机可以ping,但开发板不行,这可能意味着开发板本身存在网络配置问题或者硬件问题。需要从基础开始排查,比如物理连接是否正确,IP地址是否在同一子网,子网掩码和网关设置是否正确。接着,检查开发板的网络接口状态,是否有连接指示灯正常闪烁,这可以初步判断物理层是否正常。 然后,查看开发板的IP配置是否正确。如果开发板使用动态IP(DHCP),需要确认它是否成功获取到了IP地址。可以使用ifconfig或ip addr命令来查看。如果IP地址配置错误,可能导致无法通信。此外,子网掩码和网关的设置错误也会导致无法跨子网通信,这时候即使主机ping,开发板也可能无法响应。 接下来,检查主机和开发板之间的防火墙设置。防火墙可能会阻止ICMP请求,导致ping。用户需要检查主机上的防火墙是否有规则阻止了来自开发板的请求,同时开发板如果有防火墙的话,也需要检查。例如,在Linux系统上,可以使用iptables或ufw来查看防火墙规则。 此外,引用[5]提到了无线网卡驱动的问题,导致内核错误。虽然用户的问题可能是有线连接,但如果开发板使用的是无线连接,可能需要检查驱动是否正确安装,或者是否需要重新编译驱动。例如,ath9k_htc驱动在新内核下可能需要重新编译才能正常工作,否则会出现空指针错误导致宕机,进而影响网络功能。 另一个方面是网络设备本身的问题。例如,网线或交换机端口故障,或者开发板的网卡硬件有问题。可以尝试更换网线或连接到不同的端口来排除物理层的问题。此外,使用其他设备(如另一台电脑ping开发板,看是否能,这有助于确定问题是否出在开发板还是主机配置上。 路由问题也可能导致ping。如果主机和开发板不在同一子网,需要确保网关路由正确。可以使用route命令查看开发板的路由表,确认默认网关是否设置正确。如果存在多个网络接口,还需要检查是否有路由冲突的情况。 还有可能的是ARP缓存问题。如果主机的ARP缓存中没有开发板的MAC地址,可能会导致通信失败。可以尝试清除ARP缓存(arp -d命令)或者重启网络服务来刷新缓存。 最后,引用[3]提到了ping请求超时的解决方法,比如检查DNS设置,虽然用户的问题可能不是DNS相关,但这也提醒我们需要全面检查网络配置的各个方面。例如,开发板的DNS设置是否正确,是否能够解析域名,但如果是直连IP的话,DNS可能不是问题所在。 综上所述,需要按照步骤逐一排查物理连接、IP配置、防火墙、驱动、路由、ARP缓存等方面。可能还需要查看系统日志(如dmesg或journalctl)来寻找硬件错误或驱动加载失败的记录。如果所有配置都正确,但问题依然存在,可能需要考虑硬件故障或更换网络设备进行测试。</think>### 主机与开发板网络性差异排查指南 #### 一、物理连接检查 1. **网线与接口状态** - 确认开发板与主机/路由器过网线直连,检查网线是否完好(可更换测试)[^1][^2]。 - 观察开发板网口指示灯是否正常闪烁,若未亮起可能是硬件接触不良或供电异常[^5]。 2. **网络拓扑验证** - 若过交换机/路由器连接,确保设备端口工作正常(尝试更换端口测试)[^2]。 #### 二、网络配置检查 1. **IP地址与子网匹配** - 在开发板上执行 `ifconfig` 或 `ip addr`,确认其IP地址与主机在同一子网。 - 示例:主机IP为 $192.168.1.100$,开发板IP应类似 $192.168.1.x$,子网掩码为 $255.255.255.0$[^2]。 - 若使用DHCP,检查开发板是否成功获取IP(日志中可能包含 `dhclient` 报错)。 2. **网关与路由表** - 执行 `route -n` 查看开发板路由表,确认默认网关指向正确路由器IP[^4]。 - 跨子网通信需配置静态路由,例如: ```bash route add default gw 192.168.1.1 ``` #### 三、防火墙与协议过滤 1. **主机防火墙规则** - 在主机上临时关闭防火墙测试: ```bash # Linux sudo ufw disable # Windows netsh advfirewall set allprofiles state off ``` - 若关闭后能ping,需添加ICMP协议放行规则[^3]。 2. **开发板协议支持** - 部分嵌入式系统可能未启用ICMP响应,需检查内核配置: ```bash sysctl -a | grep icmp_echo_ignore_all ``` 若值为 `1`,修改为 `0` 以允许响应: ```bash sysctl -w net.ipv4.icmp_echo_ignore_all=0 ``` #### 四、驱动与硬件问题排查 1. **网卡驱动兼容性** - 检查开发板网卡驱动加载状态: ```bash dmesg | grep -i eth0 # 替换为实际网卡名 ``` - 若使用无线网卡(如ath9k_htc),旧驱动与新内核可能冲突,需重新编译驱动。 2. **硬件故障排除** - 尝试将开发板连接其他网络设备(如手机热点),验证是否为特定网络环境问题。 #### 五、进阶诊断工具 1. **ARP缓存验证** - 在主机执行 `arp -a`,确认开发板IP对应的MAC地址已正确缓存。 - 开发板可主动ping主机以刷新ARP表: ```bash ping 192.168.1.100 # 替换为主机IP ``` 2. **抓包分析** - 使用 `tcpdump` 在开发板抓取ICMP请求: ```bash tcpdump -i eth0 icmp ``` - 若主机发送的请求未到达开发板,可能为交换机/VLAN配置问题。 #### 六、典型场景案例 - **案例1:IP冲突** 开发板与主机IP冲突会导致单向通信异常,使用 `arping` 检测IP占用: ```bash arping -I eth0 192.168.1.101 ``` - **案例2:内核网络模块异常** 开发板执行 `ping` 时内核崩溃(如引用[5]的NULL指针错误),需更新或重编译驱动。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值