You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pingr的ping函数无法ping通特定IP,但CMD可正常ping通求助

排查pingr无法ping通特定IP的实用建议

问题描述

我可以通过ping("10.0.4.101")调用pingr的ping函数成功连通目标IP,但执行ping("10.151.2.101")时失败,不过通过系统CMD直接执行ping 10.151.2.101可以正常连通。

排查建议

  • 调整pingr函数参数:pingr的默认参数和系统CMD可能存在差异,比如超时时间、数据包大小。尝试显式设置参数匹配系统行为:
    # 增加超时时间至5秒
    ping("10.151.2.101", timeout = 5000)
    # 设置数据包大小为Windows CMD默认的32字节
    ping("10.151.2.101", size = 32)
    
  • 检查运行权限:R进程可能缺少发送ICMP包的权限,尝试以管理员身份启动R/RStudio后重新执行ping命令。
  • 排查防火墙/安全软件拦截:部分安全软件会针对不同程序设置网络规则,可能允许CMD的ping请求但拦截了R进程的ICMP包。可以暂时关闭防火墙测试,或在安全软件中添加R进程的ICMP允许规则。
  • 捕获错误信息定位问题:用tryCatch捕获具体错误输出,根据提示精准排查:
    tryCatch(ping("10.151.2.101"), error = function(e) print(e))
    
  • 对比路由路径:检查R进程与CMD使用的路由是否一致。在R中执行pingr::route("10.151.2.101"),在CMD中执行route print,对比两者的网关及路由条目。
  • 更新pingr包:旧版本可能存在兼容性问题,执行update.packages("pingr")更新至最新版本后重试。

内容的提问来源于stack exchange,提问作者nmg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 11:27:06