Advertisement
martypete

MARTYDIG!

Aug 25th, 2016 (edited)
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 18.08 KB | None | 0 0
  1. #MARTY DIG SCRIPT
  2. ################ main COLOR variable!!!!!!!!!!!
  3. COLOR='\033[1;33m'
  4. #######################other color variables
  5. BOLD='\033[1;37m'
  6. NC='\033[0m' # No Color
  7. RED='\033[1;31m'
  8. BLUE='\033[1;34m'
  9. #YELLOW='\033[1;33m'
  10. GREY='\033[1;30m'
  11. GREEN='\033[1;32m'
  12. CYAN='\033[1;36m'
  13. PURPLE='\033[1;35m'
  14. ############VARIABLES!!!!!!!!!!!
  15. #=========================================
  16. IP=$( dig $1 +short | grep [0-9][0-9] | sort -nr | head -n 1 ) # grep's for IP's then takes the top IP
  17. PTR=$( dig -x $IP +short | grep -v "in-addr" | grep -v "Truncated" | head -n 1) #reverse DNS lookup to get PTR record
  18. #===========================================
  19. MAILSUBIP=$( dig mail.$1 +short | grep [0-9][0-9] | sort -nr | head -n 1 ) # grep's for IP's then takes the top IP for mail.domain.com
  20. MAILSUBPTR=$( dig -x $MAILSUBIP +short | grep -v "in-addr" | grep -v "Truncated" | head -n 1) #reverse DNS lookup to get PTR record for mail.domain.com
  21. #=========================================
  22. SRVRECORD=$( dig _sip._tls.$1 srv +nostats +noquestion +nocomments | grep IN | grep SRV | grep -v SOA | grep -v "RedHat" | grep -v "AAAA" | grep -v ".root-servers.net" | sort)
  23. SRVFEDRECORD=$( dig _sipfederationtls._tcp.$1 srv +nostats +noquestion +nocomments | grep IN | grep SRV | grep -v SOA | grep -v "RedHat" | grep -v "AAAA" | grep -v ".root-servers.net" | sort)
  24. #===========================================
  25. ADRECORD=$( dig autodiscover.$1 +short )
  26. ADIP=$( dig autodiscover.$1 +short | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | head -n 1 )
  27. #===============================================
  28. MAILMX=$( dig mx $1 +short | grep -v ".root-servers.net" | grep -v "CNAME" | sort -n | head -n 1 )
  29. MAILMXLONG=$( dig mx $1 +short | grep -v ".root-servers.net" | sort -nr )
  30. #========================================
  31. MAILIP=$( dig $MAILMX +short | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | head -n 1 )
  32. MAILPTR=$( dig -x $MAILIP +short | grep -v "in-addr" | head -n 1 )
  33. #========================================
  34. clear
  35. echo -e "${BLUE}|${BOLD} __  __    __    ____  ____  _  _  ____  ____  ___  _ ${BLUE}|${NC}"
  36. echo -e "${BLUE}|${BOLD}(  \/  )  /__\  (  _ \(_  _)( \/ )(  _ \(_  _)/ __)| |${BLUE}|${NC}"
  37. echo -e "${BLUE}|${BOLD} )    (  /(__)\  )   /  )(   \  /  )(_) )_)(_( (_-.|_|${BLUE}|${NC}"
  38. echo -e "${BLUE}|${BOLD}(_/\/\_)(__)(__)(_)\_) (__)  (__) (____/(____)\___/(_)${BLUE}|${NC}"
  39. echo -e "${BLUE}_______________________________________________________${NC}"  
  40. echo -e "${BLUE}[#] whois $1 (REGISTRAR INFO) ${NC}"
  41. #=================================================================
  42. #===============  WHOIS DOMAIN  ===================================
  43. #==================================================================
  44. #This script is using the whois and grep commands to retrieve information about a domain name and its associated IP addresses. The $1 argument is passed to whois to specify the domain name or IP address to look up. The grep commands are used to filter the output of whois and display specific information, such as server details, organization name, and contact information. The numerous grep -v commands are used to exclude certain irrelevant information from the output.
  45. echo -e ""
  46. whois $1 | grep -e "[S][eE][rR][vV][eE][rR]" -e Nameserver: -e Registrar: -e "Registrar URL" -e Organization: -e "Admin" -e Comment: -e "Email" -e "nameservers:" -e "[hH][oO][lL][dD]" -e Expiration -e Expiry -e Reseller -e URL: -e "[tT]ransfer" -e "[Nn]ame:" -e "[nN]o match" -e ns1 -e NS1 -e ns2 -e NS2 -e ns3 -e NS3 -e ns4 -e NS4 -e "NOT FOUND" -e "[Nn][Ss]\." -e "abuse-mailbox:" -e "Name servers:" -e NET | grep -v "[cC]reated" | grep -v "[uU]pdated" | grep -v "The data in" | grep -v "information purposes only" | grep -v "makes this information available" | grep -v "that apply to" | grep -v "prior written consent" | grep -v "BRST" | grep -v "This server accepts" | grep -v "reserves the right" | grep -v "clientTransferProhibited" | grep -v "modify existing registrations" | grep -v "support questions" | grep -v "Redirected" | grep -v "Querying" | grep -v "\[whois\." | grep -v "follow the instructions" | grep -v "Unconditional Guarantee" | grep -v "reserves the right" | grep -v "[bB]illing" | grep -v "Registrar Abuse Contact Email" | grep -v "dest IP (your IP)" | grep -v "Intensity/frequency" | grep -v "Without these" | grep -v "NetName:" | grep -v "Domain Name:" | grep -v "Tech" | grep -v "NOCEmail" | grep -v "Administrative Contact Postal Code" | grep -v "Administrative Contact Phone Number" | grep -v "Administrative Contact Facsimile Number" | grep -v "Administrative Contact ID" | grep -v "Administrative Contact Address" | grep -v "Administrative Contact City" | grep -v "Administrative Contact Country" | grep -v "Administrative Contact State/Province" | grep -v "Administrative Contact Country Code" | grep -v "Admin Phone Ext" | grep -v "Admin Fax" | grep -v "Domain ID:" | grep -v "Admin Fax Ext" | grep -v "Admin Phone" | grep -v "Admin Country" | grep -v "Invalid option:" | grep -v "Admin Postal Code" | grep -v "Admin State/Province" | grep -v "Admin City" | grep -v "Admin Street" | grep -v "Admin ID" | grep -v "Registry Admin ID" | grep -v "has collected this" | grep -v "Last Transferred Date:" | grep -v "Administrative Application Purpose:" | grep -v "Administrative Nexus Category:" | grep -v "Parent" | grep -v "NetHandle:" | grep -v "Ref:" | grep -v "StateProv:" | grep -v "WHOIS Server:" | grep -v "Please register your domains" | grep -v "network:In-Addr-Server;" | grep -v "network:Network-Name:" | grep -v "Comments to" | grep -v "network:Tech-Contact;" | grep -v "OrgNOCName:" | grep -v "global Web hosting" | grep -v "DreamHost is" | grep -v "websites and apps hosted" | grep -v "Dedicated Server Hosting" | grep -v "Registrar Registration Expiration Date" | grep -v "high-value domains" | grep -v "DreamCompute" | grep -v "contains ONLY .COM" | grep -v "for more information" | grep -v "Connection refused" | awk '!x[$0]++' | sed -e 's/^[ \t]*//'
  47. #========================================================================
  48. #=========================== NS RECORDS ===============================
  49. #=======================================================================
  50. echo -e "${GREEN}_______________________________________________________________${NC}"
  51. echo -e "${GREEN}[#] dig $1 ns (PROPAGATED NS RECORD) ${NC}"
  52. echo -e ""
  53. dig $1 ns +nostats +noquestion +nocomments | grep IN | grep NS | grep -v SOA | grep -v "RedHat" | grep -v "AAAA" | grep -v ".root-servers.net"
  54. #======================================================================
  55. #=========================== MX RECORDS ===============================
  56. #=======================================================================
  57. echo -e "${RED}_______________________________________________________________${NC}"
  58. echo -e "${RED}[#] dig $1 mx (MX RECORD) ${NC}"
  59. echo -e ""
  60. if [[ ! -z $MAILMX  ]] #Checks to see if there is an MX record propagated
  61.     then
  62.         printf "$MAILMXLONG"
  63.     else
  64.         :
  65.     fi
  66. if [[ ! -z $MAILIP  ]] #Checks to see what IP the MX record resolves to, if any.
  67.     then
  68.         echo -e " ${RED}=>${NC} $MAILIP ${RED}=>${NC} $MAILPTR"
  69.     else
  70.         echo -e ""
  71.     fi
  72. #======================================================================
  73. #===============  WHOIS mail IP ADDRESS  ===================================
  74. #======================================================================
  75. #echo -e "${RED}_______________________________________________________________${NC}"
  76. echo -e ""
  77. echo -e "${RED}[#] whois ${MAILIP} (MX RECORD IP INFO) ${NC}"
  78. echo -e ""
  79. if [[ ! -z $MAILIP  ]] #Checks to SEE THE IP INFO FOR THE TOP MX RECORD
  80.     then
  81.         whois $MAILIP | grep -e "[sS][eE][rR][vV][eE][rR]" -e Registrar: -e "Registrar URL" -e OrgTechEmaiL -e Organization: -e Network-Name -e Org-Name -e OrgName -e NetName -e "Status:" -e "Registrant Name" -e "org-name:" -e "Registrant Org" -e "Email" -e "Registrant Street" -e "Registrant City" -e "Registrant Country" -e "Registrant Phone:" -e Expiration -e Expiry -e Reseller -e "Organization Name" -e "(" -e netname: -e descr: -e remarks: -e person: -e abuse-mailbox: -e country -e Country -e network:Org-name: -e OrgAbuseEmail: -e network:Updated-By -e network:Organization -e network:Tech-Contact -e network:Admin-Contact -e e-mail: -e StateProv: -e City: -e ns1 -e NS1 -e ns2 -e NS2 | grep -v "[pP]arent" | grep -v served | grep -v "RTechEmail" | grep -v "Invalid option:" | grep -v "RNOCEmail" | grep -v "(BRST" | grep -v "This server accepts" | grep -v "RAbuseEmail" | grep -v "%rwhois" | grep -v "dest IP (your IP)" | grep -v "Intensity/frequency" | grep -v "Without these" | grep -v "NetName:" | grep -v "NOCEmail" | grep -v "Organization:" | grep -v "remarks:" | grep -v "OrgTechEmail:" | grep -v "contact details" | grep -v "network:In-Addr-Server;" | grep -v "City:" | grep -v "StateProv:" | grep -v "network:Network-Name:" | grep -v "Comments to" | grep -v "network:Tech-Contact;" | grep -v "OrgNOCName:" | grep -v "Country:" | grep -v "connect: Connection refused" | grep -v "Connection refused" | sort -u | sed -e 's/^[ \t]*//'
  82.     else
  83.         :
  84.     fi
  85. #=================================================================
  86. #===============  PROPAGATED autodiscover record====================
  87. #==================================================================
  88. echo -e "${CYAN}_______________________________________________________________${NC}"
  89. echo -e "${CYAN}[#] dig autodiscover.$1 (AUTODISCOVER RECORD) ${NC}"
  90. echo -e ""
  91. if [[ ! -z $ADRECORD  ]] #Checks to see if there is a record propagated.
  92.     then
  93.         dig autodiscover.$1 +nostats +noquestion +nocomments | grep IN | grep -v SOA | grep -v "RedHat" | grep -v ".root-servers.net" | grep -v "autodiscover.geo.outlook.com" | grep -v "autodiscover.outlook.com.g.outlook.com" | grep -v "autodiscover.geo.outlook.com" | grep -v "autodiscover-namcentral" | head -n 6
  94. #       echo -e "$ADRECORD" | head -n 6
  95.     else
  96.         :
  97.     fi
  98.    
  99. #======================================================================
  100. #===============  WHOIS AUTODISCOVER IP ADDRESS  ===================================
  101. #======================================================================
  102.  
  103. #echo -e "${CYAN}_______________________________________________________________${NC}"
  104. echo -e ""
  105. echo -e "${CYAN}[#] whois ${ADIP} (AUTODISCOVER RECORD IP INFO) ${NC}"
  106. echo -e ""
  107. if [[ ! -z $ADIP  ]] #Checks to see if there is an A record propagated for the given autodisover subdomain.
  108.     then
  109.         whois $ADIP | grep -e "[sS][eE][rR][vV][eE][rR]" -e Registrar: -e "Registrar URL" -e OrgTechEmaiL -e Organization: -e Network-Name -e Org-Name -e OrgName -e NetName -e "Status:" -e "Registrant Name" -e "org-name:" -e "Registrant Org" -e "Email" -e "Registrant Street" -e "Registrant City" -e "Registrant Country" -e "Registrant Phone:" -e Expiration -e Expiry -e Reseller -e "Organization Name" -e "(" -e netname: -e descr: -e remarks: -e person: -e abuse-mailbox: -e country -e Country -e network:Org-name: -e OrgAbuseEmail: -e network:Updated-By -e network:Organization -e network:Tech-Contact -e network:Admin-Contact -e e-mail: -e StateProv: -e City: -e ns1 -e NS1 -e ns2 -e NS2 | grep -v "[pP]arent" | grep -v served | grep -v "RTechEmail" | grep -v "Invalid option:" | grep -v "RNOCEmail" | grep -v "(BRST" | grep -v "This server accepts" | grep -v "RAbuseEmail" | grep -v "dest IP (your IP)" | grep -v "Intensity/frequency" | grep -v "Without these" | grep -v "NetName:" | grep -v "NOCEmail" | grep -v "Organization:" | grep -v "remarks:" | grep -v "City:" | grep -v "OrgTechEmail:" | grep -v "contact details" | grep -v "network:In-Addr-Server;" | grep -v "StateProv:" | grep -v "network:Network-Name:" | grep -v "Comments to" | grep -v "%rwhois" | grep -v "network:Tech-Contact;" | grep -v "OrgNOCName:" | grep -v "Country:" | grep -v "connect: Connection refused" | grep -v "Connection refused" | sort -u | sed -e 's/^[ \t]*//'
  110.     else
  111.         :
  112.     fi
  113. #=================================================================
  114. #===============  PROPAGATED A RECORD  ============================
  115. #==================================================================
  116. echo -e "${COLOR}_______________________________________________________________${NC}"
  117. echo -e "${COLOR}[#] dig $1 (T.L.D. A RECORD) ${NC}"
  118. echo -e ""
  119. if [[ ! -z $IP  ]] #Checks to see if there is an A record propagated.
  120.     then
  121.         printf "$IP"
  122.     else
  123.         :
  124.     fi
  125. if [[ ! -z $PTR  ]] #Checks to see if the A record IP has a PTR record.
  126.     then
  127.         echo -e " ${COLOR}=>${NC} $PTR"
  128.     else
  129.         echo -e ""
  130.     fi
  131.  
  132. #======================================================================
  133. #===============  WHOIS IP ADDRESS  ===================================
  134. #======================================================================
  135. #echo -e "${COLOR}_______________________________________________________________${NC}"
  136. echo -e ""
  137. echo -e "${COLOR}[#] whois ${IP} (A RECORD IP INFO) ${NC}"
  138. echo -e ""
  139. if [[ ! -z $IP  ]] #Checks to see if there is an A record propagated for the given domain.
  140.     then
  141.         whois $IP | grep -e "[sS][eE][rR][vV][eE][rR]" -e Registrar: -e "Registrar URL" -e OrgTechEmaiL -e Organization: -e Network-Name -e Org-Name -e OrgName -e NetName -e "Status:" -e "Registrant Name" -e "org-name:" -e "Registrant Org" -e "Email" -e "Registrant Street" -e "Registrant City" -e "Registrant Country" -e "Registrant Phone:" -e Expiration -e Expiry -e Reseller -e "Organization Name" -e "(" -e netname: -e descr: -e remarks: -e person: -e abuse-mailbox: -e country -e Country -e network:Org-name: -e OrgAbuseEmail: -e network:Updated-By -e network:Organization -e network:Tech-Contact -e network:Admin-Contact -e e-mail: -e StateProv: -e City: -e ns1 -e NS1 -e ns2 -e NS2 | grep -v "[pP]arent" | grep -v served | grep -v "RTechEmail" | grep -v "Invalid option:" | grep -v "RNOCEmail" | grep -v "(BRST" | grep -v "This server accepts" | grep -v "RAbuseEmail" | grep -v "dest IP (your IP)" | grep -v "Intensity/frequency" | grep -v "Without these" | grep -v "NetName:" | grep -v "NOCEmail" | grep -v "Organization:" | grep -v "remarks:" | grep -v "StateProv:" | grep -v "City:" | grep -v "OrgTechEmail:" | grep -v "contact details" | grep -v "network:In-Addr-Server;" | grep -v "network:Network-Name:" | grep -v "Comments to" | grep -v "%rwhois" | grep -v "network:Tech-Contact;" | grep -v "OrgNOCName:" | grep -v "Country:" | grep -v "connect: Connection refused" | sort -u | sed -e 's/^[ \t]*//'
  142.     else
  143.         :
  144.     fi
  145. dig -x mail.$1 | grep "PTR" | grep "in-addr" | grep -v ";" | grep -v "Invalid option:"
  146.  
  147. #=================================================================
  148. #===============  PROPAGATED MAIL.DOMAIN.COM A RECORD  ===========
  149. #=================================================================
  150. #echo -e "${COLOR}_______________________________________________________________${NC}"
  151. echo -e ""
  152. echo -e "${COLOR}[#] dig ${RED}mail.$1 ${COLOR}(mail.$1 A RECORD) ${NC}"
  153. echo -e ""
  154. if [[ ! -z $MAILSUBIP  ]] #Checks to see if there is an A record propagated for mail.domain.com.
  155.     then
  156.         printf "$MAILSUBIP"
  157.     else
  158.         :
  159.     fi
  160. if [[ ! -z $MAILSUBPTR  ]] #Checks to see if the A record IP for mail.domain.com has a PTR record.
  161.     then
  162.         echo -e " ${COLOR}=>${NC} $MAILSUBPTR"
  163.     else
  164.         echo -e ""
  165.     fi
  166.    
  167. #======================================================================
  168. #===============  WHOIS MAIL.DOMAIN.COM IP ADDRESS  ===================
  169. #======================================================================
  170. #echo -e "${COLOR}_______________________________________________________________${NC}"
  171. echo -e ""
  172. echo -e "${COLOR}[#] whois ${RED}${MAILSUBIP} ${COLOR}(A RECORD IP INFO) ${NC}"
  173. echo -e ""
  174. if [[ ! -z $MAILSUBIP  ]] #Checks to see if there is an A record propagated for the given domain.
  175.     then
  176.         whois $MAILSUBIP | grep -e "[sS][eE][rR][vV][eE][rR]" -e Registrar: -e "Registrar URL" -e OrgTechEmaiL -e Organization: -e Network-Name -e Org-Name -e OrgName -e NetName -e "Status:" -e "Registrant Name" -e "org-name:" -e "Registrant Org" -e "Email" -e "Registrant Street" -e "Registrant City" -e "Registrant Country" -e "Registrant Phone:" -e Expiration -e Expiry -e Reseller -e "Organization Name" -e "(" -e netname: -e descr: -e remarks: -e person: -e abuse-mailbox: -e country -e Country -e network:Org-name: -e OrgAbuseEmail: -e network:Updated-By -e network:Organization -e network:Tech-Contact -e network:Admin-Contact -e e-mail: -e StateProv: -e City: -e ns1 -e NS1 -e ns2 -e NS2 | grep -v "[pP]arent" | grep -v served | grep -v "RTechEmail" | grep -v "Invalid option:" | grep -v "RNOCEmail" | grep -v "(BRST" | grep -v "This server accepts" | grep -v "RAbuseEmail" | grep -v "dest IP (your IP)" | grep -v "Intensity/frequency" | grep -v "Without these" | grep -v "NetName:" | grep -v "NOCEmail" | grep -v "Organization:" | grep -v "remarks:" | grep -v "StateProv:" | grep -v "City:" | grep -v "OrgTechEmail:" | grep -v "contact details" | grep -v "network:In-Addr-Server;" | grep -v "network:Network-Name:" | grep -v "Comments to" | grep -v "%rwhois" | grep -v "network:Tech-Contact;" | grep -v "OrgNOCName:" | grep -v "Country:" | grep -v "connect: Connection refused" | sort -u | sed -e 's/^[ \t]*//'
  177.     else
  178.         :
  179.     fi
  180. dig -x mail.$1 | grep "PTR" | grep "in-addr" | grep -v ";" | grep -v "Invalid option:"
  181.    
  182. #======================================================================
  183. #===============  txt records  ===================================
  184. #======================================================================
  185. echo -e "${PURPLE}_______________________________________________________________${NC}"
  186. echo -e "${PURPLE}[#] dig $1 txt (TXT RECORDS) ${NC}"
  187. echo -e ""
  188. dig $1 txt +short | grep -v ".root-servers.net" | grep -v "Truncated"
  189. #=================================================================
  190. #===============  PROPAGATED SRV RECORDs  ============================
  191. #==================================================================
  192. echo -e "${GREY}_______________________________________________________________${NC}"
  193. echo -e "${GREY}[#] dig $1 srv (SRV RECORDS) ${NC}"
  194. echo -e ""
  195. if [[ ! -z $SRVRECORD  ]] #Checks to see if there is a record propagated.
  196.     then
  197.         echo -e "$SRVRECORD"
  198.     else
  199.         :
  200.     fi
  201. if [[ ! -z $SRVFEDRECORD  ]] #Checks to see if there is a record propagated.
  202.     then
  203.         echo -e "$SRVFEDRECORD"
  204.     else
  205.         :
  206.     fi
  207. echo -e "${GREY}_______________________________________________________________${NC}"
  208. echo -e ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement