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