Skip to content

Instantly share code, notes, and snippets.

@DiogoAndre
Last active January 3, 2024 09:08
Show Gist options
  • Save DiogoAndre/5056521 to your computer and use it in GitHub Desktop.
Save DiogoAndre/5056521 to your computer and use it in GitHub Desktop.
Simple ICMP Ping script in Ruby. Using the Net-Ping gem https://github.com/djberg96/net-ping
require 'net/ping'
@icmp = Net::Ping::ICMP.new('142.40.81.34')
rtary = []
pingfails = 0
repeat = 5
puts 'starting to ping'
(1..repeat).each do
if @icmp.ping
rtary << @icmp.duration
puts "host replied in #{@icmp.duration}"
else
pingfails += 1
puts "timeout"
end
end
avg = rtary.inject(0) {|sum, i| sum + i}/(repeat - pingfails)
puts "Average round-trip is #{avg}\n"
puts "#{pingfails} packets were droped"
run ping.rb
@illtellyoulater
Copy link

illtellyoulater commented Oct 23, 2017

Ok I figured it out: I was calling @my_ping.duration before actually executing the ping with @my_ping.ping 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment