go中的Fuzzer复制Python one

go中的Fuzzer复制Python one,go,Go,我正在为本教程重新创建一个fuzzer(实际的fuzzer位于链接上,它是用python编写的): 实际上,我们的目标是完成所有的代码,但使用Go **我的问题更多的是关于一种正确的做事方式——在代码中实现大增量数字的过程越来越慢。任何人都有这样一个接口/库。或者任何我在围棋中忘记的可以用来做得更好的功能: package main import ( "fmt" "net" "strings" ) const payload = "\x41" func main(

我正在为本教程重新创建一个fuzzer(实际的fuzzer位于链接上,它是用python编写的):

实际上,我们的目标是完成所有的代码,但使用Go

**我的问题更多的是关于一种正确的做事方式——在代码中实现大增量数字的过程越来越慢。任何人都有这样一个接口/库。或者任何我在围棋中忘记的可以用来做得更好的功能:

package main

import (
    "fmt"
    "net"
    "strings"
)

const payload = "\x41"

func main() {
    //Banner
    fmt.Printf("\nLauching Fuzzer..\n")
    payL := strings.Repeat(payload, 50)

    for {
        payL += strings.Repeat(payload, 50)
        conn, err := net.Dial("tcp", "localhost:21")
        if err != nil {
            fmt.Println("Crash Error: ", err)
        }
        final_payload := fmt.Sprint("User " + payL + "\r\n")
        _, err = conn.Write([]byte(final_payload))
        if err != nil {
            fmt.Println("Error: ", err)
            break
        } else {
            fmt.Println("Sending buffer with length: ", final_payload)
            conn.Close()
        }

    }

包fuzz是一个库,用于用随机变量填充go对象 价值观


有关高效Go fuzzer的示例,请参阅Go包fuzz。

您发布的代码是否有效?如果没有,错误消息是什么。如果是,你的问题是什么?嗨@AdamSmith你看到粗体字母了吗?但是是的,代码是有效的,我没有收到任何错误信息(当我说代码有效时是隐含的),问题在于效率。。。我想看看是否有人能以比我更有效的方式复制我做过的同样的事情。我知道我的代码可以很好地改进,只要看看它:)如果你看到一些你可以做的不同的事情,这将使它更快,或者在内存管理方面更好。。好吧,我愿意接受建议或批评。我投票将这个问题作为离题来结束,因为它要求审查,这对堆栈溢出来说太宽泛了。考虑一下问你的问题,但一定要先读一读;具体来说,在问题本身中添加背景&应用程序所需的输出。@Matt现在描述了问题,您得到了我正在做的一个示例,我想知道的不是库中的代码审查或重新推荐请求,而是是否存在我没有实现的功能或设计解决方案,这些功能或设计解决方案可以实现,从而可以在处理结果方面提高速度。感谢您的关注
import "github.com/google/gofuzz"