mirror of https://github.com/ntop/n2n.git
Logan oos Even
2 years ago
committed by
GitHub
6 changed files with 90 additions and 6 deletions
@ -0,0 +1,84 @@ |
|||
# Tools |
|||
|
|||
There are a number of handy tools coming with n2n extending fumction and |
|||
user experience or just prove helpful during build and development. |
|||
|
|||
All tools can be found in the `tools` directory. |
|||
|
|||
## End User Tools |
|||
|
|||
### `n2n-benchmark` |
|||
|
|||
This C tool has n2n's basic transforms (the ciphers, compression, hash) |
|||
crunch a test packet and outputs the measured throughput. You might observe |
|||
differences depending on compiler optimizations or enabled hardware support, |
|||
see [build configuration](BuildConfig.md). |
|||
|
|||
Example: |
|||
- `tools/n2n-benchmark` |
|||
|
|||
### `n2n-route` |
|||
|
|||
This C tool sets new routes for all the traffic to be routed via a VPN gateway |
|||
(another edge) and polls the management port of a local n2n edge for adding |
|||
appropriate routes to supernodes and peers via the original default gateway. |
|||
|
|||
The tool can auto-detect the default gateway and also has options to only route |
|||
traffic to specified networks through the VPN gateway. |
|||
|
|||
Make sure to run with sufficient rights to let the tool add and delete routes. |
|||
|
|||
More general information can be found in the [routing document](Routing.md) |
|||
including hints how to setup the remote edge (IP routing, masquerading). |
|||
|
|||
Example: |
|||
- `tools/n2n-route <remote edge address>` |
|||
- `tools/n2n-route -n 10.10.10.0/24 <remote edge address>` |
|||
- `tools/n2n-route -n 8.8.8.8/32 <remote edge address>` |
|||
|
|||
### `n2n-portfwd` |
|||
|
|||
This C tool uses UPnP and/or PMP to have a local router forward the edge port. |
|||
The program polls a local edge's management port and takes apporpriate action. |
|||
|
|||
Note that n2n needs to be compiled with the corresponding options enabled, e.g. |
|||
|
|||
``` |
|||
./configure --enable-miniupnp --enable-natpmp |
|||
``` |
|||
|
|||
or |
|||
|
|||
``` |
|||
`cmake -DN2N_OPTION_USE_PORTMAPPING=ON` |
|||
|
|||
``` |
|||
|
|||
Also see [build configuration](BuildConfig.md). |
|||
|
|||
Example: |
|||
- `tools/n2n-portfwd` |
|||
|
|||
|
|||
## Build and Development Tools |
|||
|
|||
### `tests-*` |
|||
|
|||
These C programs run certain parts of n2n with pre-defined data and output |
|||
the results. The expected results can be found in the `tests/` directory |
|||
following the `tests-*.expected` naming scheme. |
|||
|
|||
The `test_*` [scripts](Scripts.md) residing inside the `scripts/` directory |
|||
compare test output and expected results to quickly show deviations, helpful |
|||
when on bug hunt. |
|||
|
|||
Example: |
|||
- `tools/tests-transforms` |
|||
|
|||
### `n2n-decode` |
|||
|
|||
This C tool intends to decrypt captured n2n traffic when all keys are provided. |
|||
Its development unfortunately did not follow main n2n's pace after version 2.8 |
|||
and thus is not up to date. |
|||
|
|||
Contributions to help lifting it to match version 3.x traffic are very welcome. |
Loading…
Reference in new issue