Advertisement
DeaD_EyE

scan80_443.py

Nov 21st, 2016
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import sys
  4. import socket
  5. from collections import namedtuple
  6. from concurrent.futures import ThreadPoolExecutor
  7.  
  8. RESULT = namedtuple('Result', ['address', 'port80', 'port443'])
  9.  
  10. def check(address):
  11.     with socket.socket() as sock1, socket.socket() as sock2:
  12.         try:
  13.             sock1.connect((address, 80))
  14.         except:
  15.             P80 = False
  16.         else:
  17.             P80 = True
  18.         try:
  19.             sock2.connect((address, 443))
  20.         except:
  21.             P443 = False
  22.         else:
  23.             P443 = True
  24.  
  25.     return RESULT(address, P80, P443)
  26.  
  27. def main(urls):
  28.     with ThreadPoolExecutor(max_workers=10) as pool:
  29.         results = pool.map(check, urls)
  30.         for result in results:
  31.             print('{} {} {}'.format(*result))
  32.  
  33. if __name__ == '__main__':
  34.     urls = sys.argv[1:]
  35.     main(urls)
  36.     sys.exit(0)
  37.  
  38. # call script with ./scan80_443.py google.de heise.de golem.de serversupportforum.de
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement