d4-goclient is a D4 project client (sensor) implementing the D4 encapsulation protocol.
The client can be used on different targets and architectures to collect network capture, logs, specific network monitoring and send it back to a D4 server.
For more information about the D4 project.
Fetch d4-goclient code and dependencies
go get github.com/satori/go.uuid go get github.com/D4-project/d4-goclient
Use make to build binaries:
make arm5l # for raspberry pi / linux make amd64l # for amd64 / linux
- golang 1.10 (tested)
Launch a d4-server (if you don't have a server)
See https://github.com/D4-project/d4-core/tree/master/server $IP_SRV being the d4-server's address, $PORT its listening port
Pipe data into the client
cat /proc/cpuinfo | ./d4-goclient -c conf.sample/ | socat - OPENSSL-CONNECT:$IP_SRV:$PORT,verify=0
tcpdump (libpcap) output, discarding our own traffic
$IP being the monitoring computer ip
tcpdump not dst $IP and not src $IP -w - | ./d4-goclient -c conf.sample/ | socat - OPENSSL-CONNECT:$IP_SRV:$PORT,verify=0