Advertisement
Guest User

Untitled

a guest
Oct 27th, 2011
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.46 KB | None | 0 0
  1. import sys,re,urllib,time
  2. from datetime import datetime
  3. from urllib import FancyURLopener
  4. from random import choice
  5. import subprocess as sp
  6.  
  7. print """
  8.  ___ _ _       __  __          
  9. / __(_) |_ ___|  \/  |___ _ _  
  10. \__ \ |  _/ -_) |\/| / _ \ ' \
  11. |___/_|\__\___|_|  |_\___/_||_|
  12.    Pathogen @ www.hakhub.tk
  13.                                
  14. """
  15.  
  16. url = sys.argv[1]
  17. interval = "10"
  18. pcount = "6"
  19. command = "ping -i " + interval + " -c " + pcount  + " " + url
  20.  
  21. method = raw_input("Which method of determinging if host is up would you like to use?\n(0)Ping packet loss\n(1)www.downforeveryoneorjustme.com (HTTP)\n>")
  22.  
  23. if method == "0":
  24.  print 'Ping module chosen - Ping interval:' + interval + ' Ping Count:' + pcount
  25.  while 1:
  26.   cmd = sp.Popen(command,stdout = sp.PIPE,shell=True)
  27.   results = cmd.stdout.read()
  28.   time = datetime.now()
  29.   alert = 'notify-send "The host ' + url + ' seems to be down - ' + str(time) + '"'
  30.   if re.search('100%',results):
  31.    sp.Popen(alert,shell=True)
  32.    print "Host is DOWN - " + str(time)
  33.   elif re.search('0%',results):
  34.    print "Host is up - " + str(time)
  35.   else:
  36.    qual = re.findall("[0-9]{1,3}%",results)
  37.    print "Connection quality in questions - " + qual[0] + " packet loss"
  38.  
  39.  
  40. elif method == "1":
  41.  print 'HTTP module chosen - Notification intervals: 5 Minutes'
  42.  user_agents = [
  43.     'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
  44.     'Opera/9.25 (Windows NT 5.1; U; en)',
  45.     'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)',
  46.     'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
  47.     'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
  48.     'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',
  49.     'Googlebot/2.1 (+http://www.googlebot.com/bot.html)'
  50.  ]
  51.  
  52.  class ua(FancyURLopener):
  53.      version = choice(user_agents)
  54.  
  55.  while 1:
  56.   urllib._urlopener = ua()
  57.   url = "http://www.downforeveryoneorjustme.com/" + url
  58.   html = urllib.urlopen(url).read()
  59.   timer = datetime.now()
  60.   alert = 'notify-send "The host ' + url + ' seems to be down - ' + str(timer) + '"'
  61.   if re.findall("It's just you.",html):
  62.    print "Host seems to be up - " + str(timer)
  63.   elif re.findall("looks down from here.",html):
  64.    sp.Popen(alert,shell=True)
  65.    print "Host is DOWN - " + str(timer)
  66.   time.sleep(300)
  67.  
  68. else:
  69.   print "No module chosen."
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement