Netcap now supports exporting prometheus metrics about its go runtime, the collection process and the audit records itself. These data points can be used to gain insights about the collection performance or discover security related events.
Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud. Since its inception in 2012, many companies and organizations have adopted Prometheus, and the project has a very active developer and user community. It is now a standalone open source project and maintained independently of any company.
To visualize the captured data I recomment the open source analytics and monitoring solution Grafana:
This feature can be used with the export tool, which behaves similar to capture but is able to operate on pcaps, audit records and network interfaces.
# reference: https://prometheus.io/docs/prometheus/latest/configuration/configuration/
# process_ metrics
- job_name: netcap
Run the export tool to capture live from an interface:
net export -iface en0
Go to http://localhost:9090 or to the port you configured alternatively, to check if your prometheus instance is scraping data correctly. Now that we have some data at hands, lets use Grafana to visualize it!
You can setup Grafana on macOS via brew:
$ brew install grafana
Start the prometheus server and pass the previously created config:
$ prometheus --config.file prometheus/prometheus.yml
You need to install the pie chart plugin for grafana:
$ cd /usr/local/opt/grafana/share/grafana/data/plugins
$ git clone https://github.com/grafana/piechart-panel.git --branch release-1.4.0
Start the grafana server:
$ grafana-server --homepath /usr/local/opt/grafana/share/grafana
Now download the NETCAP Dashboard and import it into Grafana:
Go to Settings > Datasources and a prometheus datasource, either with the default port 9090 or the one you choose in the config.
You should be good to go!
Export a PCAP dumpfile and serve metrics .
$ net export -read 2017-09-19-traffic-analysis-exercise.pcap
Capture and export traffic live from the named interface:
$ net export -iface en0
Export a specific audit record file:
$ net export -read HTTP.ncap.gz
Export all audit record files in the current directory:
$ net export .
Grafana Dashboard Overview
Grafana Dashboard TCP
Grafana Dashboard HTTP