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