Advertisement
LNO_LiGhT

portscan.py

Feb 20th, 2016
1,527
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1. #!/usr/bin/env python
  2. #Made By LiGhT
  3.  
  4. import socket, sys, os, threading
  5.  
  6. if len(sys.argv) < 5:
  7.     sys.exit("Usage: python "+sys.argv[0]+" [start-range] [end-range] [port] [output-file]")
  8.     sys.exit()
  9.  
  10. port = int(sys.argv[3])
  11. outputF = sys.argv[4]
  12.  
  13. def ipRange(start_ip, end_ip):
  14.     start = list(map(int, start_ip.split(".")))
  15.     end = list(map(int, end_ip.split(".")))
  16.     temp = start
  17.     ip_range = []
  18.  
  19.     ip_range.append(start_ip)
  20.     while temp != end:
  21.         start[3] += 1
  22.         for i in (3, 2, 1):
  23.             if temp[i] == 256:
  24.                 temp[i] = 0
  25.                 temp[i-1] += 1
  26.         ip_range.append(".".join(map(str, temp)))    
  27.  
  28.     return ip_range
  29.  
  30. class p0r75c4n(threading.Thread):
  31.     def __init__ (self, ip):
  32.         threading.Thread.__init__(self)
  33.     def run(self):
  34.         x = 1
  35.         while x != 0:
  36.             try:
  37.                 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  38.                 result = sock.connect_ex((ip, port))
  39.                 if result == 0:
  40.                     os.system("echo "+ip+" >> "+outputF+"")
  41.                     print "\033[32mGood:\033[37m "+ip
  42.                 elif result != 0:
  43.                     print "\033[31mBad:\033[37m "+ip
  44.                 sock.close()
  45.             except:
  46.                 pass
  47.             x = 0
  48. ip_range = ipRange("" +sys.argv[1], "" +sys.argv[2])
  49. for ip in ip_range:
  50.     try:
  51.         t = p0r75c4n(ip)
  52.         t.start()
  53.     except:
  54.         pass #MAY CRASH SERVER LMFAOOO DRUNK AF WHEN MADE THS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement