This repository is the server component of NDN Passive Name Visualizer. It is meant to be used with the web application.
This program supports Linux and Windows.
On Linux, it requires libpcap-dev
package.
On Windows, it requires npcap
system service.
To install from source code, you need Go 1.15 or higher.
go get github.com/10th-ndn-hackathon/namevis/cmd/namevis
You can also download prebuilt binaries on Actions tab.
namevis
program starts an HTTP server on 127.0.0.1:6847
.
GET /devices.json
returns a JSON document describing available network devices for packet capture.
The response is an array, in which each item represent a network device.
Example:
[
{
"name": "eth1",
"addresses": ["192.0.2.1"]
}
]
GET /files.json
returns a JSON document describing PCAP files in the current working directory.
The response is an array, in which each item is a file name.
Example:
[
"1.pcap",
"2.pcap"
]
new WebSocket("http://127.0.0.1:6847/live.websocket?device=eth1")
starts a live capture session on "eth1" interface.
Each message represents a captured NDN packet.
Example:
{
"timestamp": 123456789000, // Unix timestamp in milliseconds
"name": "/8=P/8=Q", // NDN packet name in canonical format
"type": "I" // I for Interest, D for Data
}
new WebSocket("http://127.0.0.1:6847/file.websocket?filename=1.pcap")
reads from the specified file.
Message format is same as live capture session.