initial working tls connection

nosocat
Jean-Louis Huynen 2019-01-15 11:24:55 +01:00
parent 6291fa1257
commit 2287794be2
1 changed files with 20 additions and 10 deletions

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"crypto/hmac" "crypto/hmac"
"crypto/sha256" "crypto/sha256"
"crypto/tls"
"encoding/binary" "encoding/binary"
"flag" "flag"
"fmt" "fmt"
@ -197,13 +198,22 @@ func d4checkConfig(d4 *d4S) bool {
f, _ := os.Open("capture.pcap") f, _ := os.Open("capture.pcap")
(*d4).src = f (*d4).src = f
} }
isn, dstnet := isNet((*d4).conf.destination)
switch (*d4).conf.destination { if isn {
case "stdout": //conn, err := net.Dial("tcp", dstnet[0]+":"+dstnet[1])
(*d4).dst = newD4Writer(os.Stdout, (*d4).conf.key) conn, err := tls.Dial("tcp", dstnet[0]+":"+dstnet[1], &tls.Config{InsecureSkipVerify: true})
case "file": if err != nil {
f, _ := os.Create("test.txt") log.Fatal(err)
(*d4).dst = newD4Writer(f, (*d4).conf.key) }
(*d4).dst = newD4Writer(conn, (*d4).conf.key)
} else {
switch (*d4).conf.destination {
case "stdout":
(*d4).dst = newD4Writer(os.Stdout, (*d4).conf.key)
case "file":
f, _ := os.Create("test.txt")
(*d4).dst = newD4Writer(f, (*d4).conf.key)
}
} }
// Create the copy buffer // Create the copy buffer
@ -213,15 +223,15 @@ func d4checkConfig(d4 *d4S) bool {
return true return true
} }
func isNet(d []byte) (bool, []string) { func isNet(d string) (bool, []string) {
ss := strings.Split(string(d), ":") ss := strings.Split(string(d), ":")
if len(ss) != 1 { if len(ss) != 1 {
if net.ParseIP(ss[0]) != nil { if net.ParseIP(ss[0]) != nil {
infof(fmt.Sprintf("Server IP: %s, Server Port: %s\n", ss[0], ss[1])) infof(fmt.Sprintf("Server IP: %s, Server Port: %s\n", ss[0], ss[1]))
return true, make([]string, 0) return true, ss
} }
} }
return false, ss return false, make([]string, 0)
} }
func generateUUIDv4() []byte { func generateUUIDv4() []byte {