Follow the steps on this page to set up your own private instance of the Collaborator server. This may be useful in the following situations:
To launch a Collaborator server instance that supports all Collaborator functionality, you need to:
Once you have completed these steps, we recommend that you run the Collaborator health check.
To access full Collaborator-related functionality, you need to obtain a domain and configure Collaborator to use the domain. The Collaborator server then runs a DNS service for your domain.
Alternatively, you can configure the Collaborator server to use an IP address instead of a domain. However, this is less effective at detecting vulnerabilities, as any Collaborator-related functionality that relies on DNS resolution is not available.
To obtain the domain or subdomain for the Collaborator server to use, you could:
example.com.
burpcollaborator.example.com.
To configure the Collaborator server to use the domain, you need to:
serverDomain field of your configuration file.
You can generally set the Collaborator server as authoritative on your domain registrar's web interface. Speak to your domain provider for assistance. You also need to:
Set up the DNS configuration. This is based on your domain registrar, but you must always have the following entries:
ns1.burpcollaborator.example.com.
You can't edit the host file of the target server to avoid the use of the Collaborator DNS service. Host files do not support wildcards and so can't be used to route queries with randomly generated subdomains.
By default, Burp Collaborator server listens on the following ports:
To make sure the server operates correctly, you need to:
Configure your firewall to:
You may wish to change the ports from their defaults if you're using a different server, or if you are on a Unix-based system and want to run the Collaborator server as a non-root user.
To change the ports, edit the ports value in the eventCapture and dns fields of your configuration file. You can enter a single port value or multiple values. You can also do this in the polling field if you've configured a separate polling interface.
You also need to:
Specify the chosen ports. Use the format burpcollaborator.example.com:9443 to add a location for the HTTP or HTTPS port, depending on your polling connection:
You need to make two key decisions when you set up the Collaborator server:
To control how much memory your computer assigns to the Collaborator server, you can configure the JVM's memory handling and garbage collection. To do this, add the --collaborator-server argument to the command line when you launch the Burp Suite JAR. For example:
On a desktop machine, with a small number of expected users:
sudo java -Xms10m -Xmx200m -XX:GCTimeRatio=19 -jar /path/to/file.jar --collaborator-server
This command allows the heap to fluctuate between 10 and 200MB. The JVM spends 5% of its time in garbage collection, which uses less memory.
On a dedicated machine, with a larger number of users:
sudo java -Xmx3g -Xms3g -jar /path/to/file.jar --collaborator-server
This command fixes the size of the heap to the amount of physical memory available. It leaves 1GB for the operating system, JVM, and other running processes.
On a dedicated machine with more that 4GB of physical memory, and a large number of users:
sudo java -Xmx12g -Xms12g -XX:+UseG1GC -jar /path/to/file.jar --collaborator-server
This command uses the G1 garbage collector, which significantly reduces the JVM pauses that occur during garbage collection.
You need to write a configuration file to set up the Collaborator server. This file enables you to configure all options for the server.
Generally, you need to save the file under the name collaborator.config in the current working directory. By default, the Collaborator server looks for this file. To override this, amend the --collaborator-config argument in the command line. For example:
sudo java -jar /path/to/file.jar --collaborator-server --collaborator-config=myconfig.config
To launch a Collaborator server with a custom configuration file, add the following argument to the command line:
--collaborator-config=myconfig.configYou don't need a license key to run your own instance of the server. The Collaborator server is included in the same executable file as Burp Suite Professional itself.
Once you've launched your server, you need to tell Burp where to find it:
Before you start using your server, run the Collaborator health check to determine whether Burp is likely to be able to make use of Collaborator's features. You can find this under Project > Collaborator in the Settings dialog.
Our troubleshooting guide may help you address any issues raised in the health check.
You can launch a basic Collaborator server instance without a configuration file and dedicated domain. This enables you to use basic Collaborator features to detect issues like external HTTP interactions. This setup may be useful for an individual or small team working on a closed network with no internet access.
This setup doesn't support custom DNS resolution or valid trusted HTTPS connections.
To launch a basic Collaborator setup:
sudo java -jar /path/to/file.jar --collaborator-server
Configure Burp to use your machine's IP address as its Collaborator server: