Skip to content

Instantly share code, notes, and snippets.

@peelman
Forked from DiogoAndre/ping.rb
Created October 30, 2015 20:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peelman/77310a353ac2fe9cde75 to your computer and use it in GitHub Desktop.
Save peelman/77310a353ac2fe9cde75 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment