web-dev-qa-db-ja.com

IPがCIDRのリストにあるかどうかを確認します

IPv4アドレスを指定すると、IPがCIDRのリストの範囲内にあるかどうかを確認できますか?

たとえば、次のCIDRがある場合、100.31.255.4がいずれかのCIDRの範囲内にあるかどうかを確認する方法はありますか?

100.16.0.0/12
100.46.0.0/12
100.100.0.0/24
100.100.5.0/22

できれば、bultin Mac/BSDツールを使用して実行してください。

4
guest

grepcidr内のネットブロックのリストで list を使用:

$ echo '100.31.255.4' | grepcidr -f list
100.31.255.4

$ echo '10.31.255.4' | grepcidr -f list
(no output)

テストとして:

if printf '%s\n' "$ipaddr" | grepcidr -f list >/dev/null; then
    printf '%s is in the list\n' "$ipaddr"
else
    printf '%s is not in the list\n' "$ipaddr"
fi
6
Kusalananda