https://github.com/rigtorp/efvicap
erfvicap is a packet capture tool for network adapters from Solarflare
https://github.com/rigtorp/efvicap
efvi onload openonload packet-capture packet-sniffer solarflare
Last synced: about 1 year ago
JSON representation
erfvicap is a packet capture tool for network adapters from Solarflare
- Host: GitHub
- URL: https://github.com/rigtorp/efvicap
- Owner: rigtorp
- License: mit
- Created: 2017-06-25T03:12:31.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T02:04:40.000Z (over 3 years ago)
- Last Synced: 2025-03-24T00:31:28.680Z (about 1 year ago)
- Topics: efvi, onload, openonload, packet-capture, packet-sniffer, solarflare
- Language: C++
- Homepage:
- Size: 6.84 KB
- Stars: 62
- Watchers: 4
- Forks: 26
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# efvicap
[](https://github.com/rigtorp/efvicap/blob/master/LICENSE)
*efvicap* is a packet capture tool for network adapters
from [Solarflare](http://solarflare.com/). It uses the ef_vi API for
direct access to DMA memory and can capture traffic intended for
applications accelerated with [OpenOnload](http://www.openonload.org/)
## Usage
```sh
usage: efvicap [-i iface] [-w file] [filters...]
-i iface Interface to capture packets from
-w file Write packets in pcap format to file
```
Using an empty filter captures all packets (requiers a SolarCapture
license).
## Example
Print info about all received packets:
```sh
$ efvicap -i eth0
```
Save packets to *out.pcap*:
```sh
$ efvicap -i eth0 -w out.pcap
```
Pipe packets to *tcpdump* and print only UDP packets:
```sh
$ efvicap -i eth0 -w - | tcpdump -r - udp
```
Save UDP packets sent to 230.0.0.1:5000 and 230.0.0.2:6000:
```sh
$ efvicap -i eth0 -w out.pcap 230.0.0.1:5000 230.0.0.2:6000
```
## Building & Installing
*efvicap* requires [CMake](https://cmake.org/) 3.6 or higher to build
and install.
Building:
```sh
$ cd efvicap
$ mkdir build
$ cd build
$ cmake ..
$ make
```
Installing:
```sh
$ make install
```
## TODO
- Hardware timestamping
- Multiple interfaces
- Separate thread for writing to disk
- Compression
## About
This project was created by [Erik Rigtorp](http://rigtorp.se)
<[erik@rigtorp.se](mailto:erik@rigtorp.se)>.