Advertisement
thekin

Python - Multi Threaded Port Scanner | Auto host to IP

Oct 28th, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. import sys
  2. import time
  3. import socket
  4. import threading
  5.  
  6. if len(sys.argv) < 4:
  7.     sys.exit("Usage: {} <Target> <Port Range (E.g: 0-65535)> <Threads> <Delay (E.g: 0.2)>".format(sys.argv[0]))
  8.  
  9. i = 0
  10.  
  11. target = sys.argv[1]
  12. ranges = list(map(int, sys.argv[2].split("-")))
  13. threads = int(sys.argv[3])
  14. timeout = float(sys.argv[4])
  15.  
  16. def check(port):
  17.     try:
  18.         sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  19.         sock.settimeout(10)
  20.  
  21.         if sock.connect_ex((target, port)) == 0:
  22.             print("Port found on {}:{}".format(target, port))
  23.  
  24.         sock.close()
  25.     except socket.error:
  26.         pass
  27.  
  28. for port in range(ranges[0], ranges[1]+1):
  29.     i += 1
  30.  
  31.     thread = threading.Thread(target=check, args=(port,))
  32.     thread.start()
  33.    
  34.     if i == threads:
  35.         thread.join()
  36.         i = 0
  37.  
  38.     time.sleep(timeout)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement