Networking Basics
IP Address Check
The IPAddr library can classify address strings without sending network traffic.
IP Address Check
ip_address_check.rb
require "ipaddr"
address_text =
address = IPAddr.new(address_text)
version = address.ipv4? ? "ipv4" : "ipv6"
loopback = address.loopback?
private_range = address.ipv4? && address.to_range.first.to_s.start_with?("192.168.")
puts "address=#{address_text}"
puts "version=#{version}"
puts "loopback=#{loopback}"
puts "private_range=#{private_range}"
require "ipaddr"
address_text =
address = IPAddr.new(address_text)
version = address.ipv4? ? "ipv4" : "ipv6"
loopback = address.loopback?
private_range = address.ipv4? && address.to_range.first.to_s.start_with?("192.168.")
puts "address=#{address_text}"
puts "version=#{version}"
puts "loopback=#{loopback}"
puts "private_range=#{private_range}"
require "ipaddr"
address_text =
address = IPAddr.new(address_text)
version = address.ipv4? ? "ipv4" : "ipv6"
loopback = address.loopback?
private_range = address.ipv4? && address.to_range.first.to_s.start_with?("192.168.")
puts "address=#{address_text}"
puts "version=#{version}"
puts "loopback=#{loopback}"
puts "private_range=#{private_range}"
ip address
`IPAddr` parses an address and exposes whether it is IPv4 or IPv6.