Getting Started with NetHavoc

NetHavoc is a cost-effective, performance enhancing, and easy-to-use solution for enterprise applications. This guide provides information about how to manage havocs and test the robustness of your applications using NetHavoc

Overview

NetHavoc is a powerful tool that allows users to test the resilience of the applications. The overall performance of a service is directly linked to the ability to tolerate failures. This aspect of an application/software can be tested by deliberately injecting random faults and failures into the application infrastructure. NetHavoc enables you to inject various faults into the application infrastructure during a load test. The aftereffects of the fault injection can be monitored through NetHavoc powerful monitoring capabilities.

Key Features

  • Havocs can be injected randomly in the production and/or the staging environment (during a load test or even in production) and the aftereffects monitored using the NDE infrastructure (Failure as a Service).
  • Havocs can be injected by the Fault Injection software based on different parameters including:
    • Time (off-peak hours)
    • Probability (of the fault occurring)
    • Spacing (between two faults)
    • Severity (instance(s), server(s), Tier(s), DC going down)
    • Partial fault (disable network interface) to full fault (server power down)
  • Havocs can be injected into different services:
    • Application servers
    • Load balancers

Prerequisites

To inject a fault, the following prerequisites must be met:

  1. The server on which the fault has to be applied must have Ubuntu, CenOS or RHEL operating systems.
  2. For CMon type connection, CMon should run on host machine.
  3. Packages required:
    • ‘at’ package: The ‘at’ command schedules a command to be run once at a particular time that you normally have permission to run. The ‘at’ command can be anything from a simple reminder message, to a complex script.The NetHavoc machine must have ‘at’ package to schedule the fault.
    • ‘tc’ package: ‘tc’ command is used to configure Traffic Control in the Linux kernel.The host machine must have the ‘tc’ package installed for Network related faults.
    • ‘fallocate’ package: ‘fallocate’ command is used to manipulate the allocated disk space for a file. The host machine must have the ‘fallocate’ package installed for Fill Up Disk faults.
    • ‘dd’ package: For I/O Shoot Up, ‘dd’ package should be installed at the NetHavoc machine.
    • ‘timedatectl’ package: For Teleport, ‘timedatectl’ package should be installed at the NetHavoc machine.
    • ‘az’ package: For Azure Server Termination, Azure (az) package should be installed at the NetHavoc machine.
    • ‘gcloud’ package: For GCP, ‘gcloud’ package should be installed at the NetHavoc machine.
    • ‘awscli’ package: For AWS, ‘awscli’ package should be installed at the NetHavoc machine.

4. For Fill Up Disk fault:

    • For SSH connection type, the partition selected by the given SSH user should have write permission to fill up disk.
    • For CMon connection type, the partition selected by the ‘cavisson’ user should have write permission to fill up disk.

5. For Application Termination fault:

    • For SSH connection type, the SSH user or SSH group user must have the permission to terminate the application/process.
    • For CMon connection type, the ‘cavisson’ user or ‘cavisson’ group user must have the permission to terminate the application/process.
Once a fault is cleared, all the remote programs/scripts and related files made by the script to inject the havoc are removed.

Supported Platforms

You can inject havocs on different platforms including Linux, Kubernetes, Docker, and PCF. Depending on the chosen platform, you need to specify where havocs will be applied:

  • Linux
  • Docker
  • Kubernetes
  • Windows
  • PCF
  • IBM CF

Havoc Category

Using NetHavoc, you can apply the following types of havocs in an application:

  • Starve Application
  • State Change
  • Network Assault

Starve Application

The following types of havocs can be triggered in the Starve Application category:

  • CPU BURST – Consumes CPU cores or utilization
  • DISK SWINDLE – Fills up disks on the server
  • I/O SHOOT UP – Increases the I/O activity on devices/nodes
  • MEMORY OUTLAY – Increases RAM utilization.

State Change

The following types of havocs can be triggered in the State Change category:

  • ABORT APPLICATION – Aborts any process/application by name or ID
  • KILL SERVER – Shutdowns or reboot the host.
  • TELEPORT – Travel back or forward by changing the system time.
  • TERMINATE CLOUD INSTANCE – Chooses to terminate a cloud instance.

Network Assault

The following types of havocs can be triggered in the Network Assault category:

  • DORMANT NETWORK –Induces delay in network traffic.
  • TRIM NETWORK PACKET – Induces Packet Loss over interface(s).
  • INTERSTELLAR– Drop all Ingress/Egress matching traffic
  • DNS BREAKDOWN – Rejects calls to the DNS Server to simulate breakdown.

Accessing NetHavoc

You can inject havocs in NetStorm and NetDiagnostics machines.

Using the Admin menu

To access NetHavoc:

  1. Open a Web browser, type the following URL: https://<hostname/IP>/<product_name>

2. Enter your username and password on the login page:

3. Click Login. The landing screen is displayed.

4. Select Admin > NetHavoc > Manage NetHavoc. The NetHavoc window is displayed.

Using the Test Runs Window from NetStorm

To access NetHavoc:

  1. Select View > Test Runs.
  2. Select the test run check box where you want to create havocs.
  3. Click the NetHavoc button, as shown highlighted in the following figure:

4. The NetHavoc window is displayed:

Using the NetHavoc window, you can analyze havoc reports, view havoc distribution, view havoc state and summary and inject havocs on different platforms:

  • Configure havocs on different platforms.
  • Specify user-defined havoc duration.
  • Schedule configured havocs.
  • Reapply the completed, failed or stopped havocs.
  • Update configured havoc
  • View havoc graphs.
  • Delete configured, completed, stopped or failed havocs.

View Havoc Reports

In the NetHavoc window, the Havoc Report screen is displayed, by default. The Havoc Report window displays a summary of the havocs. You can analyze the information about havoc distribution, havoc states, and the summary of all the havocs.

Havoc State

The Havoc State section of the NetHavoc window displays information in the form of a bar graph, where you can analyze the status of the havocs.

The following havoc status are displayed:

  • Running
  • Completed
  • Configured
  • Stopped
  • Scheduled
  • Failed

Havoc Distribution

The Havoc Distribution section of the NetHavoc window displays information in the form of a pie chart, where the user can get the details about the types of havocs.

Havoc Summary

The Havoc Summary section of the NetHavoc window contains several tabs, namely Overall, Running, Completed, Configured, Stopped, Scheduled, and Failed that display the status of the havocs. Each tab provides detailed information about the injected havocs, such as action, havoc type, tier, server, start time, duration, havoc Id, user, end time, test run, and others.

  • While creating a havoc, when a user selects Dynamic as the Server Selection Mode and applies it, the havoc is displayed as a parent node instead of a general node in the Havoc Summary. Click the  icon to view the child nodes.
  • For Dynamic server selection mode, the ‘End time’ is displayed in parent node along with child nodes, after the havoc is completed.
  • The user can apply, delete, or update a havoc from the Havoc Summary itself if the havoc is at Ready To Apply status.
  • The user can also stop a havoc from the Havoc Summary itself but only when the havoc is at Running status.
  • The ‘Mode’ column in the ‘Reports’ section under the ‘Overall’ tab displays the mode in which a fault was configured. There are two modes – UI and API.

Download Reports

To download reports, click the download icon . You can download the report in PDF, Word, or Excel formats.

Inject Havocs

NetHavoc enables you to introduce havocs or faults into your system for analyzing how the system responds to the disruptions. You can inject havocs on a host application or container applications.

Prerequisites for Injecting Havocs

Before applying havocs on your system, ensure that the prerequisites mentioned in this section are met.

Host Applications

To inject a fault on a host application, the following prerequisites must be met:

  • The server on which the fault has to be applied must have Ubuntu, CenOS or RHEL operating systems.
  • For CMon type connection, CMon should run on the host machine.
  • Cavisson Agent should be deployed via root user on virtual machines.
  • Cavisson Agent connectivity must be there with *NetHavoc Domain*. Whitelisting of all endpoints needs to be done at the same time.
  • For RPM Cavisson Agent, connection should be installed & running with root user.
  • Packages required:
CommandDescription
fallocate packageManipulates the allocated disk space for a file. The host machine must have the ‘fallocate’ package installed for Fill Up Disk faults.
‘dd’ packageFor I/O Shoot Up, ‘dd’ package should be installed at the NetHavoc machine.
Timedatectl commandneeds to be installed if looking for Teleport havoc.
Iptables & tc commandsneed to be installed on the host machine (in case of other users (cavisson), we might need to allow sudo privileges to run this).

Containerized Applications

To inject a fault on containerized applications, the following prerequisites must be met:

  • Cavisson Agent should be deployed on pods/containers.
  • Cavisson Agent connectivity must be there with *NetHavoc Domain*. Whitelisting of all endpoints needs to be done at the same time.
  • Packages required at K8s containers environment:

Note: These packages are standard packages for Alpine/Ubuntu.

PackageDescription
fallocate’Manipulate the allocated disk space for a file. The host machine must have the ‘fallocate’ package installed for Fill Up Disk faults.
ddFor I/O Shoot Up, ‘dd’ package should be installed for I\O shoot faults.
Bashin Ubuntu sh in alpine commands installed on pods/containers.

 

Docker.sockshould have read permission.

 

Injecting Havocs

You can inject fault(s) in any running instance/server at specified time or random time. NetHavoc simulates failure at a random point in time interval. User needs to provide specific inputs according to faults. System calls some APIs accordingly, which inject the specified fault into the running instance/server.

To inject havocs:

  1. Click the Inject Havoc tab in the NetHavoc window.
  2. Click the required platform tab, such as Linux, Docker, or Windows.
  3. Select a havoc category that you want to apply in the application.

Note: Based on the selected platform, the configuration options will vary.

  1. Specify the configuration options for the selected havoc.
  2. Click one of the following options to apply the havoc:
  • Configure: Click the Configure button to include the havoc in the Havoc Summary table. You can apply the havoc later by clicking the Apply Havoc icon in the Havoc Summary section.
  • Configure & Apply: Click the Configure & Apply button to apply the havoc in your application.

Select a Category

The havocs to be configured are divided into three categories. Each category has several types. The user needs to choose the category and its type and proceed to configure the havoc. These categories, their types and other functionalities are described below.

  • If any havoc is already at Running or Scheduled status, another havoc with Injection Time as Specified or Random cannot be configured. It can be configured if the Injection Time is Current.
  • If a user opens a test run from the UI, and then opens NetHavoc, it opens with the test run at that time.

The havocs are divided into three categories: Starve Application, State Change, and Network Assaults.

Starve Application

The havocs that impact cores, workers, and memory are placed in this category. The havoc types for this category are as follows:

  • CPU Burst: In this Havoc type, NetHavoc consumes CPU resources.
    • Fill Core: The number of cores in the CPU that you want to consume. The maximum limit to fill the cores is N-1, where N is the total number of cores available in the system.
    • CPU %: Burns CPU on mentioned server(s). The default value is 10% and maximum can be 80%.
  • Disk Swindle: You need to specify the partition name of the server. The partition value must be between 1% and 80%, and the default auto correct time is 2 seconds. If you select single server (that is, if you select ‘Specified’ as the Server Selection Mode, and then select one server), a new pop-up window ‘Partition Name’ is displayed instead of just the text box. The ‘Partition Name’ window displays a list of all the file systems and their details. You need to select one from the available list, and then click ‘ADD’.
  • I/O Shoot Up: I/O Shoot Up impacts the file system by increasing the I/O activity on devices in two modes:
    • By selecting either ‘Read’ or ‘Write’ operations on the blocks based on user-defined Block Size.
    • By selecting ‘Read/Write’ operation on the blocks based on user-defined Block Size.
  • Memory Outlay: This havoc consumes memory by increasing RAM utilization. You must provide a target memory to be consumed in MB, GB, or percentage. The default auto-correct time is 2 seconds.

State Change

The havocs that are process killer, shutdown, and time travel are placed in this category. The havoc types for this category are as follows:

  • Abort Application: NetHavoc can terminate any application on the server(s). Termination can be done using Process ID / Name.
    • Process ID: The ID of the process, which has to be killed by the fault.
    • Process Name: Name of the process needs to be killed by the user.
  • Terminates Cloud Instance: In this havoc type, you can terminate an instance on Azure or AWS cloud servers. You need to provide the following details:
    • Cloud Type: Cloud type as Azure or AWS.
    • Computer Name: Cloud Server name / IP.
    • Resource Group Name: They are logical containers for a collection of resources that can be treated as one logical instance. You can use resource groups to control all of their members collectively.
    • User Name / Password: These are Server credentials.
  • Kill Server: You can use this havoc type to impact the machine in two ways:
    • Shut Down: Selecting this mode kills the machine.
    • Reboot: Selecting this mode reboots the machine.
  • Teleport: This havoc type enables you to control the system time. You can do that in the following two ways:
    • Future: You can change the system time to future with respect to the defined duration.
    • Past: You can change the system time to past with respect to the defined duration.

Network Assaults

The havocs that introduce network corruption, latency, packet loss and others are placed in this category. The havoc types for this category are as follows:

  • Intrude Network: You can corrupt network incoming packets from the server(s) and outgoing packets to the server(s). The default value is 10% and maximum can be 50% corruption.
    • Network Interface: It is the point of interconnection between a computer and a private or public network. The drop-down suggests all the interfaces that has been added on the server.
    • Corruption Percentage: The % of network packets needs to be corrupted or manipulated.
  • Trim Network Packets: You can apply loss in the incoming and outgoing packets to the server(s) on user-defined interface. The default value is 10% and maximum can be 100% loss.
    • Network Interface: Provide the network interface.
    • Loss: The % of packets lost in the network.
  • Dormant Network: Using this havoc type, you can generate delay in the packet receiving and sending to the server(s). You can provide a fixed value or a range (in milliseconds).
    • Network Interface: Provide the network interface.
    • Specified: Provide integer value of the field. The packets will be delayed by the specified amount of time.
    • Random: The packets will be delayed by any time between the two given values.
  • DNS Breakdown: With the help of this havoc type, you can reject the calls on DNS server on a specified or all interfaces. You can block the traffic coming from a single IP or a range of IPs. You can also block the traffic based on either TCP or UDP protocol.
  • Interstellar: You can choose this havoc type to drop all ingress/egress matching traffic on a specified or all interfaces. You can block the ingress/egress traffic based on a single IP or a range of IPs. You can also block the ingress/egress traffic based on TCP/UDP/ICMP protocol.

Injection Time

Using the Injection Time options, you can specify the time at which the faults are to be injected based on the configurations. You have the following options for fault injection time:

  • Current: Here, the system captures the current time and injects havocs for the specified duration from current date and time.
  • Specified: Here, you need to specify the exact date and time and duration (in HH:MM:SS format) at which the configured fault is to be injected.
  • Random: You can specify the start date and time and end date and time along with the duration (in HH:MM:SS format) for injecting faults. The system picks any random time between the specified time and injects faults based on the provided duration.

Duration

The Duration section displays the information about the total duration of the injected havoc. This information is divided into three stages – Shoot Up, Stable, and Tumble. This information is also displayed in the form of a graph.

  • Shoot Up: This is the ramp-up phase.
  • Stable: This is the duration phase.
  • Tumble: This is the ramp-down phase.

This is disabled when the selected Havoc Type is Application Termination or Server Termination.

Targets

In the Target section, you need to specify tier, server selection mode, server, and connection from the corresponding drop-down lists. Other options change depending on the category and the havoc type that the user selects, which is explained earlier.

Platform-specific Information

You can inject havocs on different platforms including Linux, Kubernetes, Docker, and PCF. Depending on the chosen platform, you need to specify where havocs will be applied.

Server Info

On a Linux platform, you need to select the various server information, as required.

  • Tier: The tier on which havoc is to be injected.
  • Server Selection Mode: Choose if you want to select a specified or a dynamic server.
    • Specified: You can select specific server(s).
    • Dynamic: You can select any number or any percentage of available servers.
  • Server: Based on specified or dynamic server selected earlier, select the server on which havoc is applied.
    • ALL (Dynamic server): If you select this option, all the servers are selected.
    • ANY (Dynamic server): Provide any number of servers.
    • ANY % (Dynamic server): Provide any percentage of available servers.
  • Connection Type: Havocs are injected on the server through these connection types (modes) – SSH and Cavisson Agent.

Kubernetes Info

To inject havocs on Kubernetes, click the Kubernetes tab in the Inject Havoc window. Provide the following information in the Kubernetes Info section:

  • Node List: Select the node containing the pods where your containers are running.
  • Pod List: Select the pod that hosts the required containers.
  • Container List: Specify the containers where you want to inject havocs. You can select multiple containers running on the selected pod.

Containers Info

On the Docker platform, provide the following information in the Containers Info section:

  • Tier: Select the tier name where the required server is running.
  • Server: Specify the CMON server (Cavisson Agent) where the required containers are running.
  • Containers name: Specify the containers where you want to inject havocs. You can select multiple containers running on the selected server.

PCF Info

The PCF Info section enables you to provide information about the PCF environment where you want to apply havocs using NetHavoc.

  • Cluster: Select the cluster where the required Diego cell is running.
  • Diego Cell: Specify the Diego cell that will run and manage your containers.
  • App Name: Specify the application having all the containers where you want to apply havocs.
  • Container ID: Specify the ID of the containers where you want to inject havocs.

IBM Cloud CF Info

The IBM Cloud CF Info section enables you to provide information about the IBM environment where you want to apply havocs using NetHavoc.

  • App Name: Specify the application having all the instances where you want to apply havocs.
  • Instance ID: Specify the ID of the instances where you want to inject havocs.

Windows Server Info

The Server Info section in the Windows tab enables you to provide information about the Windows environment where you want to apply havocs using NetHavoc.

  • Tier: Select the tier that contains the server where you want to inject havocs.
  • Server: Specify the CMON server (Cavisson Agent) where the required containers are running.
  • Server Selection Mode: Specify the mode for selecting a server. You can select either Specified or Dynamic mode.

Apply Havocs

After configuring all the settings, you can save the havoc for later use or apply the havoc in your application.

Configure Havoc

If you want to include the new havoc in the Havoc summary table, click the Configure Havoc button in the Inject Havoc window. A summary of the configured havoc is displayed in the Havoc Summary window.

Click Ok to close this window. The havoc will be displayed in the havoc summary section in the Havoc Report tab. You can continue to create more havocs in the Inject havoc window.

Click the Apply Havoc icon in the Havoc Summary section to apply all the configured havocs that need to be injected for the specified start time and duration. This displays the Havoc Summary window confirming the activation of the havoc.

Configure & Apply Havoc

After configuring the settings, if you click the Configure & Apply Havoc button, the selected havoc is applied and the user is redirected to the Reports window where the various details of the havoc can be viewed in the Havoc Summary section.

If you apply the havoc on multiple servers, and then click the Configure Havoc or Configure & Apply Havoc, button a havoc summary table displays a list of all those servers whose CMON is not running along with following two options:

  • Proceed with remaining Servers
  • Abort Havoc

If you select the ‘Proceed with remaining Servers’ option, NetHavoc traverses to the ‘Report’ section and another havoc summary table pops up listing servers which are successfully injected with havocs. When the ‘Abort Havoc’ option is selected, the whole havoc is terminated.

You can also click Reset to change the configurations of the havoc before applying.

While selecting the server in High CPU Load / Fill Up Disk / Network Corruption havoc type, if CMON isn’t running, an error message is displayed for the user, such as “CMON is not running on Server xx.xx.xx.xx”.

New servers can be upscaled into the running tests of NetHavoc. Users can apply havocs to the upscaled servers both specifically and dynamically. These servers can also be upscaled to the havocs that are scheduled in running tests dynamically.

Manage Havocs

After creating havocs, you can easily update, delete, apply, reapply, and stop a havoc from the Havoc Summary table:

Update a Havoc

To update a havoc:

  1. Click Update Havoc icon  in the Havoc Summary section to edit/update all the havocs applied in the system.
  2. Click Yes in the confirmation message.

3. Edit the Havoc settings:

4. Click Update. You can view detailed information about the applied havocs, such as category, havoc type, time mode, start time, duration, connection, tier, server, user, havoc details, status, and output.

Note: A havoc can be updated only in the case if status is Ready to Apply or Scheduled. If it reaches the Running status, the havoc cannot be updated.

Stop a Havoc

Click the Stop Havoc icon in the Havoc Summary section to stop the injected havoc forcefully when it is in Scheduled status. Click the Stop Havoc button to stop the injected havoc.

Delete a Havoc

Click the Delete Havoc icon  in the Havoc Summary section to delete an injected havoc from the system.  This displays the Havoc Summary window confirming the deletion of the havoc.

Note: The havoc can be deleted only in the case if status is Ready to Apply. If the status is Scheduled or Running, the havoc cannot be deleted.

Reapply a Havoc

Click the Reapply Havoc icon in the Havoc Summary section to reapply all the havocs that are in the Completed, Stopped or Failed status. The havocs cannot be reapplied if they are in any other status.

  1. Click the Reapply Havoc icon  in the Havoc Summary section to reapply a havoc applied in the system.
  2. Click Yes in the confirmation message.
  3. Click the Reapply button:

4. This displays a window where the user can change only the Injection Time of that havoc.

5. Click Reapply havoc to apply the changes.

Other Operations

You can also perform the following operations in the NetHavoc window, such as displaying all the havocs, auto-refreshing the havoc list, and selecting the time period for displaying the havocs.

Show All Havocs

A user can view all the havocs that are in ‘Ready to Apply’ or ‘Running’ or ‘Scheduled’ state in any test run. To view all the havocs, select the Show All Havocs check box at the top of the window.

Auto Refresh

A user can use this option to auto refresh the NetHavoc UI. Upon doing this, the changes are reflected across all users using the same machine.

To do this, select the Auto Refresh check box at the top of the window, and then select the desired time interval for auto refresh from the drop-down list. The available options are:

  • 30 seconds
  • 1 minute
  • 2 minutes
  • 5 minutes
  • 10 minutes

Time Period

A user can select the time period for which the data should be displayed in the NetHavoc window. To do this, select the time period from the drop-down list at the upper-right corner of the window. The available options are:

  • Last 10 Minutes
  • Last 30 Minutes
  • Last 1 Hour
  • Last 2 Hours
  • Last 4 Hours
  • Last 6 Hours
  • Last 8 Hours
  • Last 12 Hours
  • Last 24 Hours
  • Custom

Once a user specifies changes the default time period (that is, 4 hours) to a new one (for example, 24 hours) and traverses out from NetHavoc UI to another UI (for example, Dashboard), and after a while traverses back to the NetHavoc UI, then the set time period (24 hours) is maintained and reflected in NetHavoc UI.

Configure Havoc Modes

In the NetHavoc window, click the Configuration tab to inject havoc on the server using one of the following three modes:

  • Cavisson Agent
  • Secure Shell (SSH)
  • Mixed Mode

Cavisson Agent

When a user selects this mode, havocs are injected on the server through Cavisson Agent. To select the Cavisson Agent mode:

  1. Click the Configuration tab.
  2. By default, the Cavisson Agent option is selected. Keep the default selection.
  3. Click Save.

SSH

When a user selects this mode, havocs are injected on the server through Secure Shell mode. SSH is used to open a new connection to a remote machine.

The user needs to select a tier and server, and then provide the SSH port. Provide the username and password. The user can keep the same username and password for all tiers and servers. Click Test & Save.

Mixed Mode

When a user selects this mode, havocs are injected on the server through a combination of both the modes – Cavisson Agent and SSH. Click Test & Save.

Memory Havoc Limitations

NetHavoc provides several mechanisms for increasing CPU load, consuming memory, and consuming disk I/O space in a system. However, the Kernel also helps to balance the application load in your system. Thus, when a high amount of memory is filled by Nethavoc, the OOM killer process is used by the Kernel to free up memory. OOM_Killer can kill the Nethavoc agent (cmon process). This might break the connection with the Nethavoc client and generate an error.

Design a Scenario in NetHavoc

You can configure NetHavoc scenarios with a set of different or same types of havocs. The havocs present in a scenario will have a delay between them. Delay is introduced due to server stabilization.  By default, the delay is 5 seconds.

You can perform several operations on a NetHavoc scenario including Copy Scenario, Archive Scenario, Scenario details (Scenario descriptions), Run Scenario, Schedule Scenario, View Report, Stop Scenario, Restore Scenario, Delete Scenario, Delete Havoc, Update Havoc.

Create a Scenario

To create a NetHavoc scenario:

  1. Click the Design Scenario tab.
  2. Click the Create Scenario button in the Design Scenario window. The NetHavoc Scenario window is displayed:

3. Provide a scenario name, description of the scenario, and theory that specifies the expected outcome of the scenario.

4. Select the Only me to provide permissions:

  • If this option is selected, then only that scenario user can view, edit and run the scenario.
  • If this option is not selected, then permissions will be handled through ACL.

5. Select a scenario type from the Scenario Settings drop-down list:

  • Single Havoc Type: In this type of scenario, you can configure only the same type of havocs.
  • Multiple Have Type: In this type of scenario, you can configure different types of havocs.

Run a Scenario

Click the Run Now icon  in the Design Scenario window to run a scenario in NetHavoc.

Stop a Scenario

Click the Stop Scenario icon  in the Design Scenario window to stop a running scenario in NetHavoc.

Add a Havoc in Scenario

Click the Add icon in the Design Scenario window to add a havoc in scenario:

Schedule a Scenario

To schedule a scenario in NetHavoc:

  1. Click the Design Scenario tab.
  2. Expand the menu and select the Schedule Scenario option:

3. Specify the required duration for running the scenario.

4. Click Proceed.

Copy a Scenario

To copy a scenario:

  1. Click the Design Scenario tab.
  2. Expand the menu and select the Copy option:

3. The Copy Scenario dialog box is displayed. Provide a name for the copied scenario.

4. Click OK. A copy of the scenario is displayed in the Design Scenario window. 

Archive a Scenario

To archive a scenario:

  1. Click the Design Scenario tab.
  2. Expand the menu and select the Archive option:

3. A confirmation message is displayed. Click Yes.

Update the Havoc Configuration in Scenario

To edit the havoc configuration:

  1. Click the Update icon  to edit the havoc configuration in a scenario.
  2. Specify the new configuration. For example, change the settings of a CPU Burst havoc:

3. Click Update. The havoc configuration is modified.

Delete a Havoc from the Scenario

  1. Click the Delete icon  in the Design Scenario window:

2. Click Yes in the confirmation message.

View Scenario Reports

To view a scenario report:

  1. Click the Scenario Report tab.
  2. Expand the menu and select the View Report option:

3. The scenario report is displayed. Click the Expand icon next to the Re-Run button to view a detailed report: