【问题标题】:Ping status and returnPing 状态和返回
【发布时间】:2014-06-09 16:25:16
【问题描述】:

我正在编写一个 perl 脚本,它向某个 IP 地址发出 ping,ping 大小为 65000,计数为 1000。

现在,当远程 PC 启动时,一切正常。 ping 成功,发送 1000 pkts 后结束。

但是,如果失败,它总是返回"Destination host unreachable"。 Ping 在最终放弃 100% pkt 丢失字符串之前一直尝试发送 arp 请求/ping 请求的时间过长。

我的问题是,如果说最初的 100 次 ping 本身没有产生响应,我该如何让 ping 退出。我不想等待太久,以防初始 ping 本身失败。我想 ping 退出。我该怎么做?

我目前正在为我的脚本使用 Linux。请让我知道如何做到这一点

  • Linux
  • 窗户。

[请注意 ping pkt 的大小可能会有所不同。所以我想要一个独立于大小/数量的解决方案]

【问题讨论】:

  • 好吧,标准ping 命令中有一个-W 选项用于超时。我建议你看看命令手册页:man ping
  • 脚本在while循环1数据包ping中无限循环ping,即计数1,如果不为零,则检查ping的退出状态,增加一个计数器,在达到预定义的计数后退出。您可以在 while 循环中使用 -W 或 -w 进行 ping 操作
  • 你想用 1000 个 65000 字节的数据包来证明什么(= 65 兆字节的无用带宽浪费)?我认为这里可能存在 XY 问题...
  • @Daylite 如果以下答案满足您的需求,请花点时间将其作为解决方案进行检查。目前,您的 34 个问题中有 32 个没有选定答案。

标签: linux windows perl ping


【解决方案1】:

我建议使用Net::Ping 模块,它可以让您灵活地直接从脚本控制单个 ping。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2021-02-20
    • 1970-01-01
    相关资源
    最近更新 更多