Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A arachni
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 125
    • Issues 125
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Arachni - Web Application Security Scanner Framework
  • arachni
  • Wiki
  • Guides
  • User
  • RPC server

RPC server · Changes

Page history
Switched id attributes to name authored Aug 17, 2014 by Tasos Laskos's avatar Tasos Laskos
Hide whitespace changes
Inline Side-by-side
guides/user/RPC-server.md
View page @ f1c2d3a4
...@@ -25,15 +25,15 @@ your own client using the [[RPC API]]._ ...@@ -25,15 +25,15 @@ your own client using the [[RPC API]]._
* [Security considerations](#security) * [Security considerations](#security)
* [Help output](#help) * [Help output](#help)
## <a id="setup" href="#setup">Setup</a> ## <a name="setup" href="#setup">Setup</a>
### <a id="setup-simple" href="#setup-simple">Simple</a> ### <a name="setup-simple" href="#setup-simple">Simple</a>
Starting a Dispatcher can be as simple as running: `arachni_rpcd` Starting a Dispatcher can be as simple as running: `arachni_rpcd`
This will bind on `localhost:7331` by default. This will bind on `localhost:7331` by default.
### <a id="setup-grid" href="#setup-grid">Grid</a> ### <a name="setup-grid" href="#setup-grid">Grid</a>
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.
...@@ -46,7 +46,7 @@ In order to connect Dispatchers into a Grid you'll need to: ...@@ -46,7 +46,7 @@ In order to connect Dispatchers into a Grid you'll need to:
After that, they will build and maintain their network themselves. 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 name="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
the [dispatch](http://rubydoc.info/github/Arachni/arachni/Arachni/RPC/Server/Dispatcher#dispatch-instance_method) call, the Instance will be provided by the least burdened member. the [dispatch](http://rubydoc.info/github/Arachni/arachni/Arachni/RPC/Server/Dispatcher#dispatch-instance_method) call, the Instance will be provided by the least burdened member.
...@@ -58,7 +58,7 @@ To (un)favor certain Dispatchers you can use the `--weight` option, the given fl ...@@ -58,7 +58,7 @@ To (un)favor certain Dispatchers you can use the `--weight` option, the given fl
be multiplied against the load-balancing score of a Dispatcher and that product will serve be multiplied against the load-balancing score of a Dispatcher and that product will serve
as the new score -- lower is better. as the new score -- lower is better.
##### <a id="setup-grid-load-balancing-example" href="#setup-grid-load-balancing-example">Example</a> ##### <a name="setup-grid-load-balancing-example" href="#setup-grid-load-balancing-example">Example</a>
Starting the first Dispatcher: Starting the first Dispatcher:
...@@ -73,7 +73,7 @@ Lather, rinse, repeat: ...@@ -73,7 +73,7 @@ Lather, rinse, repeat:
arachni_rpcd --nickname="My third Dispatcher" --address=192.168.0.3 --neighbour=192.168.0.2:7331 arachni_rpcd --nickname="My third Dispatcher" --address=192.168.0.3 --neighbour=192.168.0.2:7331
arachni_rpcd --nickname="My fourth Dispatcher" --address=192.168.0.4 --neighbour=192.168.0.3:7331 arachni_rpcd --nickname="My fourth Dispatcher" --address=192.168.0.4 --neighbour=192.168.0.3:7331
#### <a id="setup-grid-line-aggregation" href="#setup-grid-line-aggregation">Line aggregation</a> #### <a name="setup-grid-line-aggregation" href="#setup-grid-line-aggregation">Line aggregation</a>
In addition to the default Grid setup requirements, line-aggregation also requires a bandwidth pipe 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. identifier used to distinguish between the different paths to the target web application.
...@@ -83,22 +83,22 @@ workload in a way that will aggregate the collective bandwidth. ...@@ -83,22 +83,22 @@ workload in a way that will aggregate the collective bandwidth.
Line aggregation only takes effect when performing multi-Instance scans and the `:grid_mode` Line aggregation only takes effect when performing multi-Instance scans and the `:grid_mode`
option has been explicitely set to `:aggregate` (see [Instance#scan](http://rubydoc.info/github/Arachni/arachni/Arachni/RPC/Server/Instance#scan-instance_method)). option has been explicitely set to `:aggregate` (see [Instance#scan](http://rubydoc.info/github/Arachni/arachni/Arachni/RPC/Server/Instance#scan-instance_method)).
##### <a id="setup-grid-line-aggregation-example" href="#setup-grid-line-aggregation-example">Example</a> ##### <a name="setup-grid-line-aggregation-example" href="#setup-grid-line-aggregation-example">Example</a>
Starting the first Dispatcher: Starting the first Dispatcher:
arachni_rpcd --pipe-id="Pipe 1" --nickname="My Dispatcher" --address=192.168.0.1 arachni_rpcd --pipe-name="Pipe 1" --nickname="My Dispatcher" --address=192.168.0.1
Adding more in order to form a Grid: Adding more in order to form a Grid:
arachni_rpcd --pipe-id="Pipe 2" --nickname="My second Dispatcher" --address=192.168.0.2 --neighbour=192.168.0.1:7331 arachni_rpcd --pipe-name="Pipe 2" --nickname="My second Dispatcher" --address=192.168.0.2 --neighbour=192.168.0.1:7331
Lather, rinse, repeat: 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-name="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-name="Pipe 4" --nickname="My fourth Dispatcher" --address=192.168.0.4 --neighbour=192.168.0.3:7331
### <a id="security" href="#security">Security considerations</a> ### <a name="security" href="#security">Security considerations</a>
**This is very important, you should read it thoroughly.** **This is very important, you should read it thoroughly.**
...@@ -122,7 +122,7 @@ Sufficient authN/authZ can be achieved by either: ...@@ -122,7 +122,7 @@ Sufficient authN/authZ can be achieved by either:
* Configuring the relevant SSL options for both the clients and dispatch servers. * Configuring the relevant SSL options for both the clients and dispatch servers.
* Rolling your own network security scheme via a VPN or something similar. * Rolling your own network security scheme via a VPN or something similar.
### <a id="help" href="#help">Help output</a> ### <a name="help" href="#help">Help output</a>
The help output of the RPC server if fairly straightforward: The help output of the RPC server if fairly straightforward:
......
Clone repository

Pages [all]

  • Home
  • Installation instructions
  • For users
    • Executables
    • Command Line Interface
    • Web User Interface
    • Distributed components (Dispatchers and Instances)
      • RPC Client
      • RPC Server (Dispatcher)
  • For developers
    • Core API documentation
    • RPC API
    • Development environment

Can't find what you're looking for? Why not have a look at the support portal?