Skrypt do weryfikacji zgodności rekordów DNS: A i PTR

Istnieją systemy, które są bardzo czułe na niezgodności w DNS-ach, jak HP SIM, czy poczta elektroniczna. Poniższy skrypt przyda się każdemu, kto chce zweryfikować rekordy. Ten skrypt również wykorzystuje ipcalc i prips. Jak skompilować prips opisałem tutaj.

#!/bin/bash
AffectedNetworks="10.0.200.0/23 10.1.178.0/24";
for AffectedNetwork in ${AffectedNetworks}; do
{
        ExcludedBroadcast=$(ipcalc ${AffectedNetwork} --broadcast | awk -F'=' '{print $2}');
        ExcludedNetwork=$(ipcalc ${AffectedNetwork} --network | awk -F'=' '{print $2}');
#Gdy brama jest pierwszym adresem po adresie sieci
        ExcludedGateway=$(ipcalc ${AffectedNetwork} --network | awk -F'=' '{print $2}' | awk -F'.' '{print $1"."$2"."$3"."$4+1}');
#Gdy brama jest ostatnim adresem przed adresem rozgloszeniowym
#       ExcludedGateway=$(ipcalc ${AffectedNetwork} --broadcast | awk -F'=' '{print $2}' | awk -F'.' '{print $1"."$2"."$3"."$4-1}');
        ListOfIPs=$(/usr/local/bin/prips ${AffectedNetwork} | grep -Ev "${ExcludedBroadcast}$|${ExcludedNetwork}$|${ExcludedGateway}$");
        for IPAddress in ${ListOfIPs}; do {
                INA=$(host -t A ${IPAddress}|awk '{print $5}');
                INPTR=$(host -t PTR ${IPAddress}|awk '{print $5}');
                if [ ! "${INA}" == "${INPTR}" ]; then
                {
                        echo "${IPAddress}:${INA}:${INPTR}";
                }
                fi
        } done
} done