使用常见的linux工具检查一堆ip地址是否属于给定网络的最简单方法是什么?

Kaz*_*lis 3 linux bash networking command-line ip-address

使用常见的linux工具检查一堆ip地址是否属于给定网络的最简单方法是什么?我只需要一定数量的给定地址属于给定的子网.可以说网络是192.16.55.40/27,地址是192.16.55.45,192.16.55.115,88.87.45.8,192.16.55.37,192.16.55.60和192.16.55.210 ..

Kel*_*tia 6

我不确定你是否认为Ruby是一个"常见的linux工具",但是它有一个很好的模块叫做IPAddr有一个方法include?.

require 'ipaddr'

net1 = IPAddr.new("192.168.2.0/24")
net2 = IPAddr.new("192.168.2.100")
net3 = IPAddr.new("192.168.3.0")
p net1.include?(net2)     #=> true
p net1.include?(net3)     #=> false
Run Code Online (Sandbox Code Playgroud)