IP가 CIDR 목록에 있는지 확인

IP가 CIDR 목록에 있는지 확인

IPv4 주소가 주어지면 IP가 CIDR 목록 범위 내에 있는지 확인할 수 있습니까?

100.31.255.4예를 들어, 다음 CIDR이 있는 경우 CIDR 범위 내에 있는지 확인할 수 있는 방법이 있습니까 ?

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

이는 내장된 Mac/BSD 도구를 사용하는 것이 가장 좋습니다.

답변1

사용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

관련 정보