... | @@ -22,7 +22,6 @@ your own client using the [[RPC API]]._ |
... | @@ -22,7 +22,6 @@ your own client using the [[RPC API]]._ |
|
* [Example](#setup-grid-load-balancing-example)
|
|
* [Example](#setup-grid-load-balancing-example)
|
|
* [Line Aggregation](#setup-grid-line-aggregation)
|
|
* [Line Aggregation](#setup-grid-line-aggregation)
|
|
* [Example](#setup-grid-line-aggregation-example)
|
|
* [Example](#setup-grid-line-aggregation-example)
|
|
* [Mock example](#setup-grid-line-aggregation-mock-example)
|
|
|
|
* [Security considerations](#security)
|
|
* [Security considerations](#security)
|
|
* [Help output](#help)
|
|
* [Help output](#help)
|
|
|
|
|
... | @@ -39,6 +38,14 @@ This will bind on `localhost:7331` by default. |
... | @@ -39,6 +38,14 @@ This will bind on `localhost:7331` by default. |
|
A grid is a network of interconnected Dispatchers which can be quite useful when
|
|
A grid is a network of interconnected Dispatchers which can be quite useful when
|
|
dealing with large workloads.
|
|
dealing with large workloads.
|
|
|
|
|
|
|
|
In order to connect Dispatchers into a Grid you'll need to:
|
|
|
|
|
|
|
|
* Specify an IP address or hostname on which the Dispatcher will be accessible
|
|
|
|
by the rest of the Grid nodes (i.e. other Dispatchers).
|
|
|
|
* Specify a neighbouring Dispatcher when running a new one.
|
|
|
|
|
|
|
|
After that, they will build and maintain their network themselves.
|
|
|
|
|
|
#### <a id="setup-grid-load-balancing" href="#setup-grid-load-balancing">Load balancing</a>
|
|
#### <a id="setup-grid-load-balancing" href="#setup-grid-load-balancing">Load balancing</a>
|
|
|
|
|
|
Load balancing is the default operation of the Grid; nomatter which member receives
|
|
Load balancing is the default operation of the Grid; nomatter which member receives
|
... | @@ -64,16 +71,10 @@ Lather, rinse, repeat: |
... | @@ -64,16 +71,10 @@ Lather, rinse, repeat: |
|
|
|
|
|
#### <a id="setup-grid-line-aggregation" href="#setup-grid-line-aggregation">Line aggregation</a>
|
|
#### <a id="setup-grid-line-aggregation" href="#setup-grid-line-aggregation">Line aggregation</a>
|
|
|
|
|
|
In order to connect the Dispatchers into a grid you'll need to:
|
|
In addition to the default Grid setup requirements, line-aggregation also requires a bandwidth pipe
|
|
|
|
identifier used to distinguish between the different paths to the target web application.
|
|
* Specify an IP address or hostname on which the Dispatcher will be accessible
|
|
This allows the system to identify independent bandwidth lines to the target in order to split the
|
|
by the rest of the Grid nodes (i.e. other Dispatchers).
|
|
workload in a way that will aggregate the collective bandwidth.
|
|
* Specify a neighbouring Dispatcher when running a new one.
|
|
|
|
* Use different Pipe IDs -- these are used to identify independent bandwidth
|
|
|
|
lines to the target in order to split the workload in a way that will
|
|
|
|
aggregate the collective bandwidth.
|
|
|
|
|
|
|
|
After that, they will build and maintain their network themselves.
|
|
|
|
|
|
|
|
##### <a id="setup-grid-line-aggregation-example" href="#setup-grid-line-aggregation-example">Example</a>
|
|
##### <a id="setup-grid-line-aggregation-example" href="#setup-grid-line-aggregation-example">Example</a>
|
|
|
|
|
... | @@ -90,16 +91,6 @@ Lather, rinse, repeat: |
... | @@ -90,16 +91,6 @@ Lather, rinse, repeat: |
|
arachni_rpcd --pipe-id="Pipe 3" --nickname="My third Dispatcher" --address=192.168.0.3 --neighbour=192.168.0.2:7331
|
|
arachni_rpcd --pipe-id="Pipe 3" --nickname="My third Dispatcher" --address=192.168.0.3 --neighbour=192.168.0.2:7331
|
|
arachni_rpcd --pipe-id="Pipe 4" --nickname="My fourth Dispatcher" --address=192.168.0.4 --neighbour=192.168.0.3:7331
|
|
arachni_rpcd --pipe-id="Pipe 4" --nickname="My fourth Dispatcher" --address=192.168.0.4 --neighbour=192.168.0.3:7331
|
|
|
|
|
|
##### <a id="setup-grid-line-aggregation-mock-example" href="#setup-grid-line-aggregation-mock-example">Mock example</a>
|
|
|
|
|
|
|
|
The above setup assumes that each Dispatcher is on a machine with independent bandwidth lines
|
|
|
|
(to the target website at least). If you want to, out of curiosity, start a few Dispatchers on
|
|
|
|
`localhost` you will need to specify unique port numbers for them:
|
|
|
|
|
|
|
|
arachni_rpcd --pipe-id="Pipe 1" --nickname="My Dispatcher"
|
|
|
|
arachni_rpcd --pipe-id="Pipe 2" --nickname="My second Dispatcher" --port=1111 --neighbour=localhost:7331
|
|
|
|
arachni_rpcd --pipe-id="Pipe 3" --nickname="My third Dispatcher" --port=2222 --neighbour=localhost:1111
|
|
|
|
|
|
|
|
### <a id="security" href="#security">Security considerations</a>
|
|
### <a id="security" href="#security">Security considerations</a>
|
|
|
|
|
|
**This is very important, you should read it thoroughly.**
|
|
**This is very important, you should read it thoroughly.**
|
... | | ... | |