Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exchange () {
- echo "==============================="
- echo " Exchange checking Tool"
- echo "==============================="
- echo ""
- if [ "$1" == "" ]
- then
- echo "Renseignez le nom de domaine à analyser (exemple : ./general.sh domaine.fr)"
- exit 0
- fi
- echo "checking NS records for $1:"
- echo "-------------------------------------------------"
- ns="$(dig ns $1 +short)"
- rm="==> PASS"
- if [ "$mx" == "" ]
- then
- echo "no NS records found for $1"
- echo "==> ERROR"
- rm="==> ERROR"
- else
- echo "$ns"
- fi
- echo "checking MX records for $1:"
- echo "-------------------------------------------------"
- mx="$(dig MX $1 +short)"
- if [ "$mx" == "" ]
- then
- echo "no MX records found for $1"
- echo "==> ERROR"
- rm="==> ERROR"
- else
- echo "$mx"
- r="$(dig MX $1 +short | grep mx1.mail.ovh.net)"
- if [ "" == "$r" ]
- then mx1=0
- else mx1=1
- fi
- r="$(dig MX $1 +short | grep mx2.mail.ovh.net)"
- if [ "" == "$r" ]
- then mx2=0
- else mx2=1
- fi
- r="$(dig MX $1 +short | grep mx3.mail.ovh.net)"
- if [ "" == "$r" ]
- then mx3=0
- else mx3=1
- fi
- if [ $mx1 -eq 1 -a $mx2 -eq 1 -a $mx3 -eq 1 ]
- then echo "==> PASS"
- else
- echo "==> WARNING"
- rm="==> WARNING"
- fi
- fi
- echo ""
- echo "checking SPF records for $1:"
- echo "-------------------------------------------------"
- txt="$(dig TXT $1 +short | sed ':a;N;$!ba;s/\n/\n\t /g')"
- spf="$(dig SPF $1 +short | sed ':a;N;$!ba;s/\n/\n\t /g')"
- if [ "$txt" != "" ]
- then {
- if [ "$spf" != "" ]
- then
- echo "SPF : $spf"
- echo "TXT : $txt"
- r="==> WARNING"
- else
- echo "TXT : $txt"
- r="==> PASS"
- fi }
- else {
- if [ "$spf" != "" ]
- then
- echo "SPF : $spf"
- r="==> PASS"
- else
- echo "No SPF record could be found"
- r="==> ERROR"
- fi }
- fi
- echo ""
- if [ "$r" == "==> ERROR" ]
- then
- echo "$r"
- else {
- e="$(dig SPF $1 +short | grep 'v=spf1 include:mx.ovh.com')"
- t="$(dig TXT $1 +short | grep 'v=spf1 include:mx.ovh.com')"
- if [ "$e" == "" -a "$t" == "" ]
- then
- echo "SPF does not fit the OVH requirements"
- echo "==> ERROR"
- r="==> ERROR"
- else {
- if [ "$r" == "==> WARNING" ]
- then echo "There are two entries 'SPF' and 'TXT'"
- fi
- echo "$r"
- }
- fi
- }
- fi
- rspf="$r"
- echo ""
- echo "checking Wildcard Domain for $1:"
- echo "-------------------------------------------------"
- w="$(dig A fjsurhfbvhiughegkelhrgr-wildcard.$1 +short)"
- if [ "$w" == "" ]
- then
- echo "==> PASS"
- rw="==> PASS"
- else
- echo "It seems that a wildcard domain is used"
- echo "==> ERROR"
- rw="==> ERROR"
- fi
- echo ""
- echo "checking Autodiscover A-entry for $1:"
- echo "-------------------------------------------------"
- a="$(dig A autodiscover.$1 +short)"
- if [ "$a" != "" ]
- then
- echo "$a"
- echo ""
- fi
- if [ "$a" == "" ]
- then
- echo "==> PASS"
- ra="==> PASS"
- else
- echo "It seems that an Autodiscover A-entry for domain $1 exists"
- echo "==> WARNING"
- ra="==> WARNING"
- fi
- echo ""
- echo "checking Autodiscover SRV-entry for $1:"
- echo "-------------------------------------------------"
- srv="$(dig SRV _autodiscover._tcp.$1 +short)"
- echo "$srv"
- if [ "$srv" != "" ]
- then {
- r="==> PASS"
- srv_p="$(dig SRV _autodiscover._tcp.$1 +short| grep '443 ')"
- if [ "$srv_p" == "" ]
- then
- echo "Port for SRV-entry is not correct"
- r="==> ERROR"
- fi
- srv_z="$(dig SRV _autodiscover._tcp.$1 +short| grep 'ex[2,3]\{0,1\}\.mail\.ovh\.net')"
- if [ "$srv_z" == "" ]
- then
- echo "Target for SRV-entry is not correct"
- r="==> ERROR"
- fi
- echo "$r"
- rsrv="$r"
- }
- else
- echo "No Autodiscover SRV-entry for domain $1 could be found"
- echo "==> WARNING"
- rsrv="==> WARNING"
- fi
- rall="==> PASS"
- if [ "$rm" == "==> WARNING" -o "$rspf" == "==> WARNING" -o "$rw" == "==> WARNING" -o "$ra" == "==> WARNING" -o "$rsrv" == "==> WARNING" ]
- then
- rall="==> WARNING"
- fi
- if [ "$rm" == "==> ERROR" -o "$rspf" == "==> ERROR" -o "$rw" == "==> ERROR" -o "$ra" == "==> ERROR" -o "$rsrv" == "==> ERROR" ]
- then
- rall="==> ERROR"
- fi
- echo ""
- echo "==============================="
- echo "Global result $rall"
- }
- exchange $1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement