HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/bin/scripts/python3.4/utils/dnstest2.py
# DNS test for spam blacklists
# (SS,02/04/2017)
# (SS,22/05/2019) version for normal checks

import dns.resolver
import sys
import datetime
import time

def reverse(ip):
        if len(ip) <= 1:
                return ip
        l = ip.split('.')
        return '.'.join(l[::-1])

def lookup(is_ip, ip_address, host):
  if is_ip:
    full_host = reverse(ip_address) + '.' + host
  else:
    full_host = ip_address + '.' + host

  print(full_host)
  try:
    answers = dns.resolver.query(full_host, 'A')
    for rdata in answers:
      print(rdata.address)
  except:
    e = sys.exc_info()[0]
    e2 = sys.exc_info()[1]
    print( "Error: %s" % e)
    print( "Error: %s" % e2)
  print()
  
# (SS,22/5/19) lookup modified for standard checj  
def lookup_host(host):
  print(host)
  try:
    #answers = dns.resolver.query(host, 'A')
    answers = dns.resolver.query(host, 'MX')
    for rdata in answers:
      #print(rdata.address)
      print(rdata.to_text())
  except:
    e = sys.exc_info()[0]
    e2 = sys.exc_info()[1]
    print( "Error: %s" % e)
    print( "Error: %s" % e2)
  print()  
    
def blacklist_ip_check(ip):
  lookup(True, ip, 'zen.spamhaus.org')
  lookup(True, ip, 'bl.spamcop.net')
  lookup(True, ip, 'b.barracudacentral.org')
  lookup(True, ip, 'ubl.unsubscore.com')
  lookup(True, ip, 'dnsbl.sorbs.net')
  lookup(True, ip, 'truncate.gbudb.net')
  lookup(True, ip, 'ix.dnsbl.manitu.net')
  lookup(True, ip, 'psbl.surriel.com')
  
def blacklist_url_check(url):
  actual_url = url
  if url == '':
    actual_url = 'test.surbl.org'
  lookup(False, actual_url, 'multi.surbl.org')
  if url == '':
    actual_url = 'dbltest.com'
  lookup(False, actual_url, 'dbl.spamhaus.org')
 
 # lookup('178.243.74.251', 'zen.spamhauszzz.org')
    
# (SS,22/5/19)    
def normal_host_check():
  lookup_host('itpartnership.com')
  lookup_host('hyperflight.co.uk')
  lookup_host('google.com')
  lookup_host('google.co.uk')
  lookup_host('bbc.co.uk')
  lookup_host('microsoft.com')
  lookup_host('apple.com')
  lookup_host('gmail.com')
  lookup_host('outlook.com')
  lookup_host('hotmail.com')
  lookup_host('yahoo.com')
  lookup_host('icloud.com')
  lookup_host('facebook.com')
  lookup_host('twitter.com')
  lookup_host('amazon.co.uk')
  
# if paramete provided then use this as the IP address, else default to '127.0.0.2'
#if len(sys.argv) == 2:
  #ip_address = sys.argv[1]
#else:
  #ip_address = '127.0.0.2'
   
start = datetime.datetime.now()   
   
#blacklist_ip_check(ip_address)
#blacklist_url_check('')
normal_host_check()

finish = datetime.datetime.now()
#print('time taken: ', (finish - start).total_seconds(), 'secs')
print('time taken: ', round((finish - start).total_seconds(), 3), 'secs')

#blacklist_url_check('twitter.com')

#blacklist_ip_check('178.243.74.251')

#blacklist_ip_check('8.8.8.8')