@@ -118,17 +118,25 @@ def __init__(self, IP, port=21):
118
118
self .username = ''
119
119
self .password = ''
120
120
self .s = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
121
- self .s .settimeout (3 )
121
+ self .s .settimeout (5 )
122
122
self .s .connect ((self .IP , self .port ))
123
123
self .s .recv (1024 )
124
124
125
- def send (self , message ):
125
+ def _send (self , message ):
126
126
self .s .send (message )
127
- return self .s .recv (2048 )
127
+ response = self .s .recv (32768 )
128
+ return response
129
+
130
+ def send (self , message ):
131
+ self .s .send (message + '\r \n ' )
132
+ while True :
133
+ response = self .s .recv (32768 )
134
+ if response :
135
+ return response
128
136
129
137
def login (self , username , password ):
130
- self .send ('USER ' + username + '\r \n ' )
131
- response = self .send ('PASS ' + password + '\r \n ' )
138
+ self ._send ('USER ' + username + '\r \n ' )
139
+ response = self ._send ('PASS ' + password + '\r \n ' )
132
140
if '230' in response :
133
141
return
134
142
elif '331' in response :
@@ -269,7 +277,7 @@ def launch(self, host, duration, threads = 1, port = 80, payload = 'default'):
269
277
self .time_length = duration
270
278
if payload != 'default' : self .payload = payload
271
279
# Creates queue to hold each thread
272
- self .q = Queue ()
280
+ self .q = Queue . Queue ()
273
281
#print '> Launching ' + str(threads) + ' threads for ' + str(duration) + ' seconds.'
274
282
for i in range (threads ):
275
283
t = threading .Thread (target = self ._threader )
@@ -352,7 +360,7 @@ def scan(self, IP, port_range = (1, 1025), timeout = 1, verbose = True):
352
360
self .port_range = port_range
353
361
self .timeout = 1
354
362
# Creates queue to hold each thread
355
- self .q = Queue ()
363
+ self .q = Queue . Queue ()
356
364
for x in range (30 ):
357
365
t = threading .Thread (target = self ._threader )
358
366
t .daemon = True
@@ -403,7 +411,7 @@ def scan(self, h_range = (1, 255)):
403
411
# Adds list of possible local hosts to self.range_range
404
412
for i in range (h_range [0 ], h_range [1 ]):
405
413
self .host_range .append (stub + '.' + str (i ))
406
- self .q = Queue ()
414
+ self .q = Queue . Queue ()
407
415
# Launches 100 threads to ping 254 potential hosts
408
416
for x in range (100 ):
409
417
t = threading .Thread (target = self ._threader )
@@ -521,6 +529,10 @@ def importFromString(code, name):
521
529
def getIP (host ):
522
530
return socket .gethostbyname (host )
523
531
532
+ def randomIP ():
533
+ import struct
534
+ return socket .inet_ntoa (struct .pack ('>I' , random .randint (1 , 0xffffffff )))
535
+
524
536
def getProxies (country_filter = 'ALL' , proxy_type = ('Socks4' , 'Socks5' )):
525
537
'''Gets list of recently tested Socks4/5 proxies.
526
538
Return format is as follows:
0 commit comments