#!/bin/bash
ip=199.166.20.111
echo $ip | perl -e '$_=<>; exit 1 unless \
m/^(?!\.)(?:\.?(?:2[0-4]\d|25[0-5]|1?\d?\d)\b){4}$/ && \
!m/^(?:127\.0\.0\.1|10\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[0-1]\.|192\.168\.)/'
if [[ $? == 1 ]]; then
echo $ip no es una IP o es privada
else
echo $ip es una IP pública
fi
ip=172.17.19.254
echo $ip | perl -e '$_=<>; exit 1 unless \
m/^(?!\.)(?:\.?(?:2[0-4]\d|25[0-5]|1?\d?\d)\b){4}$/ && \
!m/^(?:127\.0\.0\.1|10\.|172\.1[6-9]\.|172\.2[0-9]\.|172\.3[0-1]\.|192\.168\.)/'
if [[ $? == 1 ]]; then
echo $ip no es una IP o es privada
else
echo $ip es una IP pública
fi
IyEvYmluL2Jhc2gKCmlwPTE5OS4xNjYuMjAuMTExCmVjaG8gJGlwIHwgcGVybCAtZSAnJF89PD47IGV4aXQgMSB1bmxlc3MgXAogIG0vXig/IVwuKSg/OlwuPyg/OjJbMC00XVxkfDI1WzAtNV18MT9cZD9cZClcYil7NH0kLyAmJiBcCiAhbS9eKD86MTI3XC4wXC4wXC4xfDEwXC58MTcyXC4xWzYtOV1cLnwxNzJcLjJbMC05XVwufDE3MlwuM1swLTFdXC58MTkyXC4xNjhcLikvJwoKaWYgW1sgJD8gPT0gMSBdXTsgdGhlbgoJZWNobyAkaXAgbm8gZXMgdW5hIElQIG8gZXMgcHJpdmFkYQplbHNlCgllY2hvICRpcCBlcyB1bmEgSVAgcMO6YmxpY2EKZmkKCmlwPTE3Mi4xNy4xOS4yNTQKZWNobyAkaXAgfCBwZXJsIC1lICckXz08PjsgZXhpdCAxIHVubGVzcyBcCiAgbS9eKD8hXC4pKD86XC4/KD86MlswLTRdXGR8MjVbMC01XXwxP1xkP1xkKVxiKXs0fSQvICYmIFwKICFtL14oPzoxMjdcLjBcLjBcLjF8MTBcLnwxNzJcLjFbNi05XVwufDE3MlwuMlswLTldXC58MTcyXC4zWzAtMV1cLnwxOTJcLjE2OFwuKS8nCgppZiBbWyAkPyA9PSAxIF1dOyB0aGVuCgllY2hvICRpcCBubyBlcyB1bmEgSVAgbyBlcyBwcml2YWRhCmVsc2UKCWVjaG8gJGlwIGVzIHVuYSBJUCBww7pibGljYQpmaQo=