@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Ruby: IP アドレスが CIDR の範囲内か調べる

標準添付ライブラリ ipaddr を使う。

require 'ipaddr'

IPAddr.new('192.168.0.0/24').include?(IPAddr.new('192.168.0.1'))
=> true

IPAddr.new('192.168.0.0/24').include?(IPAddr.new('127.0.0.1'))
=> false

とはいえ毎回↑をやるのも面倒なので Web アプリを作った。

Is this IP in this CIDR?


なお Python では標準添付ライブラリ ipaddress を使う。

>>> from ipaddress import ip_address, ip_network
>>> ip_address('192.168.0.1') in ip_network('192.168.0.0/24')
True
>>> ip_address('127.0.0.1') in ip_network('192.168.0.0/24')
False