arnaucube
arnaucube/goDDOSPublic Self-hosted repository
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}