{ "restSchemaVersion": "1.0", "errors": [ { "error_id": "REQUEST_INVALID_INPUT", "description": "The request is invalid", "http_status": 400 }, { "error_id": "AUTH_REQUIRED", "description": "Missing authentication credentials", "http_status": 401 }, { "error_id": "AUTH_INVALID_CREDENTIALS", "description": "Invalid user name or password", "http_status": 401 }, { "error_id": "AUTH_INVALID_SESSION", "description": "The authentication session has timed out or is invalid", "http_status": 401 }, { "error_id": "AUTH_EXPIRED_PASSWORD", "description": "Account password has expired", "http_status": 401 }, { "error_id": "AUTH_INVALID_CODE", "description": "The Oauth access code is invalid", "http_status": 401 }, { "error_id": "AUTH_EXPIRED_TOKEN", "description": "The Oauth token has expired", "http_status": 401 }, { "error_id": "AUTH_EXPIRED_CODE", "description": "The Oauth access code has expired", "http_status": 401 }, { "error_id": "AUTH_DISABLED_ACCOUNT", "description": "Account has been disabled", "http_status": 403 }, { "error_id": "AUTH_FORBIDDEN", "description": "Account does not have privileges for this request", "http_status": 403 }, { "error_id": "AUTH_INVALID_TOKEN", "description": "The Oauth token is invalid", "http_status": 403 }, { "error_id": "RESOURCE_NOT_FOUND", "description": "The requested resource was not found", "http_status": 404 }, { "error_id": "HTTP_INVALID_METHOD", "description": "The requested method is not supported by this resouce", "http_status": 405 }, { "error_id": "INTERNAL_ERROR", "description": "Internal error occurred", "http_status": 500 } ], "name": "shark", "title": "Riverbed Cascade Shark REST API", "description": "This document describes the RESTful APIs exported by Cascade Shark products.\n\nIt is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on what data can be accessed or modified, how to access it, and how to encode requests and responses.\n\nThe remainder of this section lists the high level functionality exposed by the REST API and describes the data encodings for objects that are used to encode information for requests and responses.\n\nThe Resources section lists the supported REST resources and the methods supported on these resources. For each operation, the document describes what the operation does, the specific HTTP method and URL used, the data types used for requests and responses (if any) and any required or optional URL parameters.\n\nThe Data Types section describes commonly used data types in the REST API, including example encodings in both JSON and XML.\n\nThe Errors section lists the various error codes that may be returned from REST API operations.\n\n### Functionality\n\nThe Shark REST API provides programmable access to virtually all of the functionality implemented by the shark appliance, including:\n\n- Applying views and obtaining view output\n\n- Enumerating and examining packet data sources on the appliance (interfaces, capture jobs, trace clips, and files)\n\n- Creating and managing trace clips\n\n- Uploading and/or extracting packet data from the appliance\n\n- Extracting and modifiying system configuration, including user configuration, capture job management, basic system configuration, etc.\n\n- Managing protocol definitions (port names, port groups, layer 4 mappings, and custom applications)\n\n- Access system version information and apply system updates\n\n- Managing interface settings, including name, description, tap type, etc.\n\n**NOTE**: Resources and methods used for authentication to the shark appliance through the API, and other resources related to querying for system information are implemented by the [Riverbed Common REST API](common_1_0_doc.html). Before accessing the Shark API, please familiarize yourself with the Common API documentation.\n\n### Data Encoding\n\nMost resources exposed by the API support both XML and JSON encoding for requests and responses. The selection of the specific encoding is accomplished through the use of HTTP headers.\n\nThe Accept header should be included with all API requests, and it is used to control the encoding of the response body. To specify XML encoding, the header should be set to Accept: text/xml, and to specify JSON encoding, the header should be set to Accept: application/json. If the Accept header is omitted, the default encoding is XML.\n\nThe Content-Type header must be included with all PUT or POST requests that include a request body. To specify XML encoding, the header should be set to Content-Type: text/xml. To specify JSON encoding, the header should be set to Content-Type: application/json.\n\nSome resources support alternative content types for requests and responses, as identified in the specific resource documentation below. \n\n\n\n", "version": "5.0", "defaultAuthorization": "required", "servicePath": "/api/shark/5.0", "resources": { "info": { "methods": { "List supported file extensions": { "path": "info/file_extensions", "response": { "items": { "type": "object", "id": "file_extension", "properties": { "description": { "required": true, "type": "string", "description": "Description of this file extension" }, "value": { "required": true, "type": "string", "description": "File extension value" } } }, "type": "array", "id": "file_extensions", "example": [ { "description": "Endace ERF trace file", "value": "erf" }, { "description": "Pcap trace file", "value": "cap" }, { "description": "Pcap trace file", "value": "pcap" }, { "description": "Pcap trace file", "value": "cap0" }, { "description": "Pcap-ng trace file", "value": "pcapng" }, { "description": "Pcap-ng trace file", "value": "ntar" }, { "description": "Shark appliance trace file", "value": "svt" }, { "description": "Virtual trace file", "value": "pvt" } ] }, "description": "Get the list of Shark file extensions", "httpmethod": "GET" }, "List supported tap types": { "path": "info/tap_types", "response": { "items": { "description": "Information describing a supported tap type", "type": "object", "id": "tap_type", "properties": { "type_pretty": { "required": true, "type": "string", "description": "User-friendly name for the specific type of tap" }, "type": { "required": true, "type": "string", "description": "The type code for the tap", "enum": [ "NONE", "CPACKET", "GIGAMON_HEADER", "GIGAMON_TRAILER", "GIGAMON_TRAILER_X12", "VSS", "VSS_PORT_ID", "ANUE", "ARISTA", "UNKNOWN" ] }, "description": { "required": true, "type": "string", "description": "Description of the specific type of tap" } } }, "example": [ { "type": "NONE", "type_pretty": "Shark Internal", "description": "Timestamps applied by the shark itself based on the system clock. " }, { "type": "CPACKET", "type_pretty": "cPacket", "description": "Timestamps applied by a cPacket cVU or cTap." }, { "type": "GIGAMON_HEADER", "type_pretty": "Gigamon (Header)", "description": "Timestamps applied by a Gigamon SMT-436 with the SMT-TSP timestamp feature enabled, configured to store timestamps in the packet header." }, { "type": "GIGAMON_TRAILER", "type_pretty": "Gigamon (Trailer)", "description": "Timestamps applied by a Gigamon SMT-436 with the SMT-TSP timestamp feature enabled, configured to store timestamps in the packet trailer." }, { "type": "GIGAMON_TRAILER_X12", "type_pretty": "Gigamon (Trailer X12-TS)", "description": "Timestamps applied by a Gigamon GigaPORT-X12-TS, configured to store timestamps in the packet trailer." }, { "type": "VSS", "type_pretty": "VSS (Timestamp only)", "description": "Timestamps applied by a VSS Monitoring Distributed Traffic Capture System (DTCS), configured to store only timestamps in the packet." } ], "type": "array", "description": "List of supported tap types", "id": "tap_types" }, "description": "Get the list of supported tap types", "httpmethod": "GET" }, "Get job defaults": { "path": "info/job_defaults", "response": { "id": "job_defaults", "properties": { "index_size_limit": { "required": true, "type": "number", "description": "Default size limit (bytes) of index for new capture job" }, "index_size_pct": { "required": true, "type": "number", "description": "Default max percent of disk for index" }, "retention_size_pct": { "required": true, "type": "number", "description": "Default max percent of disk for retained capture job" }, "retention_size_limit": { "required": true, "type": "number", "description": "Default size limit (bytes) on retained capture job" }, "snap_length": { "required": true, "type": "number", "description": "Default snap length" }, "job_name": { "required": true, "type": "string", "description": "Default name of new job" } }, "type": "object", "description": "Default values for a new capture job", "example": { "index_size_limit": 128043712, "retention_size_limit": 12804371251, "snap_length": 65535, "index_size_pct": 0.427825, "retention_size_pct": 30.0, "job_name": "New Job 1" } }, "description": "Get capture job default settings", "httpmethod": "GET" }, "List mac vendors": { "path": "info/mac_vendors", "response": { "items": { "description": "Vendor information", "type": "object", "id": "mac_vendor", "properties": { "code": { "required": true, "type": "string", "description": "Vendor code" }, "name": { "required": true, "type": "string", "description": "Vendor name" } } }, "example": [ { "code": "00:00:00", "name": "00:00:00" }, { "code": "00:00:01", "name": "Xerox" } ], "type": "array", "description": "List of MAC vendor codes", "id": "mac_vendors" }, "description": "Get the list of supported MAC vendors (NOTE: This is a long listing.)", "httpmethod": "GET" }, "List timezones": { "path": "info/timezones", "response": { "id": "timezone_config", "properties": { "timezones": { "items": { "type": "string", "id": "timezone" }, "required": true, "type": "array", "description": "List of supported timezones" }, "selected": { "required": true, "type": "string", "description": "Currently selected timezone" } }, "type": "object", "description": "Timezone information", "example": { "timezones": [ "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique" ], "selected": "America/Los_Angeles" } }, "description": "Get the list of supported timezones", "httpmethod": "GET" }, "List supported data types": { "path": "info/types", "response": { "items": { "description": "Information for one Shark type", "type": "object", "id": "type", "properties": { "name": { "required": true, "type": "string", "description": "Shark type ID", "enum": [ "NONE", "PROTOCOL", "BOOLEAN", "UINT8", "UINT16", "UINT24", "UINT32", "UINT64", "INT8", "INT16", "INT24", "INT32", "INT64", "FLOAT", "DOUBLE", "ABSOLUTE_TIME", "RELATIVE_TIME", "STRING", "STRINGZ", "SHORT_STRING", "UINT_STRING", "ETHER", "BYTES", "UINT_BYTES", "IPv4", "IPv6", "UDP_PORT", "TCP_PORT", "IPXNET", "FRAMENUM", "PCRE", "GUID", "OID", "NUM_TYPES", "INDEX", "EUI64" ] }, "calculations": { "items": { "enum": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ], "type": "string", "id": "calculation", "description": "Calculation type" }, "required": true, "type": "array", "description": "List of Shark calculations", "id": "calculations" } } }, "example": [ { "name": "NONE", "calculations": [ "NONE" ] }, { "name": "PROTOCOL", "calculations": [ "NONE" ] }, { "name": "BOOLEAN", "calculations": [ "NONE" ] }, { "name": "UINT8", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "UINT16", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "UINT24", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "UINT32", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "UINT64", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "INT8", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "INT16", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "INT24", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "INT32", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "INT64", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "FLOAT", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "DOUBLE", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "ABSOLUTE_TIME", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "RELATIVE_TIME", "calculations": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, { "name": "STRING", "calculations": [ "NONE" ] }, { "name": "STRINGZ", "calculations": [ "NONE" ] }, { "name": "SHORT_STRING", "calculations": [ "NONE" ] }, { "name": "UINT_STRING", "calculations": [ "NONE" ] }, { "name": "ETHER", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "BYTES", "calculations": [ "NONE" ] }, { "name": "UINT_BYTES", "calculations": [ "NONE" ] }, { "name": "IPv4", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "IPv6", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "UDP_PORT", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "TCP_PORT", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "IPXNET", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "FRAMENUM", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "PCRE", "calculations": [ "NONE" ] }, { "name": "GUID", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "OID", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "NUM_TYPES", "calculations": [ "NONE" ] }, { "name": "INDEX", "calculations": [ "NONE", "MAX", "MIN" ] }, { "name": "EUI64", "calculations": [ "NONE" ] } ], "type": "array", "description": "List of supported Shark types", "id": "types" }, "description": "Get the list of supported Shark data types in views", "httpmethod": "GET" }, "List supported extractor fields": { "path": "info/fields", "response": { "items": { "type": "object", "id": "field", "properties": { "index": { "required": false, "type": "boolean", "description": "Whether or not this field is supported by the index" }, "group": { "required": true, "type": "string", "description": "Group in which the field belongs" }, "description": { "required": false, "type": "string", "description": "Description of this field" }, "dimension": { "required": false, "type": "boolean", "description": "Whether or not the field is a dimension" }, "multi_segment": { "required": false, "type": "boolean", "description": "Whether or not the field is used for multi-segment sources" }, "index_calculations": { "items": { "enum": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ], "type": "string", "id": "index_calculation", "description": "Calculation type" }, "required": false, "type": "array", "description": "List of calculations on this field that are supported by the index" }, "display_type": { "required": false, "type": "string", "description": "Display information for a numeric field", "enum": [ "NONE", "DEC", "HEX", "OCT", "DEC_HEX", "HEX_DEC", "PERC" ] }, "type": { "required": true, "type": "string", "description": "Type of the field", "enum": [ "NONE", "PROTOCOL", "BOOLEAN", "UINT8", "UINT16", "UINT24", "UINT32", "UINT64", "INT8", "INT16", "INT24", "INT32", "INT64", "FLOAT", "DOUBLE", "ABSOLUTE_TIME", "RELATIVE_TIME", "STRING", "STRINGZ", "SHORT_STRING", "UINT_STRING", "ETHER", "BYTES", "UINT_BYTES", "IPv4", "IPv6", "UDP_PORT", "TCP_PORT", "IPXNET", "FRAMENUM", "PCRE", "GUID", "OID", "NUM_TYPES", "INDEX", "EUI64" ] }, "id": { "required": true, "type": "string", "description": "Identifier of the field" }, "name": { "required": true, "type": "string", "description": "User-friendly name of the field" } } }, "type": "array", "id": "fields", "example": [ { "group": "arp", "description": "Byte count of ARP packets", "display_type": "DEC", "type": "UINT64", "id": "arp.bytes", "name": "ARP Bytes" }, { "group": "cifs", "description": "Indication of whether the current packet contains CIFS traffic", "display_type": "DEC", "type": "BOOLEAN", "id": "cifs.is_cifs", "name": "CIFS" } ] }, "description": "Get the list of supported Shark view extractor fields", "httpmethod": "GET" } } }, "users / groups": { "methods": { "Delete user": { "path": "auth/users/{user_id}", "description": "Delete local user", "httpmethod": "DELETE" }, "List users": { "path": "auth/users", "response": { "items": { "id": "user", "$ref": "user" }, "example": [ { "is_locked": false, "can_be_locked": false, "is_admin": true, "name": "admin", "groups": [ "Administrators" ] }, { "is_locked": false, "can_be_locked": false, "is_admin": false, "name": "normaluser", "groups": [ "NormalUsers" ] } ], "type": "array", "description": "List of users", "id": "users" }, "description": "Get the list of local users", "httpmethod": "GET" }, "Update user locked state": { "path": "auth/users/{user_id}/locked", "request": { "id": "locked", "properties": { "value": { "required": true, "type": "boolean", "description": "'false' to unlock a locked user. 'true' value not supported as you cannot lock an unlocked user." } }, "type": "object", "description": "Unlock a locked user", "example": { "value": false } }, "description": "Update locked status of user [USER_ID]", "parameters": { "user_id": { "required": true, "type": "string", "description": "User identifier" } }, "httpmethod": "PUT" }, "Update user password": { "path": "auth/users/{user_id}", "request": { "id": "password", "properties": { "existing_password": { "required": false, "type": "string", "description": "Existing password" }, "new_password": { "required": true, "type": "string", "description": "New password" } }, "type": "object", "description": "Updates user password", "example": { "existing_password": "old-password", "new_password": "new-password" } }, "description": "Update password for local user", "parameters": { "user_id": { "required": true, "type": "string", "description": "User identifier" } }, "httpmethod": "PUT" }, "Get group detail": { "httpmethod": "GET", "response": { "$ref": "group" }, "description": "Retrieve a user group", "parameters": { "group_id": { "required": true, "type": "string", "description": "Group identifier" } }, "path": "auth/groups/{group_id}" }, "List groups": { "httpmethod": "GET", "response": { "items": { "id": "group", "$ref": "group" }, "example": [ { "name": "Administrators", "capabilities": [ "CAPABILITY_ADMINISTRATOR" ], "description": "Administrators" }, { "name": "NormalUsers", "capabilities": [ "CAPABILITY_APPLY_VIEWS_ON_FILES", "CAPABILITY_APPLY_VIEWS_ON_INTERFACES", "CAPABILITY_SHARE_VIEWS", "CAPABILITY_CREATE_FILES", "CAPABILITY_IMPORT_FILES", "CAPABILITY_EXPORT_FILES", "CAPABILITY_SCHEDULE_WATCHES", "CAPABILITY_ACCESS_PROBE_FILES" ], "description": "Normal unprivileged users" } ], "type": "array", "description": "List of groups", "id": "groups" }, "description": "Get the list of local user groups defined for this Shark", "parameters": {}, "path": "auth/groups" }, "Delete group": { "httpmethod": "DELETE", "description": "Delete an existing user group", "parameters": { "group_id": { "required": true, "type": "string", "description": "Group identifier" } }, "path": "auth/groups/{group_id}" }, "Get users detail": { "path": "auth/users/{user_id}", "response": { "$ref": "user" }, "description": "Get info on local user", "parameters": { "user_id": { "required": true, "type": "string", "description": "User identifier" } }, "httpmethod": "GET" }, "Create group": { "httpmethod": "POST", "request": { "$ref": "group" }, "description": "Create a new local user group", "path": "auth/groups" }, "Create user": { "path": "auth/users", "request": { "id": "user", "properties": { "can_be_locked": { "required": true, "type": "boolean", "description": "'true' if user can get locked, 'false' otherwise" }, "password": { "required": true, "type": "string", "description": "User password" }, "name": { "required": true, "type": "string", "description": "User name" }, "groups": { "items": { "type": "string", "id": "group" }, "required": true, "type": "array", "description": "List of groups of which the user is a member" } }, "type": "object", "description": "Information to create a new user", "example": { "can_be_locked": true, "password": "testing", "name": "test", "groups": [ "NormalUsers", "Viewers" ] } }, "description": "Create new local user", "httpmethod": "POST" } } }, "jobs": { "methods": { "Delete job": { "path": "jobs/{job_id}", "description": "Delete capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "DELETE" }, "Get job information": { "path": "jobs/{job_id}", "response": { "id": "job", "properties": { "status": { "required": true, "description": "Status information for this job", "$ref": "job_status" }, "index": { "required": false, "description": "Index information for this job", "$ref": "job_index_info" }, "config": { "required": true, "description": "Configuration information for this job", "$ref": "job_config" }, "id": { "required": true, "type": "string", "description": "Job ID" } }, "type": "object", "description": "A capture job", "example": { "status": { "packet_end_time": 1345512749000000000, "state": "STOPPED", "packet_start_time": 1344456875000000000, "packet_size": 44781772 }, "index": { "status": "RUNNING", "start_time": 1344456875000000000, "end_time": 1345512749000000000, "size": 52348800 }, "config": { "packet_retention": { "size_limit": 5368709120 }, "name": "New Job 1", "indexing": { "synced": false, "size_limit": 52428800, "dpi_enabled": true, "time_limit": 604800 }, "interface_description": "mon0", "snap_length": 65535, "interface_name": "mon0" }, "id": "00000001" } }, "description": "Get information (status and config) for a capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "GET" }, "Update job status": { "path": "jobs/{job_id}/status", "request": { "id": "status", "properties": { "clear_packets": { "required": false, "type": "boolean", "description": "'true' to clear packets for this job" }, "state": { "required": true, "type": "string", "description": "Running state of a capture job", "enum": [ "ACTIVE", "RUNNING", "STOPPED", "UNKNOWN" ] } }, "type": "object", "description": "Update job state, optionally clear packets for job", "example": { "clear_packets": true, "state": "STOPPED" } }, "description": "Update running status of capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "PUT" }, "Get job status": { "path": "jobs/{job_id}/status", "response": { "$ref": "job_status" }, "description": "Get status information for a capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "GET" }, "List jobs": { "path": "jobs", "response": { "items": { "type": "object", "properties": { "status": { "required": true, "description": "Status information for this job", "$ref": "job_status" }, "index": { "required": false, "description": "Index information for this job", "$ref": "job_index_info" }, "config": { "required": true, "description": "Configuration information for this job", "$ref": "job_config" }, "id": { "required": true, "type": "string", "description": "Job ID" } }, "example": { "status": { "packet_end_time": 1345512749000000000, "state": "STOPPED", "packet_start_time": 1344456875000000000, "packet_size": 44781772 }, "index": { "status": "RUNNING", "start_time": 1344456875000000000, "end_time": 1345512749000000000, "size": 52348800 }, "config": { "packet_retention": { "size_limit": 5368709120 }, "name": "New Job 1", "indexing": { "synced": false, "size_limit": 52428800, "dpi_enabled": true, "time_limit": 604800 }, "interface_description": "mon0", "snap_length": 65535, "interface_name": "mon0" }, "id": "00000001" }, "id": "job", "description": "A capture job" }, "example": [ { "status": { "packet_end_time": 1345512749, "state": "STOPPED", "packet_start_time": 1344456875, "packet_size": 44781772 }, "config": { "snap_length": 65535, "interface_name": "mon0", "packet_retention": { "size_limit": 5368709120 }, "name": "New Job 1", "interface_description": "mon0" }, "id": "00000001" } ], "type": "array", "description": "List of capture jobs", "id": "jobs" }, "description": "Get the list of configured capture jobs", "httpmethod": "GET" }, "Get job config": { "path": "jobs/{job_id}/config", "response": { "$ref": "job_config" }, "description": "Get configuration for capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "GET" }, "Get job index status": { "path": "jobs/{job_id}/index", "response": { "$ref": "job_index_info" }, "description": "Index information for capture job.", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "GET" }, "Update job configuration": { "path": "jobs/{job_id}", "request": { "$ref": "job_config" }, "description": "Update configuration of a capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "PUT" }, "Get job stats": { "path": "jobs/{job_id}/stats", "response": { "id": "job_stats", "properties": { "packets_dropped": { "required": true, "type": "object", "description": "Statistics for the number of packets that arrived at the capture port but could not be written successfully to the packet storage", "properties": { "last_minute": { "required": true, "type": "number", "description": "Number of packets in the last minute" }, "last_hour": { "required": true, "type": "number", "description": "Number of packets in the last hour" }, "total": { "required": true, "type": "number", "description": "Total number of packets since the job was started" }, "last_second": { "required": true, "type": "number", "description": "Number of packets in the last second" } } }, "packets_written": { "required": true, "type": "object", "description": "Statistics for the number of packets successfully written to the packet storage", "properties": { "last_minute": { "required": true, "type": "number", "description": "Number of packets in the last minute" }, "last_hour": { "required": true, "type": "number", "description": "Number of packets in the last hour" }, "total": { "required": true, "type": "number", "description": "Total number of packets since the job was started" }, "last_second": { "required": true, "type": "number", "description": "Number of packets in the last second" } } } }, "type": "object", "description": "Capture job statistics", "example": { "packets_dropped": { "last_minute": 0, "last_second": 0, "total": 0, "last_hour": 0 }, "packets_written": { "last_minute": 1815, "last_second": 0, "total": 123387, "last_hour": 3019 } } }, "description": "Statistics for a capture job", "parameters": { "job_id": { "required": true, "type": "string", "description": "Job identifier" } }, "httpmethod": "GET" }, "Create job": { "path": "jobs", "response": { "id": "job", "properties": { "id": { "required": true, "type": "string", "description": "Job id" } }, "type": "object", "description": "Information for a new job", "example": { "id": "00000001" } }, "request": { "$ref": "job_config" }, "description": "Create a new capture job", "httpmethod": "POST" } } }, "packet export": { "methods": { "Get job export packets": { "path": "{source_type}/{source_id}/exports/{export_id}/packets", "response": { "type": "data", "description": "Packet data", "content_type": "application/vnd.tcpdump.pcap" }, "description": "Get the packet stream for an export operation.", "parameters": { "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." }, "export_id": { "required": true, "type": "string", "description": "Export operation identifier." } }, "httpmethod": "GET" }, "List export operations": { "path": "{source_type}/{source_id}/exports", "response": { "items": { "id": "export", "$ref": "export" }, "example": [ { "status": { "owner": "admin", "bytes_approx": 855784, "state": "RUNNING", "creation_time": 1364334117658433000 }, "config": { "output_format": "PCAP_US", "start_time": 1364230933, "end_time": 1364317200 }, "id": "000193E1" } ], "type": "array", "description": "List of exports currently under way", "id": "exports" }, "description": "Get the list of active export operations from the given source.", "parameters": { "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." } }, "httpmethod": "GET" }, "Stop export operation": { "path": "{source_type}/{source_id}/exports/{export_id}", "description": "Stop an export operation", "parameters": { "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." }, "export_id": { "required": true, "type": "string", "description": "Export operation identifier." } }, "httpmethod": "DELETE" }, "Download job packets": { "path": "{source_type}/{source_id}/packets", "description": "Export packets from a capture job. Response content type is 'application/vnd.tcpdump.pcap'.", "parameters": { "file_format": { "required": false, "type": "string", "description": "Format of output file: 'PCAP_US' for PCAP format (microsecond resolution); 'PCAP_NS' for PCAP format (nanosecond resolution); 'PCAPNG_US' for PCAP-NG format (microsecond resolution); or 'PCAPNG_NS' for PCAP_NG format (nanosecond resolution)." }, "seconds": { "required": false, "type": "number", "description": "Limit on total time (in seconds) of packet extraction." }, "packets": { "required": false, "type": "number", "description": "Limit on number of packets to be extracted." }, "bytes": { "required": false, "type": "number", "description": "Limit on number of bytes to be extracted." }, "filename": { "required": false, "type": "string", "description": "Name of output filename. This will appear in the 'content-disposition' header of the response." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." }, "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." } }, "httpmethod": "GET" }, "Get export operation status": { "path": "{source_type}/{source_id}/exports/{export_id}", "response": { "$ref": "export" }, "description": "Get status of an export operation", "parameters": { "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." }, "export_id": { "required": true, "type": "string", "description": "Export operation identifier." } }, "httpmethod": "GET" }, "Start export operation": { "description": "Create a new export operation from the given source. This begins the process of extracting packets from the given source and returns a handle through which the caller can obtain status on the operation as well as download the packets themselves.", "parameters": { "source_id": { "required": true, "type": "string", "description": "Specific source identifier of type {source_type}. For example, if source_type is \"jobs\", then the {source_id} is the job identifier." }, "source_type": { "required": true, "type": "string", "description": "Packet source type identifier. Must be one of \"interfaces\", \"jobs\", \"clips\", or \"fs\"." } }, "request": { "$ref": "export_config" }, "httpmethod": "POST", "path": "{source_type}/{source_id}/exports", "response": { "properties": { "id": { "required": true, "type": "string", "description": "ID of created export" } }, "type": "object", "example": { "id": "000193E1" }, "id": "export_id" } } } }, "interfaces": { "methods": { "Update interface settings": { "path": "interfaces/{interface_id}", "request": { "id": "interface_settings", "properties": { "tap_type": { "required": false, "type": "string", "description": "New tap type setting", "enum": [ "NONE", "CPACKET", "GIGAMON_HEADER", "GIGAMON_TRAILER", "GIGAMON_TRAILER_X12", "VSS", "VSS_PORT_ID", "ANUE", "ARISTA", "UNKNOWN" ] }, "name": { "required": false, "type": "string", "description": "New alias for this interface" }, "pass_thru": { "required": false, "type": "string", "description": "New passthru mode status", "enum": [ "ENABLED", "DISABLED", "NOT_SUPPORTED" ] }, "dedup_status": { "required": false, "type": "string", "description": "New packet deduplication setting", "enum": [ "ENABLED", "DISABLED", "NOT_SUPPORTED" ] }, "speed_options": { "items": { "description": "Speed, duplex type, and status of a speed option", "type": "object", "id": "link_speed_option", "properties": { "status": { "required": false, "type": "string", "description": "Status of this link speed option for this interface", "enum": [ "SUPPORTED", "ENABLED", "NEGOTIATED" ] }, "speed_mbps": { "required": true, "type": "string", "description": "Throughput for this speed option", "enum": [ "MBPS_10", "MBPS_100", "MBPS_1000", "MBPS_10000" ] }, "duplex_type": { "required": true, "type": "string", "description": "Duplex type for this speed option", "enum": [ "HALF", "FULL", "UNKNOWN" ] } } }, "required": false, "type": "array", "description": "List of link speed options" }, "board_speed": { "required": false, "type": "object", "description": "Speed, duplex type, and status of a speed option", "properties": { "status": { "required": false, "type": "string", "description": "Status of this link speed option for this interface", "enum": [ "SUPPORTED", "ENABLED", "NEGOTIATED" ] }, "speed_mbps": { "required": true, "type": "string", "description": "Throughput for this speed option", "enum": [ "MBPS_10", "MBPS_100", "MBPS_1000", "MBPS_10000" ] }, "duplex_type": { "required": true, "type": "string", "description": "Duplex type for this speed option", "enum": [ "HALF", "FULL", "UNKNOWN" ] } } }, "description": { "required": false, "type": "string", "description": "New description string for this interface" } }, "type": "object", "description": "Update information for a Shark physical interface. Note: If new passthru mode setting is present, all other settings are ignored.", "example": { "dedup_status": "ENABLED", "tap_type": "GIGAMON_HEADER", "speed_options": [ { "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ] } }, "description": "Update information on capture interface {interface_id}.", "parameters": { "interface_id": { "required": true, "type": "string", "description": "Interface identifier" } }, "httpmethod": "PUT" }, "Update interface blink status": { "path": "interfaces/{interface_id}/blink_status", "request": { "id": "blink_settings", "properties": { "blink_status": { "required": true, "type": "string", "description": "New 'blink' status for this interface", "enum": [ "ON", "OFF", "UNKNOWN" ] } }, "type": "object", "description": "Update interface 'blink' status", "example": { "blink_status": "ON" } }, "description": "Request update of interface blink status.", "parameters": { "interface_id": { "required": true, "type": "string", "description": "Interface identifier" } }, "httpmethod": "PUT" }, "Get interface info": { "path": "interfaces/{interface_id}", "response": { "$ref": "interface" }, "description": "Get information on capture interface {interface_id}.", "parameters": { "interface_id": { "required": true, "type": "string", "description": "Interface identifier" } }, "httpmethod": "GET" }, "List interfaces": { "path": "interfaces", "response": { "items": { "id": "interface", "$ref": "interface" }, "example": [ { "interface_components": [], "description": "TurboCap 1Gb device no.0", "link": { "status": "UP", "tap_type": "NONE", "stats": { "bytes_rx": 73478815, "packets_rx": 1007752 }, "dedup_status": "DISABLED", "speed_options": [ { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "status": "NEGOTIATED", "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ], "mac_address": "00:e0:ed:1e:9d:1a", "blink_status": "OFF", "type": "EN10MB" }, "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1a)" }, "is_promiscuous_mode": true, "type": "TURBOCAP_ADAPTER", "id": "tc0", "name": "tc0" }, { "interface_components": [], "description": "TurboCap 1Gb device no.1", "link": { "status": "DOWN", "tap_type": "NONE", "stats": { "bytes_rx": 0, "packets_rx": 0 }, "dedup_status": "DISABLED", "speed_options": [ { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ], "mac_address": "00:e0:ed:1e:9d:1b", "blink_status": "OFF", "type": "EN10MB" }, "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1a)" }, "is_promiscuous_mode": true, "type": "TURBOCAP_ADAPTER", "id": "tc1", "name": "tc1" }, { "interface_components": [], "description": "TurboCap 1Gb device no.2", "link": { "status": "UP", "tap_type": "NONE", "stats": { "bytes_rx": 0, "packets_rx": 0 }, "dedup_status": "DISABLED", "speed_options": [ { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "status": "NEGOTIATED", "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ], "mac_address": "00:e0:ed:1e:9d:1c", "blink_status": "OFF", "type": "EN10MB" }, "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1c)" }, "is_promiscuous_mode": true, "type": "TURBOCAP_ADAPTER", "id": "tc2", "name": "tc2" }, { "interface_components": [], "description": "TurboCap 1Gb device no.3", "link": { "status": "UP", "tap_type": "NONE", "stats": { "bytes_rx": 0, "packets_rx": 0 }, "dedup_status": "DISABLED", "speed_options": [ { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "status": "NEGOTIATED", "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ], "mac_address": "00:e0:ed:1e:9d:1d", "blink_status": "OFF", "type": "EN10MB" }, "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1c)" }, "is_promiscuous_mode": true, "type": "TURBOCAP_ADAPTER", "id": "tc3", "name": "tc3" }, { "interface_components": [ "tc2", "tc3" ], "description": "TurboCap Board Aggregating Port", "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1c)" }, "is_promiscuous_mode": true, "type": "BOARD_AGGREGATING", "id": "tc_bap_00e0ed1e9d1c", "name": "tc_bap_00e0ed1e9d1c" }, { "interface_components": [ "tc0", "tc1" ], "description": "TurboCap Board Aggregating Port (2)", "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1a)" }, "is_promiscuous_mode": true, "type": "BOARD_AGGREGATING", "id": "tc_bap_00e0ed1e9d1a", "name": "tc_bap_00e0ed1e9d1a" }, { "interface_components": [ "tc0", "tc1", "tc2", "tc3" ], "description": "TurboCap Aggregating Port", "is_promiscuous_mode": true, "type": "AGGREGATING", "id": "tc_tcap", "name": "tc_tcap" } ], "type": "array", "description": "List of interfaces", "id": "interfaces" }, "description": "Get the list of capture interfaces", "parameters": { "filter": { "required": false, "type": "string", "description": "'device' to limit list to physical devices; 'virtual' to limit list to virtual files; 'aggregating' to limit list to aggregating ports." } }, "httpmethod": "GET" } } }, "views": { "methods": { "Get view acl": { "path": "views/{view_id}/acl", "response": { "id": "acl", "properties": { "users": { "items": { "description": "User in the access list", "type": "object", "id": "user", "properties": { "owner": { "required": true, "type": "boolean", "description": "True if the user is the owner of the view" }, "name": { "required": true, "type": "string", "description": "User name" } } }, "required": true, "type": "array", "description": "Users in the access control list" }, "groups": { "items": { "type": "string", "id": "group" }, "required": true, "type": "array", "description": "Groups in the access control list" } }, "type": "object", "description": "Access Control List", "example": { "users": [ { "owner": true, "name": "admin" } ], "groups": [] } }, "description": "Get the access control list for running view {view_id}.", "httpmethod": "GET" }, "Unlock view": { "path": "views/{view_id}/unlock", "description": "Unlock view {view_id}.", "httpmethod": "POST" }, "Get view statistics": { "path": "views/{view_id}/stats", "response": { "id": "stats", "properties": { "locked": { "required": true, "type": "boolean", "description": "True if the view is locked" }, "data_source_type": { "required": true, "type": "string", "description": "Data source type", "enum": [ "INDEX", "PACKETS" ] }, "state": { "required": true, "type": "string", "description": "Handle state", "enum": [ "UNINITIALIZED", "LOADED", "PARAMS_LOADED", "INITIALIZED", "READY", "RUNNING", "ERRORS", "DONE", "CLOSING", "PAUSED" ] }, "input_size": { "required": true, "type": "number", "description": "Size (in bytes) of the input source to process" }, "time_details": { "required": true, "type": "object", "description": "Time details", "properties": { "start": { "required": true, "description": "Output start time. Can be 0 if the output has no data.", "$ref": "timestamp-hp" }, "end": { "required": true, "description": "Output end time. Can be 0 if the output has no data.", "$ref": "timestamp-hp" }, "delta": { "required": true, "type": "number", "description": "Output sampling rate" } } }, "processed_size": { "required": true, "type": "number", "description": "Size (in bytes) of the input source currently processed" } }, "type": "object", "description": "View statistics", "example": { "locked": false, "data_source_type": "PACKETS", "state": "DONE", "input_size": 190654505, "time_details": { "start": 1195590481719742000, "end": 1195590918719742000, "delta": 1000000000 }, "processed_size": 190654505 } }, "description": "Get processing statistics for view {view_id}.", "httpmethod": "GET" }, "Get view output legend": { "path": "views/{view_id}/data/{output_id}/legend", "response": { "items": { "description": "Legend Entry", "type": "object", "id": "label", "properties": { "description": { "required": true, "type": "string", "description": "Description" }, "calculation": { "required": true, "type": "string", "description": "Calculation type", "enum": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, "id": { "required": true, "type": "string", "description": "Id" }, "field": { "required": true, "type": "string", "description": "Field" }, "base": { "required": true, "type": "string", "description": "Base", "enum": [ "NONE", "DEC", "HEX", "OCT", "DEC_HEX", "HEX_DEC", "PERC" ] }, "type": { "required": true, "type": "string", "description": "Type", "enum": [ "NONE", "PROTOCOL", "BOOLEAN", "UINT8", "UINT16", "UINT24", "UINT32", "UINT64", "INT8", "INT16", "INT24", "INT32", "INT64", "FLOAT", "DOUBLE", "ABSOLUTE_TIME", "RELATIVE_TIME", "STRING", "STRINGZ", "SHORT_STRING", "UINT_STRING", "ETHER", "BYTES", "UINT_BYTES", "IPv4", "IPv6", "UDP_PORT", "TCP_PORT", "IPXNET", "FRAMENUM", "PCRE", "GUID", "OID", "NUM_TYPES", "INDEX", "EUI64" ] }, "dimension": { "required": true, "type": "boolean", "description": "True if dimension" }, "name": { "required": true, "type": "string", "description": "Name" } } }, "example": [ { "description": "IP protocol, TCP port or UDP port converted into a traffic type string (e.g. 'Email' or 'Web').", "calculation": "NONE", "dimension": true, "field": "generic.application", "base": "NONE", "type": "SHORT_STRING", "id": "x0", "name": "Traffic Type" }, { "description": "Bit Count", "calculation": "TIME_AVG", "dimension": false, "field": "generic.bits", "base": "DEC", "type": "UINT64", "id": "x1", "name": "Bits" } ], "type": "array", "description": "Output legend", "id": "legend" }, "description": "Get data legend for the output {output_id} in view {view_id}.", "httpmethod": "GET" }, "Create view": { "path": "views", "response": { "id": "view_id", "properties": { "id": { "required": true, "type": "string", "description": "View ID" }, "data_source_type": { "required": true, "type": "string", "description": "Data source type", "enum": [ "INDEX", "PACKETS" ] } }, "type": "object", "description": "ID of the newly created view", "example": { "id": "00018ED5", "data_source_type": "PACKETS" } }, "request": { "$ref": "view" }, "description": "Create a new view.", "httpmethod": "POST" }, "Update view acl": { "path": "views/{view_id}/acl", "request": { "id": "acl_action", "properties": { "action": { "required": true, "type": "string", "description": "Action type on the access list", "enum": [ "ADD_USER", "REMOVE_USER", "ADD_GROUP", "REMOVE_GROUP" ] }, "value": { "required": true, "type": "string", "description": "User/group name depending on the action type" } }, "type": "object", "description": "Action type on the access list", "example": { "action": "ADD_USER", "value": "normaluser" } }, "description": "Modify the access control list for running view {view_id}.", "httpmethod": "POST" }, "List views": { "path": "views", "response": { "items": { "description": "Summary information for a view", "type": "object", "id": "view", "properties": { "locked": { "required": true, "type": "boolean", "description": "True if locked" }, "creation_time": { "required": true, "description": "View creation time", "$ref": "timestamp-hp" }, "watches": { "items": { "type": "object", "id": "watch", "properties": { "last_event_time": { "required": true, "description": "Time of the last triggered event", "$ref": "timestamp-hp" }, "event_count": { "required": true, "type": "number", "description": "Number of triggered events" }, "last_error": { "required": true, "type": "string", "description": "Error description, if the watch is in an error state" }, "state": { "required": true, "type": "string", "description": "Watch state", "enum": [ "UNINITIALIZED", "LOADED", "PARAMS_LOADED", "INITIALIZED", "READY", "RUNNING", "ERRORS", "DONE", "CLOSING", "PAUSED" ] }, "first_event_time": { "required": true, "description": "Time of the first triggered event", "$ref": "timestamp-hp" }, "id": { "required": true, "type": "string", "description": "Watch Id" } } }, "required": true, "type": "array", "description": "Watch list for this view" }, "state": { "required": true, "type": "string", "description": "View state", "enum": [ "UNINITIALIZED", "LOADED", "PARAMS_LOADED", "INITIALIZED", "READY", "RUNNING", "ERRORS", "DONE", "CLOSING", "PAUSED" ] }, "owner": { "required": true, "type": "string", "description": "Owner user name" }, "id": { "required": true, "type": "string", "description": "View ID" } } }, "example": [ { "locked": false, "creation_time": 1348518372678002, "watches": [], "state": "DONE", "owner": "admin", "id": "00018ED5" } ], "type": "array", "description": "View list", "id": "views" }, "description": "Get the list of currently running views.", "httpmethod": "GET" }, "Lock view": { "path": "views/{view_id}/lock", "description": "Lock view {view_id}.", "httpmethod": "POST" }, "Get view configuration": { "path": "views/{view_id}", "response": { "$ref": "view" }, "description": "Get configuration for view {view_id}.", "httpmethod": "GET" }, "Get view output data": { "path": "views/{view_id}/data/{output_id}", "response": { "description": "View output", "properties": { "samples": { "items": { "description": "Sample for a view output", "type": "object", "id": "sample", "properties": { "gap_start": { "notes": "If present, then the vals list will be empty. In XML, a gap is encoded as .", "required": false, "description": "Timestamp at the start of a data gap, representing a period of time in which there are no output values for the view", "$ref": "timestamp-hp" }, "value_sum": { "required": false, "type": "number", "description": "Sum of all the values for the sorting column" }, "value_count": { "notes": "Present only when the output is aggregated", "required": false, "type": "number", "description": "Number of distinct rows" }, "p": { "required": false, "type": "number", "description": "Processed packet count" }, "u": { "required": false, "type": "number", "description": "Unprocessed packet count" }, "t": { "required": false, "description": "Sample timestamp", "$ref": "timestamp-hp" }, "vals": { "items": { "items": { "type": "string", "id": "val" }, "type": "array", "id": "val", "description": "Value" }, "notes": "In XML, the values list is encoded as , where x0..xN correspond to the columns defined in the view configuraton", "required": true, "type": "array", "description": "Values list" }, "gap_end": { "notes": "If present, then the vals list will be empty. In XML, a gap is encoded as .", "required": false, "description": "Timestamp at the end of a data gap, representing a period of time in which there are no output values for the view", "$ref": "timestamp-hp" } } }, "required": true, "type": "array", "description": "Samples list", "id": "samples" } }, "example": { "samples": [ { "value_count": 5, "p": 391, "vals": [ [ "IM", "776" ], [ "ICMP", "3424" ], [ "Voice/Video", "4480" ], [ "Unknown", "126696" ], [ "Web", "2649072" ] ], "t": 1195590481719742000, "value_sum": 2784448 }, { "value_count": 6, "p": 416, "vals": [ [ "ICMP", "480" ], [ "ARP", "1184" ], [ "IM", "2552" ], [ "Voice/Video", "4480" ], [ "Unknown", "111424" ], [ "Web", "2685024" ] ], "t": 1195590482719742000, "value_sum": 2805144 }, { "value_count": 4, "p": 390, "vals": [ [ "ARP", "2000" ], [ "IM", "7808" ], [ "Unknown", "115392" ], [ "Web", "2633664" ] ], "t": 1195590483719742000, "value_sum": 2758864 } ] }, "xmlExample": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", "xmlSchema": { "samples": { "children": { "sample": { "attributes": { "p": "number", "u": "number", "t": "timestamp-hp" }, "children": { "ValueCount": { "attributes": { "Value": "number" } }, "ValueSum": { "attributes": { "Value": "number" } }, "val": { "attributes": { "x2": "string", "x3": "string", "x0": "string", "x1": "string", "...": "string" } } } }, "gap": { "attributes": { "t2": "number", "t1": "number" } } } } }, "type": "object", "id": "samples" }, "description": "Get data for the output {output_id} in view {view_id}.", "parameters": { "countonly": { "required": false, "type": "number", "description": "(Only available when 'aggregated' = 'true'.) Return number of rows only." }, "end": { "required": false, "type": "number", "description": "Timestamp value representing end time." }, "toentry": { "required": false, "type": "number", "description": "In paged output: number of last output row." }, "start": { "required": false, "type": "number", "description": "Timestamp value representing start time." }, "fromentry": { "required": false, "type": "number", "description": "In paged output: number of first output row. NOTE: Row numbers start from 0." }, "delta": { "required": false, "type": "string", "description": "Sampling interval, in nanoseconds" }, "sorttype": { "required": false, "type": "string", "description": "'ascending' or 'descending'" }, "aggregated": { "required": false, "type": "string", "description": "'true' if output is in a single sample." }, "sortby": { "required": false, "type": "string", "description": "Name (x0, x1, etc.) of column used to sort output values." } }, "httpmethod": "GET" }, "Delete view": { "path": "views/{view_id}", "description": "Delete view {view_id}. This will stop any packet processing and delete the view results.", "httpmethod": "DELETE" } } }, "ping": { "methods": { "Ping (POST)": { "path": "ping", "description": "Test availability of POST method.", "httpmethod": "POST" }, "Ping (PUT)": { "path": "ping", "description": "Test availability of PUT method.", "httpmethod": "PUT" }, "Ping (DELETE)": { "path": "ping", "description": "Test availability of DELETE method.", "httpmethod": "DELETE" }, "Ping (GET)": { "path": "ping", "response": { "type": "object", "id": "ping", "properties": {} }, "description": "Generic ping response.", "httpmethod": "GET" } } }, "system": { "methods": { "Upload system update iso": { "headers": { "Content-Type": { "notes": "Must be 'multipart/form-data'", "required": true, "type": "string", "description": "Content type" }, "Content-Disposition": { "notes": "Must be of the form Content-Disposition: form-data; name=\"iso-file\"; filename=\"[FILENAME]\"", "required": true, "type": "string", "description": "Name of the file" } }, "path": "system/update/iso", "request": { "type": "data", "description": "update ISO file", "content_type": "multipart/form-data" }, "description": "Upload a new ISO file for system update", "httpmethod": "POST" }, "Reinitialize storage system": { "path": "system/storage/reinitialize", "description": "Request reinitialization of storage subsystem.", "httpmethod": "POST" }, "Get version info": { "path": "system/version_info", "response": { "properties": { "packet_recorder_version": { "required": true, "type": "string", "description": "Version of the packet recorder component" }, "shark_version": { "required": true, "type": "string", "description": "User-friendly version of the system" }, "turbocap_api_version": { "required": true, "type": "string", "description": "Version of the turbocap api component" }, "serial_number": { "required": true, "type": "string", "description": "Serial number of the system" }, "shark_probe_version": { "required": true, "type": "string", "description": "Version of the embedded server component" }, "turbocap_driver_version": { "required": true, "type": "string", "description": "Version of the turbocap driver component" }, "protocol_version": { "required": true, "type": "string", "description": "Highest API version supported by the system" } }, "type": "object", "example": { "packet_recorder_version": "1.8.1005.0136", "protocol_version": "4.0", "shark_version": "10.0 (10.0.1005.0136)", "turbocap_api_version": "1.8.1005.0136", "shark_probe_version": "10.0.1000.0000", "turbocap_driver_version": "driver not loaded", "serial_number": "N/A" }, "id": "version_info" }, "description": "Get version information", "httpmethod": "GET" }, "Get system info": { "path": "system/info", "response": { "id": "system_info", "properties": { "webui_root_path": { "required": false, "type": "string", "description": "(If web UI is enabled) Root path for web UI resources" }, "uptime": { "required": true, "type": "number", "description": "Elapsed time (in nanoseconds) since this Shark was started" }, "build_variant": { "required": true, "type": "string", "description": "Variant of Shark build" }, "system_type": { "required": true, "type": "string", "description": "Operating system on which this Shark is running" }, "start_time": { "required": true, "description": "Time at which this Shark started", "$ref": "timestamp-hp" }, "hostname": { "required": true, "type": "string", "description": "Host name of this Shark" }, "has_webui": { "required": true, "type": "boolean", "description": "'true' if the web UI is enabled for this build" }, "build_time": { "required": true, "type": "string", "description": "Date and time at which this Shark was built" }, "embedded_wireshark": { "required": false, "type": "boolean", "description": "'true' if Wireshark is embedded with this Shark" }, "webui_port": { "required": false, "type": "number", "description": "(If web UI is enabled) Port on which web UI can be accessed" }, "internal_version": { "required": true, "type": "string", "description": "Current long-form version of Shark software" }, "version": { "required": true, "type": "string", "description": "Current version of Shark software" }, "view_version": { "required": true, "type": "string", "description": "Current version of Shark views" }, "timezone": { "required": true, "type": "string", "description": "UTC offset for this Shark" }, "default_user_directory": { "required": false, "type": "string", "description": "Default directory for user files" }, "protocol_version": { "required": true, "type": "string", "description": "Current version of Shark REST API" }, "build_type": { "required": true, "type": "string", "description": "Type of Shark build ('Final' for production, 'Debug' for testing)" }, "webui_SSL": { "required": false, "type": "boolean", "description": "(If web UI is enabled) 'true' if web UI uses SSL for transport" }, "local_time": { "required": true, "description": "Current system time", "$ref": "timestamp-hp" } }, "type": "object", "description": "Information about this Shark", "example": { "webui_port": 443, "uptime": 40382739000, "build_variant": "TurboCap", "start_time": 1354579018824095000, "hostname": "shark.localdomain", "has_webui": true, "build_time": "Dec 3 2012 15:33:46", "webui_root_path": "/", "view_version": "3.5", "internal_version": "10.0.1000.0000", "version": "10.0", "system_type": "Linux", "protocol_version": "4.0", "timezone": "-0800", "build_type": "Debug", "webui_SSL": true, "local_time": 1354579059206834000 } }, "description": "Get detailed system information", "httpmethod": "GET" }, "Fetch system update iso": { "path": "system/update/url", "response": { "properties": { "shark_user_version": { "required": true, "type": "string", "description": "Currently running system version (user string)" }, "comment": { "notes": "In case of a 'FAILED_GRACEFUL' or 'FAILED_CRITICAL', provides a reason for failure", "required": false, "type": "string", "description": "Message from update subsystem" }, "need_reboot": { "required": false, "type": "boolean", "description": "'true' if a the update requires a reboot" }, "executing_job_description": { "required": false, "type": "string", "description": "Description of update task currently under way" }, "iso_name": { "required": false, "type": "string", "description": "File name of the uploaded ISO file" }, "shark_version": { "required": true, "type": "string", "description": "Currently running system version" }, "update_to": { "required": false, "type": "string", "description": "Version to which update will be carried out" }, "iso_size": { "required": false, "type": "number", "description": "Size (in bytes) of the uploaded ISO file" }, "state": { "required": true, "type": "string", "description": "Current state of the update", "enum": [ "NEUTRAL", "INITIALIZING", "INITIALIZED", "RUNNING", "FAILED_GRACEFUL", "FAILED_CRITICAL", "UNKNOWN" ] }, "iso_sha_hash": { "required": false, "type": "string", "description": "SHA256 hash of the uploaded ISO file" }, "update_to_internal": { "required": false, "type": "string", "description": "Internal version string to which update will be carried out" }, "init_id": { "required": false, "type": "string", "description": "When status is 'INITIALIZED', the ID to be provided when starting the update (i.e. to request a state change to 'RUNNING')" }, "estimate": { "notes": "Seconds", "required": true, "type": "number", "description": "Estimated time to complete update" }, "pre_start_message": { "required": false, "type": "string", "description": "Message from update subsystem to be displayed before starting update" } }, "type": "object", "example": { "shark_user_version": "yyyy", "iso_name": "my_iso_12345.iso", "shark_version": "xxxx", "iso_size": 4564564, "state": "RUNNING", "init_id": "abc123", "estimate": 30 }, "id": "update" }, "request": { "properties": { "url": { "required": true, "type": "string", "description": "URL of ISO to be used for update" } }, "type": "object", "example": { "url": "http://myserver.com/isos/my.iso" }, "id": "update_fetch" }, "description": "Request fetch of update ISO from a URL", "httpmethod": "POST" }, "Modify system update state": { "path": "system/update/state", "response": { "properties": { "shark_user_version": { "required": true, "type": "string", "description": "Currently running system version (user string)" }, "comment": { "notes": "In case of a 'FAILED_GRACEFUL' or 'FAILED_CRITICAL', provides a reason for failure", "required": false, "type": "string", "description": "Message from update subsystem" }, "need_reboot": { "required": false, "type": "boolean", "description": "'true' if a the update requires a reboot" }, "executing_job_description": { "required": false, "type": "string", "description": "Description of update task currently under way" }, "iso_name": { "required": false, "type": "string", "description": "File name of the uploaded ISO file" }, "shark_version": { "required": true, "type": "string", "description": "Currently running system version" }, "update_to": { "required": false, "type": "string", "description": "Version to which update will be carried out" }, "iso_size": { "required": false, "type": "number", "description": "Size (in bytes) of the uploaded ISO file" }, "state": { "required": true, "type": "string", "description": "Current state of the update", "enum": [ "NEUTRAL", "INITIALIZING", "INITIALIZED", "RUNNING", "FAILED_GRACEFUL", "FAILED_CRITICAL", "UNKNOWN" ] }, "iso_sha_hash": { "required": false, "type": "string", "description": "SHA256 hash of the uploaded ISO file" }, "update_to_internal": { "required": false, "type": "string", "description": "Internal version string to which update will be carried out" }, "init_id": { "required": false, "type": "string", "description": "When status is 'INITIALIZED', the ID to be provided when starting the update (i.e. to request a state change to 'RUNNING')" }, "estimate": { "notes": "Seconds", "required": true, "type": "number", "description": "Estimated time to complete update" }, "pre_start_message": { "required": false, "type": "string", "description": "Message from update subsystem to be displayed before starting update" } }, "type": "object", "example": { "shark_user_version": "yyyy", "iso_name": "my_iso_12345.iso", "shark_version": "xxxx", "iso_size": 4564564, "state": "RUNNING", "init_id": "abc123", "estimate": 30 }, "id": "update" }, "request": { "id": "update_state", "properties": { "reset": { "notes": "Only applies when requesting 'NEUTRAL' state.", "required": false, "type": "boolean", "description": "If 'true', uninitializes update" }, "init_id": { "notes": "Only valid when the requested state is 'RUNNING'. Ignored in all other requested states.", "required": false, "type": "string", "description": "Update ID provided by the update subsystem from the most recent status request" }, "state": { "required": true, "type": "string", "description": "Requested new state of update subsystem", "enum": [ "NEUTRAL", "INITIALIZING", "INITIALIZED", "RUNNING", "FAILED_GRACEFUL", "FAILED_CRITICAL", "UNKNOWN" ] } }, "type": "object", "description": "Request change in update state value on server", "example": { "reset": true, "state": "INITIALIZED" } }, "description": "Update state of system update", "httpmethod": "PUT" }, "Restart system": { "path": "system/restart", "request": { "id": "restart", "properties": { "type": { "required": true, "type": "string", "description": "Type of service to restart", "enum": [ "SHARK", "PROBE", "PACKETRECORDER" ] } }, "type": "object", "description": "Configuration to restart", "example": { "type": "PROBE" } }, "description": "Restart the shark service or reboot the system.", "httpmethod": "POST" }, "Format storage system": { "path": "system/format_storage", "request": { "id": "format_storage", "properties": { "reserved_space": { "required": true, "type": "number", "description": "Percentage of unused space at the end of the packet storage" } }, "type": "object", "description": "Configuration information to format the packet storage", "example": { "reserved_space": 10 } }, "description": "Request packet storage reformat.", "httpmethod": "POST" }, "Get audit log": { "path": "system/audit_log", "description": "Get the audit log as a text file. Response content type is 'text/plain'.", "httpmethod": "GET" }, "Generate system dump": { "path": "system/sysdump", "parameters": { "dump_type": { "required": false, "type": "string", "description": "'CURRENT': Includes current Shark Probe and Shark Packet Recorder logs; 'PROBE': Includes all Shark Probe logs; 'PACKETRECORDER': Includes all Shark Packet Recorder logs; 'COMPLETE': Includes all Shark Probe and Shark Packet Recorder logs." }, "case_id": { "required": false, "type": "string", "description": "Optional case ID to be attached to output file name." } }, "httpmethod": "GET" }, "Get system update status": { "path": "system/update", "response": { "properties": { "shark_user_version": { "required": true, "type": "string", "description": "Currently running system version (user string)" }, "comment": { "notes": "In case of a 'FAILED_GRACEFUL' or 'FAILED_CRITICAL', provides a reason for failure", "required": false, "type": "string", "description": "Message from update subsystem" }, "need_reboot": { "required": false, "type": "boolean", "description": "'true' if a the update requires a reboot" }, "executing_job_description": { "required": false, "type": "string", "description": "Description of update task currently under way" }, "iso_name": { "required": false, "type": "string", "description": "File name of the uploaded ISO file" }, "shark_version": { "required": true, "type": "string", "description": "Currently running system version" }, "update_to": { "required": false, "type": "string", "description": "Version to which update will be carried out" }, "iso_size": { "required": false, "type": "number", "description": "Size (in bytes) of the uploaded ISO file" }, "state": { "required": true, "type": "string", "description": "Current state of the update", "enum": [ "NEUTRAL", "INITIALIZING", "INITIALIZED", "RUNNING", "FAILED_GRACEFUL", "FAILED_CRITICAL", "UNKNOWN" ] }, "iso_sha_hash": { "required": false, "type": "string", "description": "SHA256 hash of the uploaded ISO file" }, "update_to_internal": { "required": false, "type": "string", "description": "Internal version string to which update will be carried out" }, "init_id": { "required": false, "type": "string", "description": "When status is 'INITIALIZED', the ID to be provided when starting the update (i.e. to request a state change to 'RUNNING')" }, "estimate": { "notes": "Seconds", "required": true, "type": "number", "description": "Estimated time to complete update" }, "pre_start_message": { "required": false, "type": "string", "description": "Message from update subsystem to be displayed before starting update" } }, "type": "object", "example": { "shark_user_version": "yyyy", "iso_name": "my_iso_12345.iso", "shark_version": "xxxx", "iso_size": 4564564, "state": "RUNNING", "init_id": "abc123", "estimate": 30 }, "id": "update" }, "description": "Get current system update status", "httpmethod": "GET" }, "Shutdown system": { "path": "system/shutdown", "description": "Shut down the system.", "httpmethod": "POST" }, "Get system storage info": { "path": "system/storage", "response": { "properties": { "total_space": { "required": false, "type": "number", "description": "Total space in the storage system" }, "disks": { "items": { "description": "Storage system disk information", "type": "object", "id": "disk", "properties": { "expected_serial": { "required": false, "type": "string", "description": "Expected serial number of the disk" }, "label": { "required": true, "type": "string", "description": "Label of the disk" }, "state_type": { "required": true, "type": "string", "description": "State code of the disk", "enum": [ "OK", "WARNING", "ERROR" ] }, "state": { "required": true, "type": "string", "description": "State description of the disk" }, "row_id": { "required": true, "type": "string", "description": "Row number for the disk" }, "column_id": { "required": true, "type": "string", "description": "Column number for the disk" }, "model": { "required": true, "type": "string", "description": "Model of the disk" }, "serial": { "required": true, "type": "string", "description": "Serial number of the disk" } } }, "required": false, "type": "array", "description": "List of disks in the storage system" }, "allocated_space": { "required": false, "type": "number", "description": "Allocated space in the storage system" }, "used_space": { "required": false, "type": "number", "description": "Used space in the storage system" }, "state_type": { "required": true, "type": "string", "description": "State code of the storage system", "enum": [ "OK", "WARNING", "ERROR" ] }, "state": { "required": true, "type": "string", "description": "State description of the storage system" }, "available_space": { "required": false, "type": "number", "description": "Available space in the storage system" }, "can_reinitialize": { "required": false, "type": "boolean", "description": "Whether or not the storage system can be reinitialized" } }, "type": "object", "example": { "total_space": 42815455232, "disks": [ { "column_id": "0", "state_type": "OK", "state": "OK", "model": "N/A", "label": "N/A", "row_id": "0", "serial": "N/A" } ], "allocated_space": 11811160064, "used_space": 11676942336, "state_type": "OK", "state": "OK", "available_space": 31138512896, "can_reinitialize": true }, "id": "storage" }, "description": "Get storage monitor status", "httpmethod": "GET" } } }, "watches": { "methods": { "Enable watch": { "path": "views/{view_id}/watches/{watch_id}/enable", "description": "Enable watch {watch_id} on view {view_id}.", "httpmethod": "POST" }, "Create watch": { "path": "views/{view_id}/watches", "request": { "$ref": "watch" }, "description": "Create a new watch for view {view_id}.", "httpmethod": "POST" }, "List watches": { "path": "views/{view_id}/watches", "response": { "items": { "id": "watch", "$ref": "watch" }, "example": [ { "info": { "name": "Watch 1" }, "severity": 6, "triggers": [ { "condition_operator": "AND", "conditions": [ { "field": "c2", "condition_info": { "aggregation_type": "VALUE", "value": "0", "check_type": "GREATER" } } ], "bool_operator": "OR", "dimension_restrictions": { "sub_restrictions": [], "restrictions": [ { "field": "c1", "value": "Web" } ], "bool_operator": "OR" }, "uid": "Trigger 1" } ], "watch_uid": "watch_1", "enabled": true, "actions": { "fired_triggers": { "bool_operator": "AND", "triggering_mode": "LEADINGEDGE", "triggers": [ "Trigger 1" ] }, "actions": [ { "type": "InternalDBLog", "uid": "Action 1", "parameters": [], "side": "SERVER" } ] }, "timing": { "from": "NOW", "time_analysis_mode": "SAMPLE_BY_SAMPLE", "interval_ms": 1000 }, "output_uid": "OUID_Output_Over_Time" } ], "type": "array", "description": "Watch list", "id": "watches" }, "description": "Get the list of watches for view {view_id}.", "httpmethod": "GET" }, "Disable watch": { "path": "views/{view_id}/watches/{watch_id}/disable", "description": "Disable watch {watch_id} on view {view_id}.", "httpmethod": "POST" }, "Delete watch": { "path": "views/{view_id}/watches/{watch_id}", "description": "Delete watch {watch_id} on view {view_id}.", "httpmethod": "DELETE" }, "Update watch": { "path": "views/{view_id}/watches/{watch_id}", "request": { "$ref": "watch" }, "description": "Update configuration for watch {watch_id} on view {view_id}.", "httpmethod": "PUT" }, "Get watch detail": { "path": "views/{view_id}/watches/{watch_id}", "response": { "$ref": "watch" }, "description": "Config information for watch {watch_id} on view {view_id}.", "httpmethod": "GET" } } }, "clips": { "methods": { "Get clip index info": { "path": "clips/{clip_id}/index", "response": { "$ref": "index_info" }, "description": "Index info for clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "GET" }, "Get clip detail": { "path": "clips/{clip_id}", "response": { "id": "clip", "properties": { "status": { "required": true, "description": "Status information for this clip", "$ref": "clip_status" }, "index": { "required": false, "description": "Index information for this clip", "$ref": "index_info" }, "config": { "required": true, "description": "Configuration information for this clip", "$ref": "clip_config" }, "id": { "required": true, "type": "string", "description": "Clip id" } }, "type": "object", "description": "Description and status of trace clip", "example": { "status": { "estimated_size": 268435456, "modification_time": 1345830535, "creation_time": 1345830425, "locked": true }, "index": { "status": "OK", "start_time": 1345830425000000000, "end_time": 1345830435000000000 }, "config": { "job_id": "000000A3", "filters": [ { "type": "TIME", "description": "This is a time filter.", "value": "1345830425000000000, 1345830435000000000" }, { "type": "BPF", "value": "port 80" } ], "description": "This is a clip on job 000000A3" }, "id": "000000A30002" } }, "description": "Info on clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "GET" }, "Create clip": { "path": "clips", "response": { "properties": { "id": { "required": true, "type": "string", "description": "Identifier of the newly created clip" } }, "type": "object", "example": { "id": "000000A30002" }, "id": "clip" }, "request": { "$ref": "clip_config" }, "description": "Create a new trace clip", "httpmethod": "POST" }, "Get clip status": { "path": "clips/{clip_id}/status", "response": { "$ref": "clip_status" }, "description": "Status info for clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "GET" }, "Get clip config": { "path": "clips/{clip_id}/config", "response": { "$ref": "clip_config" }, "description": "Config info for clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "GET" }, "List clips": { "path": "clips", "response": { "items": { "type": "object", "properties": { "status": { "required": true, "description": "Status information for this clip", "$ref": "clip_status" }, "index": { "required": false, "description": "Index information for this clip", "$ref": "index_info" }, "config": { "required": true, "description": "Configuration information for this clip", "$ref": "clip_config" }, "id": { "required": true, "type": "string", "description": "Clip id" } }, "example": { "status": { "estimated_size": 268435456, "modification_time": 1345830535, "creation_time": 1345830425, "locked": true }, "index": { "status": "OK", "start_time": 1345830425000000000, "end_time": 1345830435000000000 }, "config": { "job_id": "000000A3", "filters": [ { "type": "TIME", "description": "This is a time filter.", "value": "1345830425000000000, 1345830435000000000" }, { "type": "BPF", "value": "port 80" } ], "description": "This is a clip on job 000000A3" }, "id": "000000A30002" }, "id": "clip", "description": "Description and status of trace clip" }, "example": [ { "status": { "estimated_size": 268435456, "modification_time": 1345830535, "creation_time": 1345830425, "locked": true }, "index": { "status": "OK", "start_time": 1345830425000000000, "end_time": 1345830435000000000 }, "config": { "job_id": "000000A3", "filters": [ { "type": "TIME", "description": "This is a time filter.", "value": "1345830425000000000, 1345830435000000000" }, { "type": "BPF", "value": "port 80" } ], "description": "This is a clip on job 000000A3" }, "id": "000000A30002" }, { "status": { "estimated_size": 268435456, "modification_time": 1345830563, "creation_time": 1345830563, "locked": true }, "config": { "job_id": "000000A3", "filters": [ { "type": "TIME", "description": "This is a time filter.", "value": "1345830493000000000, 1345830596000000000" }, { "type": "SHARK", "description": "This is a shark filter.", "value": "tcp.port=\"80\"" } ], "description": "This is the third clip on job 000000A3" }, "id": "000000A30003" } ], "type": "array", "description": "List of clips", "id": "clips" }, "description": "Get the list of trace clips", "httpmethod": "GET" }, "Update clip lock status": { "path": "clips/{clip_id}/status", "request": { "properties": { "locked": { "required": true, "type": "boolean", "description": "'true' to lock the packets and the index for this clip, 'false' otherwise" } }, "type": "object", "example": { "locked": true }, "id": "status" }, "description": "Update lock status for clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "PUT" }, "Update clip": { "path": "clips/{clip_id}", "request": { "$ref": "clip_config" }, "description": "Update config info for clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "PUT" }, "Delete clip": { "path": "clips/{clip_id}", "description": "Delete clip {clip_id}", "parameters": { "clip_id": { "required": true, "type": "string", "description": "Clip identifier" } }, "httpmethod": "DELETE" } } }, "certificates": { "methods": { "Update web UI certificate": { "path": "settings/certificates/web", "request": { "id": "certificate", "properties": { "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains both the public and private part of the new certificate." } }, "type": "object", "description": "Validity days for the new self signed certificate", "example": { "pem": "-----BEGIN PRIVATE KEY-----\nMIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDB+tJ7fYFr0PiP\nfNwsQLEnRZOyk27iBHagszfdFC83nCINKAbWZqfhHMKVoTiSqxuul0ZE1Kqwh9hG\nNj6ZH9PU2V3bAd6ZOglGozawpAj33Vz0SmuqIsalrp09p9LKbeYLHmWumrY0Elzu\nk96Z+R7JZZeW141J09nAlndWzNsu2F/RMAla94ekJSnbPmApGaRBwO29cLwd8Zy2\nsZXJQs8cxHcAXNknicvyC4j8Cxl7LuevH2nuYAuq9rQFbKIcOF2/UtW25dQCTXE4\n+OBQrH2eup4VUqlwDwL+XelH9gO2wE+fypv4pw2H1HbsH+FqTzdvPq8UNNA3WhyP\nRmqZBQmNAgMBAAECggEBAMF5QHJ3DZzRwviqmpdwtsDqvpPARTodJYzG9BMHTMj0\na2of4CH8Jbl7jADd2qU/EM8khqukSdLkyyvMcscbXZbQbrI/vRurLRFNPQEVuvQt\nz8bAa344TVV3QdH7D11kG6w/Vz+9g7mQDyzOQ5njRXeuYnHK8FsQeAGEkeb7UCn5\nWenIzuF5pL21ZPA2Yt3JEi+ntPQdQPEPBDVHBnbkrZ0cQQhuE1t4BwUBu6Yv2kkx\nNTzleB+9tUVXk7LUHyuvuQ9jeZCHQSLNAeP1mvrGK77OVTZDphN/rLc7Tt7IWSZm\ngD0OXgot0tEoBoe1jGpWGXEjeHS0X+Br9Y1EpBrpCoECgYEA/ZLtRZTw4wpqriFs\n2t/mwfKWdnM/O4DbKzN/T1aIv3e6qAqq6DfJg1JEiI7YlFnJTepeR8NGCSnifxTG\nv3TRylOpSqfTuFT9oKWRaIrNZed8OPY2c2VlyU5vF10E/m/V0WrHjnogOSBeCf32\nh4+m4QAnXkrvU4uXw9pAgTKeZxECgYEAw9Xuw1NyB7Iuli3HM1qeg8+v601pbrLg\n9LoJdZofFDhJuUKZ5y+7YuIuWGWyCVYlIod3umb78YbBILrSUimkK5OXhiPNDihH\nVD/ggTXCPgm3FT941zaKnSUSlZDF7LndLLlYUwYnB8qba8+vCIDAHnKsyHKPEvTC\n/SkAvJcX0r0CgYEA9gxjf2kOdL/e1ChK3/byiq9BoJ4jdTGLeVf26J0nA+LBk90G\nCV5YgryJE5jIPusAkkIgSbIJe0rRJE6cq5pHFvQnCPHgVrThhcgiWDaXJ5J+zybZ\nnw98vOEGmrz/44PRDet2x6FpMwVdOoTbep7BZwInMS+1GnQRR1G31aWwXoECgYEA\nmtsdTYk7n0hPvGOApGQg+pwNQOTa3TVH210Mw9jWgJet/Hfk2UIOTDgMa8wmx2k+\nPhqfG1/6E9f5+ZahX2UcM3UnGWRP7sT8+mr0bVgEPChUhNHHDW9MlszM8EYlrHag\npY/+ftBbpraYxdzZTMD6qlkFtg+YgWXYlnWI5pgXt4UCgYEAppqACeoUd+UI3Azs\n2B/KWndzdBMgMNFZsZvcMC1sfZjsCrbcOZDkU+cYUDxfM2Wp5ihk7CVH8XUx+ue+\nm92OX497PvXihxdSNrlsi3GJuhq5uaYpZWPn3269zC2wDlAwUX78X3NYMsoxg8XO\nFihyaSY3EzACFI96nbDOIeS5csg=\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyTCCArGgAwIBAgIRAMjqZzJo2/e4lqogFGp6IcswDQYJKoZIhvcNAQENBQAw\nZDESMBAGA1UEAxMJV1BJUkFTLVc3MRwwGgYDVQQKExNSaXZlcmJlZCBUZWNobm9s\nb2d5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMQswCQYDVQQIEwJDQTELMAkGA1UE\nBhMCVVMwHhcNMTIwOTI2MjEzMzAxWhcNMTMwOTI2MjEzMzAxWjBkMRIwEAYDVQQD\nEwlXUElSQVMtVzcxHDAaBgNVBAoTE1JpdmVyYmVkIFRlY2hub2xvZ3kxFjAUBgNV\nBAcTDVNhbiBGcmFuY2lzY28xCzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMH60nt9gWvQ+I983CxAsSdFk7KT\nbuIEdqCzN90ULzecIg0oBtZmp+EcwpWhOJKrG66XRkTUqrCH2EY2Ppkf09TZXdsB\n3pk6CUajNrCkCPfdXPRKa6oixqWunT2n0spt5gseZa6atjQSXO6T3pn5Hslll5bX\njUnT2cCWd1bM2y7YX9EwCVr3h6QlKds+YCkZpEHA7b1wvB3xnLaxlclCzxzEdwBc\n2SeJy/ILiPwLGXsu568fae5gC6r2tAVsohw4Xb9S1bbl1AJNcTj44FCsfZ66nhVS\nqXAPAv5d6Uf2A7bAT5/Km/inDYfUduwf4WpPN28+rxQ00DdaHI9GapkFCY0CAwEA\nAaN2MHQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFBM4OhBjBV4Btfh5hNw9N3G4G10RMB8GA1UdIwQYMBaAFBM4OhBjBV4Btfh5hNw9\nN3G4G10RMBEGCWCGSAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQ0FAAOCAQEASY+U\nsTWf8Rhx6PoTE4y8bcWA3TItsseHAWicKwJgEQQ5xzmzr+Jfj46ToQVSUcyLvWgT\njUTuNRrUbFXTk23zkICRZQHWaBgA2jV2GDY1wyP8EsrCxLVW6YTWIzh3uGBa0b4H\n+eWt0V+FkRy7uzBg5PQEZl910gt48pULu4qG4NjYuiZV5+aujsjUHK4w4CWixIDi\npDmixAlzUpoE3yedQ+yzXlRDjQcwanxRR68GBPkH/1MZpLs+xJoC0IomUEgr9Ilj\n5aKOm0uacalQq4wGNODKGdApiZeMpKgQ7OzBxvCWsGu2qoduNNDDzdT2jTyciu6J\nwXX+DIergacItTw7bA==\n-----END CERTIFICATE-----" } }, "description": "Upload a new web UI certificate.", "httpmethod": "PUT" }, "Update profiler export certificate": { "path": "settings/certificates/profiler_export", "request": { "id": "certificate", "properties": { "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains both the public and private part of the new certificate." } }, "type": "object", "description": "Validity days for the new self signed certificate", "example": { "pem": "-----BEGIN PRIVATE KEY-----\nMIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDB+tJ7fYFr0PiP\nfNwsQLEnRZOyk27iBHagszfdFC83nCINKAbWZqfhHMKVoTiSqxuul0ZE1Kqwh9hG\nNj6ZH9PU2V3bAd6ZOglGozawpAj33Vz0SmuqIsalrp09p9LKbeYLHmWumrY0Elzu\nk96Z+R7JZZeW141J09nAlndWzNsu2F/RMAla94ekJSnbPmApGaRBwO29cLwd8Zy2\nsZXJQs8cxHcAXNknicvyC4j8Cxl7LuevH2nuYAuq9rQFbKIcOF2/UtW25dQCTXE4\n+OBQrH2eup4VUqlwDwL+XelH9gO2wE+fypv4pw2H1HbsH+FqTzdvPq8UNNA3WhyP\nRmqZBQmNAgMBAAECggEBAMF5QHJ3DZzRwviqmpdwtsDqvpPARTodJYzG9BMHTMj0\na2of4CH8Jbl7jADd2qU/EM8khqukSdLkyyvMcscbXZbQbrI/vRurLRFNPQEVuvQt\nz8bAa344TVV3QdH7D11kG6w/Vz+9g7mQDyzOQ5njRXeuYnHK8FsQeAGEkeb7UCn5\nWenIzuF5pL21ZPA2Yt3JEi+ntPQdQPEPBDVHBnbkrZ0cQQhuE1t4BwUBu6Yv2kkx\nNTzleB+9tUVXk7LUHyuvuQ9jeZCHQSLNAeP1mvrGK77OVTZDphN/rLc7Tt7IWSZm\ngD0OXgot0tEoBoe1jGpWGXEjeHS0X+Br9Y1EpBrpCoECgYEA/ZLtRZTw4wpqriFs\n2t/mwfKWdnM/O4DbKzN/T1aIv3e6qAqq6DfJg1JEiI7YlFnJTepeR8NGCSnifxTG\nv3TRylOpSqfTuFT9oKWRaIrNZed8OPY2c2VlyU5vF10E/m/V0WrHjnogOSBeCf32\nh4+m4QAnXkrvU4uXw9pAgTKeZxECgYEAw9Xuw1NyB7Iuli3HM1qeg8+v601pbrLg\n9LoJdZofFDhJuUKZ5y+7YuIuWGWyCVYlIod3umb78YbBILrSUimkK5OXhiPNDihH\nVD/ggTXCPgm3FT941zaKnSUSlZDF7LndLLlYUwYnB8qba8+vCIDAHnKsyHKPEvTC\n/SkAvJcX0r0CgYEA9gxjf2kOdL/e1ChK3/byiq9BoJ4jdTGLeVf26J0nA+LBk90G\nCV5YgryJE5jIPusAkkIgSbIJe0rRJE6cq5pHFvQnCPHgVrThhcgiWDaXJ5J+zybZ\nnw98vOEGmrz/44PRDet2x6FpMwVdOoTbep7BZwInMS+1GnQRR1G31aWwXoECgYEA\nmtsdTYk7n0hPvGOApGQg+pwNQOTa3TVH210Mw9jWgJet/Hfk2UIOTDgMa8wmx2k+\nPhqfG1/6E9f5+ZahX2UcM3UnGWRP7sT8+mr0bVgEPChUhNHHDW9MlszM8EYlrHag\npY/+ftBbpraYxdzZTMD6qlkFtg+YgWXYlnWI5pgXt4UCgYEAppqACeoUd+UI3Azs\n2B/KWndzdBMgMNFZsZvcMC1sfZjsCrbcOZDkU+cYUDxfM2Wp5ihk7CVH8XUx+ue+\nm92OX497PvXihxdSNrlsi3GJuhq5uaYpZWPn3269zC2wDlAwUX78X3NYMsoxg8XO\nFihyaSY3EzACFI96nbDOIeS5csg=\n-----END PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIIDyTCCArGgAwIBAgIRAMjqZzJo2/e4lqogFGp6IcswDQYJKoZIhvcNAQENBQAw\nZDESMBAGA1UEAxMJV1BJUkFTLVc3MRwwGgYDVQQKExNSaXZlcmJlZCBUZWNobm9s\nb2d5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMQswCQYDVQQIEwJDQTELMAkGA1UE\nBhMCVVMwHhcNMTIwOTI2MjEzMzAxWhcNMTMwOTI2MjEzMzAxWjBkMRIwEAYDVQQD\nEwlXUElSQVMtVzcxHDAaBgNVBAoTE1JpdmVyYmVkIFRlY2hub2xvZ3kxFjAUBgNV\nBAcTDVNhbiBGcmFuY2lzY28xCzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMH60nt9gWvQ+I983CxAsSdFk7KT\nbuIEdqCzN90ULzecIg0oBtZmp+EcwpWhOJKrG66XRkTUqrCH2EY2Ppkf09TZXdsB\n3pk6CUajNrCkCPfdXPRKa6oixqWunT2n0spt5gseZa6atjQSXO6T3pn5Hslll5bX\njUnT2cCWd1bM2y7YX9EwCVr3h6QlKds+YCkZpEHA7b1wvB3xnLaxlclCzxzEdwBc\n2SeJy/ILiPwLGXsu568fae5gC6r2tAVsohw4Xb9S1bbl1AJNcTj44FCsfZ66nhVS\nqXAPAv5d6Uf2A7bAT5/Km/inDYfUduwf4WpPN28+rxQ00DdaHI9GapkFCY0CAwEA\nAaN2MHQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFBM4OhBjBV4Btfh5hNw9N3G4G10RMB8GA1UdIwQYMBaAFBM4OhBjBV4Btfh5hNw9\nN3G4G10RMBEGCWCGSAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQ0FAAOCAQEASY+U\nsTWf8Rhx6PoTE4y8bcWA3TItsseHAWicKwJgEQQ5xzmzr+Jfj46ToQVSUcyLvWgT\njUTuNRrUbFXTk23zkICRZQHWaBgA2jV2GDY1wyP8EsrCxLVW6YTWIzh3uGBa0b4H\n+eWt0V+FkRy7uzBg5PQEZl910gt48pULu4qG4NjYuiZV5+aujsjUHK4w4CWixIDi\npDmixAlzUpoE3yedQ+yzXlRDjQcwanxRR68GBPkH/1MZpLs+xJoC0IomUEgr9Ilj\n5aKOm0uacalQq4wGNODKGdApiZeMpKgQ7OzBxvCWsGu2qoduNNDDzdT2jTyciu6J\nwXX+DIergacItTw7bA==\n-----END CERTIFICATE-----" } }, "description": "Upload a new profiler export certificate.", "httpmethod": "PUT" }, "Generate web UI certificate": { "path": "settings/certificates/web/generate", "request": { "id": "certificate_info", "properties": { "issued_to": { "required": true, "type": "object", "description": "Contains data to generate a new self-signed certificate", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's country" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "validity": { "required": true, "type": "object", "description": "Validity days for a new self signed certificate", "properties": { "days": { "required": true, "type": "number", "description": "Validity days for a new self signed certificate" } } } }, "type": "object", "description": "Contains info used to generate a new self signed certificate (only for Web Server and Profiler Export certificates)", "example": { "issued_to": { "locality": "San%20Francisco", "country": "US", "organization_unit": "CascadeUnit", "state": "CA", "organization": "Riverbed%20Technology", "email": "admin%40riverbed.com" }, "validity": { "days": 365 } } }, "description": "Request generation of new self-signed certificate and private key for the web UI", "httpmethod": "POST" }, "Copy profiler export certificate for web UI": { "path": "settings/certificates/web/copy_profiler_export", "description": "Request that profiler export certificate be reused for the web UI.", "httpmethod": "POST" }, "Delete trusted profiler certificate": { "path": "settings/certificates/trusted_profilers/{certificate_id}", "description": "Delete trusted profiler certificate {certificate_id}.", "httpmethod": "DELETE" }, "Upload trusted profiler certificate": { "path": "settings/certificates/trusted_profilers", "request": { "id": "trusted_profiler", "properties": { "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains only the public part of the certificate." }, "id": { "required": true, "type": "string", "description": "ID associated with the new Trusted Profiler certificate" } }, "type": "object", "description": "Used to upload a new trusted profiler certificate", "example": { "pem": "-----BEGIN CERTIFICATE-----\nMIIEPTCCAyWgAwIBAgIRAO1ZLvfw3lwCqFen5rQf7ecwDQYJKoZIhvcNAQENBQAw\ngZ0xITAfBgkqhkiG9w0BCQEWEmFkbWluQHJpdmVyYmVkLmNvbTESMBAGA1UEAxMJ\nV1BJUkFTLVc3MRwwGgYDVQQKExNSaXZlcmJlZCBUZWNobm9sb2d5MRQwEgYDVQQL\nEwtDYXNjYWRlVW5pdDEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzELMAkGA1UECBMC\nQ0ExCzAJBgNVBAYTAlVTMB4XDTEyMDkyNjIyNTkzNFoXDTEzMDkyNjIyNTkzNFow\ngZ0xITAfBgkqhkiG9w0BCQEWEmFkbWluQHJpdmVyYmVkLmNvbTESMBAGA1UEAxMJ\nV1BJUkFTLVc3MRwwGgYDVQQKExNSaXZlcmJlZCBUZWNobm9sb2d5MRQwEgYDVQQL\nEwtDYXNjYWRlVW5pdDEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzELMAkGA1UECBMC\nQ0ExCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nvYsAKrsA1ohMakG+9azPS9cJrgRB8kKaGBJrGLm6LMSCow82vAZH2MrMDsoAHwaj\n8mV+79PM1Rl1tjZmbhMD4SV9HhJQjkwrM6r2WV49MHdMkdeXTWEbLZ8OyBPUPWtn\n8+zy5IWLB8ri/D7RjVe7LFOM389JmOofb9wCHzCT0yKbJO39OHI9AI3LQrnLo7g4\nMXpTQklL18EjVay7RickcnKDDJhIOziXBJCmfr5jrCz76oT07/IbJ3NI5RqB6JSR\nZcPMyZFnzuEwxWfsmatzCuiD8kQBqz+6It0RKYlalylVhFS+2ViA8O5Qs1p8vXb5\n8yohwQfV19n02+DRRV3dRwIDAQABo3YwdDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\nDwEB/wQEAwIBBjAdBgNVHQ4EFgQUVhms7KFEi/wH1cdj56L5U+XTAeowHwYDVR0j\nBBgwFoAUVhms7KFEi/wH1cdj56L5U+XTAeowEQYJYIZIAYb4QgEBBAQDAgIEMA0G\nCSqGSIb3DQEBDQUAA4IBAQC0C70AFxt+cjAM8I1JbJJJ5RGoSTPfOmvQznr4nW7g\nG/dRUUO3eGpd05YmJlA0TTCunbxdnUTlv7phXgJ5+IeBnhIR1eC7lxgHPwshr4oO\nE4UfyL5iwhs+fCPHhPllo9VVOCcSR4CqjY4i1++14BVKZE0hWX3oZhaG/g1oXDv5\nGdLvOspRYxpgONsJvLeV4OZk1r1oZfHCsOnilIq1KsRzpOt2/M2SNs2oKS89em8D\n84GDI/0fpVbmpfdzj+vyB0UaLXBtKgeno7HzoUY/Vfwvi02n6J0OlHNNJGI+imE5\nun5/WbK6z4fWBuipjlIje3D5o+XSxPuh7wrfQfChMZEK\n-----END CERTIFICATE-----", "id": "riverbed_certificate" } }, "description": "Upload a new trusted profiler certificate", "httpmethod": "POST" }, "Copy web UI certificate for profiler export": { "path": "settings/certificates/profiler_export/copy_web", "description": "Request that web UI certificate be reused for profiler export.", "httpmethod": "POST" }, "List certificates": { "path": "settings/certificates", "response": { "id": "certificates", "properties": { "web_certificate": { "required": true, "type": "object", "description": "Certificate's info", "properties": { "issued_to": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "issued_by": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "validity": { "required": true, "type": "object", "description": "Certificate's validity info", "properties": { "issued": { "required": true, "type": "timestamp", "description": "Issueing date timestamp in Unix time format" }, "expire": { "required": true, "type": "timestamp", "description": "Expire date timestamp in Unix time format" } } }, "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains only the public part of the certificate." }, "key": { "required": true, "type": "object", "description": "Contains information about the certificate's key", "properties": { "algorithm": { "required": true, "type": "string", "description": "Key algorithm", "enum": [ "RSA" ] }, "size": { "required": true, "type": "number", "description": "Key length" } } }, "fingerprint": { "required": true, "type": "number", "description": "Certificate's fingerprint info" } } }, "trusted_profilers": { "items": { "description": "Contains Trusted Profilers certificates info", "type": "object", "id": "trusted_profiler", "properties": { "id": { "required": true, "type": "string", "description": "ID associated with the Trusted Profiler certificate" }, "certificate": { "required": true, "type": "object", "description": "Certificate's info", "properties": { "issued_to": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "issued_by": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "validity": { "required": true, "type": "object", "description": "Certificate's validity info", "properties": { "issued": { "required": true, "type": "timestamp", "description": "Issueing date timestamp in Unix time format" }, "expire": { "required": true, "type": "timestamp", "description": "Expire date timestamp in Unix time format" } } }, "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains only the public part of the certificate." }, "key": { "required": true, "type": "object", "description": "Contains information about the certificate's key", "properties": { "algorithm": { "required": true, "type": "string", "description": "Key algorithm", "enum": [ "RSA" ] }, "size": { "required": true, "type": "number", "description": "Key length" } } }, "fingerprint": { "required": true, "type": "number", "description": "Certificate's fingerprint info" } } } } }, "required": true, "type": "array", "description": "List of Trusted Profiler certificates" }, "profiler_export_certificate": { "required": true, "type": "object", "description": "Certificate's info", "properties": { "issued_to": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "issued_by": { "required": true, "type": "object", "description": "Certificate's details", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's state" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "common_name": { "required": true, "type": "string", "description": "Subject's common name" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "validity": { "required": true, "type": "object", "description": "Certificate's validity info", "properties": { "issued": { "required": true, "type": "timestamp", "description": "Issueing date timestamp in Unix time format" }, "expire": { "required": true, "type": "timestamp", "description": "Expire date timestamp in Unix time format" } } }, "pem": { "required": true, "type": "string", "description": "Contains the certificate in PEM format encode with Base64. This field contains only the public part of the certificate." }, "key": { "required": true, "type": "object", "description": "Contains information about the certificate's key", "properties": { "algorithm": { "required": true, "type": "string", "description": "Key algorithm", "enum": [ "RSA" ] }, "size": { "required": true, "type": "number", "description": "Key length" } } }, "fingerprint": { "required": true, "type": "number", "description": "Certificate's fingerprint info" } } } }, "type": "object", "description": "Certificates info,", "example": { "web_certificate": { "issued_to": { "locality": "San%20Francisco", "country": "US", "organization_unit": "", "state": "CA", "common_name": "WPIRAS-W7", "organization": "Riverbed%20Technology", "email": "" }, "issued_by": { "locality": "San%20Francisco", "country": "US", "organization_unit": "", "state": "CA", "common_name": "WPIRAS-W7", "organization": "Riverbed%20Technology", "email": "" }, "validity": { "issued": 1348695181, "expire": 1380231181 }, "pem": "-----BEGIN%20CERTIFICATE-----%0AMIIDyTCCArGgAwIBAgIRAMjqZzJo2/e4lqogFGp6IcswDQYJKoZIhvcNAQENBQAw%0AZDESMBAGA1UEAxMJV1BJUkFTLVc3MRwwGgYDVQQKExNSaXZlcmJlZCBUZWNobm9s%0Ab2d5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMQswCQYDVQQIEwJDQTELMAkGA1UE%0ABhMCVVMwHhcNMTIwOTI2MjEzMzAxWhcNMTMwOTI2MjEzMzAxWjBkMRIwEAYDVQQD%0AEwlXUElSQVMtVzcxHDAaBgNVBAoTE1JpdmVyYmVkIFRlY2hub2xvZ3kxFjAUBgNV%0ABAcTDVNhbiBGcmFuY2lzY28xCzAJBgNVBAgTAkNBMQswCQYDVQQGEwJVUzCCASIw%0ADQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMH60nt9gWvQ+I983CxAsSdFk7KT%0AbuIEdqCzN90ULzecIg0oBtZmp+EcwpWhOJKrG66XRkTUqrCH2EY2Ppkf09TZXdsB%0A3pk6CUajNrCkCPfdXPRKa6oixqWunT2n0spt5gseZa6atjQSXO6T3pn5Hslll5bX%0AjUnT2cCWd1bM2y7YX9EwCVr3h6QlKds+YCkZpEHA7b1wvB3xnLaxlclCzxzEdwBc%0A2SeJy/ILiPwLGXsu568fae5gC6r2tAVsohw4Xb9S1bbl1AJNcTj44FCsfZ66nhVS%0AqXAPAv5d6Uf2A7bAT5/Km/inDYfUduwf4WpPN28+rxQ00DdaHI9GapkFCY0CAwEA%0AAaN2MHQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE%0AFBM4OhBjBV4Btfh5hNw9N3G4G10RMB8GA1UdIwQYMBaAFBM4OhBjBV4Btfh5hNw9%0AN3G4G10RMBEGCWCGSAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQ0FAAOCAQEASY+U%0AsTWf8Rhx6PoTE4y8bcWA3TItsseHAWicKwJgEQQ5xzmzr+Jfj46ToQVSUcyLvWgT%0AjUTuNRrUbFXTk23zkICRZQHWaBgA2jV2GDY1wyP8EsrCxLVW6YTWIzh3uGBa0b4H%0A+eWt0V+FkRy7uzBg5PQEZl910gt48pULu4qG4NjYuiZV5+aujsjUHK4w4CWixIDi%0ApDmixAlzUpoE3yedQ+yzXlRDjQcwanxRR68GBPkH/1MZpLs+xJoC0IomUEgr9Ilj%0A5aKOm0uacalQq4wGNODKGdApiZeMpKgQ7OzBxvCWsGu2qoduNNDDzdT2jTyciu6J%0AwXX+DIergacItTw7bA==%0A-----END%20CERTIFICATE-----%0A", "key": { "algorithm": "RSA", "size": 2048 }, "fingerprint": { "algorithm": "SHA1", "value": "1B:FA:66:5B:B4:8C:00:4B:D4:59:02:75:30:A8:91:CB:E3:17:B2:5A" } }, "trusted_profilers": [ { "id": "default_profiler", "certificate": { "issued_to": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Mazu", "organization": "", "email": "" }, "issued_by": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Mazu", "organization": "", "email": "" }, "validity": { "issued": 1159807421, "expire": 1475167421 }, "pem": "-----BEGIN%20CERTIFICATE-----%0AMIIBsTCCARqgAwIBAgIJAOqvgxZRcO+ZMA0GCSqGSIb3DQEBBAUAMA8xDTALBgNV%0ABAMTBE1henUwHhcNMDYxMDAyMTY0MzQxWhcNMTYwOTI5MTY0MzQxWjAPMQ0wCwYD%0AVQQDEwRNYXp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0e+f4pJY2eSm1%0A8U579OKJIyxc/sdKXlLOw0zK6SoNu7XNHmNoObNhQV+3PoSbZNyqW3GuZ54EEKUw%0AG54kDzHu9cZMGEWvNO6syjZZlfBORpklQoNEsNxAkbhTr9DXfloFKiLouDl8E7jB%0AhMkbKxnpNcfcl+NEuQ8av2QQWp3jfQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMC%0ABkAwDQYJKoZIhvcNAQEEBQADgYEATnoqJSym+wATLxgb2Ujdy4CY0gawUXHjidaE%0AehyejGdw6VhXpf4lP9Q8JfVERjCoroVkiXenVQe/zer7Qf2hiDB/5s02/+8uiEeq%0AMJpzsSdEYZUSgpyAcws5PDyr2GVFMI3dfPnl28hVavIkR8r05BPDxKbb8Ic6HWpT%0ACTDPH3w=%0A-----END%20CERTIFICATE-----%0A", "key": { "algorithm": "RSA", "size": 1024 }, "fingerprint": { "algorithm": "SHA1", "value": "19:41:76:AD:7C:B3:40:01:70:5F:C8:50:85:AD:8F:F2:32:BC:D0:48" } } }, { "id": "default_profiler_fips", "certificate": { "issued_to": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Cascade%20MNMP%20Default%20Certificate", "organization": "Riverbed%20Technology,%20Inc.", "email": "support@riverbed.com" }, "issued_by": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Cascade%20MNMP%20Default%20Certificate", "organization": "Riverbed%20Technology,%20Inc.", "email": "support@riverbed.com" }, "validity": { "issued": 1339518445, "expire": 1654878445 }, "pem": "-----BEGIN%20CERTIFICATE-----%0AMIID3zCCAsegAwIBAgIJALUIRiJTYgMoMA0GCSqGSIb3DQEBDQUAMHQxKTAnBgNV%0ABAMTIENhc2NhZGUgTU5NUCBEZWZhdWx0IENlcnRpZmljYXRlMSIwIAYDVQQKExlS%0AaXZlcmJlZCBUZWNobm9sb2d5LCBJbmMuMSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0%0AQHJpdmVyYmVkLmNvbTAeFw0xMjA2MTIxNjI3MjVaFw0yMjA2MTAxNjI3MjVaMHQx%0AKTAnBgNVBAMTIENhc2NhZGUgTU5NUCBEZWZhdWx0IENlcnRpZmljYXRlMSIwIAYD%0AVQQKExlSaXZlcmJlZCBUZWNobm9sb2d5LCBJbmMuMSMwIQYJKoZIhvcNAQkBFhRz%0AdXBwb3J0QHJpdmVyYmVkLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC%0AggEBALwfP4rRlcUvHNHVjxhh+/a1w/O2kIXdqUUturbsXVeu7nYj0zqXjySf4jI1%0AMSQKou6JT5jPGPxHWCrwfmwpqYaTnIZpJYOd78WIhufRmVPb5j1QXShO6NNqpXi5%0Ap9cp3/4dxZSsfocJCLZngs0HiQhFo382MTUc5Jg/lpBgFhnStX3u/SnZZKAd+ibc%0Aew+mDRZDD4A+HNOo+FvmywbRSbYAUL74MT9K+0JJgH/RTAvjOCsUuR1ej70oxRjI%0AwIuMbddH0eZ/KMdGp9ptcgRpeW2ibIRnGBZ7FMhNegsom8e3VIZejKDrKEDAgtSf%0A15v8/15bkoItGzfXsjAXt628RO0CAwEAAaN0MHIwHQYDVR0OBBYEFNHS1lF+lyYf%0AmVAXV/T0xjkgupO7MB8GA1UdIwQYMBaAFNHS1lF+lyYfmVAXV/T0xjkgupO7MBEG%0ACWCGSAGG+EIBAQQEAwIGwDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw%0ADQYJKoZIhvcNAQENBQADggEBAB8FM5z12oDHfmPMQp2d7OfRQAzPtuCdHEYI9AJ9%0A8sTcA0d8xTfCIEYyglXCijoE42iVx9Pgfo4PO7yCqxNa9kpNMnEISm2ZQv2E0noM%0ADmpIrT0z5BcfxcWulqx1Y2RwP+RkeU2atdpPSAboyLex6SXbKKREmjBZLvP7OBZb%0AAuNnIdVPONpsHHDbOAh5UtVdvJ1fUmme/NHcKG8aixaynTV3HoOX7YtG1hT5H+YM%0A1ImpfK5NJJuBra13e6nDKvaLmd9EVbrW8vAQwP3/jLNT3DyRvCuq6MaJl+kSRNz2%0Ai7gWkZzoLH0AKvL1Imu14gVKk6K9BLMrjeSR0fS6hMwpl0s=%0A-----END%20CERTIFICATE-----%0A", "key": { "algorithm": "RSA", "size": 2048 }, "fingerprint": { "algorithm": "SHA1", "value": "91:5C:1B:B7:FA:F6:CF:46:8B:EF:AE:DC:F2:4B:77:3E:30:6B:03:52" } } } ], "profiler_export_certificate": { "issued_to": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Mazu", "organization": "", "email": "" }, "issued_by": { "locality": "", "country": "", "organization_unit": "", "state": "", "common_name": "Mazu", "organization": "", "email": "" }, "validity": { "issued": 1159807421, "expire": 1475167421 }, "pem": "-----BEGIN%20CERTIFICATE-----%0AMIIBsTCCARqgAwIBAgIJAOqvgxZRcO+ZMA0GCSqGSIb3DQEBBAUAMA8xDTALBgNV%0ABAMTBE1henUwHhcNMDYxMDAyMTY0MzQxWhcNMTYwOTI5MTY0MzQxWjAPMQ0wCwYD%0AVQQDEwRNYXp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0e+f4pJY2eSm1%0A8U579OKJIyxc/sdKXlLOw0zK6SoNu7XNHmNoObNhQV+3PoSbZNyqW3GuZ54EEKUw%0AG54kDzHu9cZMGEWvNO6syjZZlfBORpklQoNEsNxAkbhTr9DXfloFKiLouDl8E7jB%0AhMkbKxnpNcfcl+NEuQ8av2QQWp3jfQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMC%0ABkAwDQYJKoZIhvcNAQEEBQADgYEATnoqJSym+wATLxgb2Ujdy4CY0gawUXHjidaE%0AehyejGdw6VhXpf4lP9Q8JfVERjCoroVkiXenVQe/zer7Qf2hiDB/5s02/+8uiEeq%0AMJpzsSdEYZUSgpyAcws5PDyr2GVFMI3dfPnl28hVavIkR8r05BPDxKbb8Ic6HWpT%0ACTDPH3w=%0A-----END%20CERTIFICATE-----%0A", "key": { "algorithm": "RSA", "size": 1024 }, "fingerprint": { "algorithm": "SHA1", "value": "19:41:76:AD:7C:B3:40:01:70:5F:C8:50:85:AD:8F:F2:32:BC:D0:48" } } } }, "description": "Get the list of certificates", "httpmethod": "GET" }, "Generate profiler export certificate": { "path": "settings/certificates/profiler_export/generate", "request": { "id": "certificate_info", "properties": { "issued_to": { "required": true, "type": "object", "description": "Contains data to generate a new self-signed certificate", "properties": { "locality": { "required": true, "type": "string", "description": "Subject's locality" }, "country": { "required": true, "type": "string", "description": "Subject's country" }, "organization_unit": { "required": true, "type": "string", "description": "Subject's organization unit" }, "state": { "required": true, "type": "string", "description": "Subject's state (2 letters code)" }, "organization": { "required": true, "type": "string", "description": "Subject's organization" }, "email": { "required": true, "type": "string", "description": "Subject's email" } } }, "validity": { "required": true, "type": "object", "description": "Validity days for a new self signed certificate", "properties": { "days": { "required": true, "type": "number", "description": "Validity days for a new self signed certificate" } } } }, "type": "object", "description": "Contains info used to generate a new self signed certificate (only for Web Server and Profiler Export certificates)", "example": { "issued_to": { "locality": "San%20Francisco", "country": "US", "organization_unit": "CascadeUnit", "state": "CA", "organization": "Riverbed%20Technology", "email": "admin%40riverbed.com" }, "validity": { "days": 365 } } }, "description": "Request generation of new self-signed certificate and private key for profiler export", "httpmethod": "POST" } } }, "definitions": { "methods": { "Update Service Response Time ports configuration": { "path": "definitions/srt_ports", "request": { "items": { "type": "number", "id": "port" }, "example": [ 20, 25, 69, 80, 139, 143, 443, 465 ], "type": "array", "description": "List of service response time ports", "id": "srt_ports" }, "description": "Update the list of configured Service Response Time ports", "httpmethod": "PUT" }, "List Service Response Time ports": { "path": "definitions/srt_ports", "response": { "items": { "type": "number", "id": "port" }, "example": [ 20, 25, 69, 80, 139, 143, 443, 465 ], "type": "array", "description": "List of service response time ports", "id": "srt_ports" }, "description": "Get the list of configured lService Response Time ports", "httpmethod": "GET" }, "List layer 4 mappings": { "path": "definitions/layer4_mappings", "response": { "items": { "id": "layer4_mapping", "$ref": "layer4_mapping" }, "example": [ { "override": true, "priority": 0, "hosts": [ "192.168.140.18" ], "name": "My_server", "ports": [ { "port_range": "99", "protocol": "TCP" }, { "port_range": "15", "protocol": "TCP" } ] }, { "override": false, "priority": 1, "hosts": [ "192.168.141.1" ], "name": "My_server2", "ports": [ { "port_range": "1000", "protocol": "UDP" }, { "port_range": "1001", "protocol": "UDP" } ] } ], "type": "array", "description": "List of layer4 mapping definitions", "id": "layer4_mappings" }, "description": "Get the list of configured layer 4 mappings", "httpmethod": "GET" }, "Update port groups configuration": { "path": "definitions/port_groups", "request": { "items": { "id": "port_group", "$ref": "port_group" }, "example": [ { "priority": 0, "name": "Web", "ports": [ { "port_range": "80", "protocol": "TCP" }, { "port_range": "8080", "protocol": "TCP" }, { "port_range": "443", "protocol": "TCP" } ] }, { "priority": 1, "name": "Email", "ports": [ { "port_range": "25", "protocol": "TCP" }, { "port_range": "465", "protocol": "TCP" }, { "port_range": "587", "protocol": "TCP" }, { "port_range": "110", "protocol": "TCP" }, { "port_range": "995", "protocol": "TCP" }, { "port_range": "143", "protocol": "TCP" }, { "port_range": "585", "protocol": "TCP" }, { "port_range": "993", "protocol": "TCP" }, { "port_range": "119", "protocol": "TCP" } ] } ], "type": "array", "description": "List of port group definitions", "id": "port_groups" }, "description": "Update the list of configured port groups", "httpmethod": "PUT" }, "Update custom applications configuration": { "path": "definitions/custom_applications", "request": { "items": { "id": "application", "$ref": "custom_application" }, "example": [ { "name": "My_Bugzilla", "uri": "http://bugzilla.mydomain.com/" }, { "name": "My_App1", "uri": "http://myserver.mydomain.com/app1/*" } ], "type": "array", "description": "List of custom L7 signature definitions", "id": "applications" }, "description": "Update the list of configured custom applications", "httpmethod": "PUT" }, "Update port names configuration": { "path": "definitions/port_names", "request": { "items": { "id": "port_name", "$ref": "port_name" }, "example": [ { "udp": "http", "port": 80, "tcp": "http" }, { "udp": "ms-sql-s", "port": 1433, "tcp": "ms-sql-s" } ], "type": "array", "description": "List of port name definitions", "id": "port_names" }, "description": "Update the list of configured port names", "httpmethod": "PUT" }, "List port groups": { "path": "definitions/port_groups", "response": { "items": { "id": "port_group", "$ref": "port_group" }, "example": [ { "priority": 0, "name": "Web", "ports": [ { "port_range": "80", "protocol": "TCP" }, { "port_range": "8080", "protocol": "TCP" }, { "port_range": "443", "protocol": "TCP" } ] }, { "priority": 1, "name": "Email", "ports": [ { "port_range": "25", "protocol": "TCP" }, { "port_range": "465", "protocol": "TCP" }, { "port_range": "587", "protocol": "TCP" }, { "port_range": "110", "protocol": "TCP" }, { "port_range": "995", "protocol": "TCP" }, { "port_range": "143", "protocol": "TCP" }, { "port_range": "585", "protocol": "TCP" }, { "port_range": "993", "protocol": "TCP" }, { "port_range": "119", "protocol": "TCP" } ] } ], "type": "array", "description": "List of port group definitions", "id": "port_groups" }, "description": "Get the list of configured port groups", "httpmethod": "GET" }, "List applications": { "path": "definitions/applications", "response": { "items": { "id": "application", "$ref": "application" }, "example": [ { "display_name": "Facebook", "type": 1, "description": "Facebook is a social networking service.", "id": 206 }, { "display_name": "Google", "type": 1, "description": "Internet searching on Google's search engine site google.com (or international equivalent) and/or encrypted traffic from other Google services.", "id": 259 } ], "type": "array", "description": "List of application definitions", "id": "applications" }, "description": "Get the list of configured applications", "httpmethod": "GET" }, "Update layer 4 mappings configuration": { "path": "definitions/layer4_mappings", "request": { "items": { "id": "layer4_mapping", "$ref": "layer4_mapping" }, "example": [ { "override": true, "priority": 0, "hosts": [ "192.168.140.18" ], "name": "My_server", "ports": [ { "port_range": "99", "protocol": "TCP" }, { "port_range": "15", "protocol": "TCP" } ] }, { "override": false, "priority": 1, "hosts": [ "192.168.141.1" ], "name": "My_server2", "ports": [ { "port_range": "1000", "protocol": "UDP" }, { "port_range": "1001", "protocol": "UDP" } ] } ], "type": "array", "description": "List of layer4 mapping definitions", "id": "layer4_mappings" }, "description": "Update the list of configured layer 4 mappings", "httpmethod": "PUT" }, "List custom applications": { "path": "definitions/custom_applications", "response": { "items": { "id": "application", "$ref": "custom_application" }, "example": [ { "name": "My_Bugzilla", "uri": "http://bugzilla.mydomain.com/" }, { "name": "My_App1", "uri": "http://myserver.mydomain.com/app1/*" } ], "type": "array", "description": "List of custom L7 signature definitions", "id": "applications" }, "description": "Get the list of configured custom applications", "httpmethod": "GET" }, "List port names": { "path": "definitions/port_names", "response": { "items": { "id": "port_name", "$ref": "port_name" }, "example": [ { "udp": "http", "port": 80, "tcp": "http" }, { "udp": "ms-sql-s", "port": 1433, "tcp": "ms-sql-s" } ], "type": "array", "description": "List of port name definitions", "id": "port_names" }, "description": "Get the list of configured port names", "httpmethod": "GET" } } }, "filesystem": { "methods": { "Delete timeskew estimate": { "path": "fs/{file_id}/fs/timeskew_estimate", "description": "Delete time skew estimate results for multisegment file {file_id}.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "DELETE" }, "Move file or directory": { "path": "fs/{file_id}/move", "request": { "id": "move", "properties": { "destination": { "required": true, "type": "string", "description": "Resource's destination id" } }, "type": "object", "description": "Contains the resource's destination id for a move operation", "example": { "destination": "/admin/new-dir/http.cap" } }, "description": "Request move of file or directory resource {file_id}", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "POST" }, "Get file checksum": { "path": "fs/{file_id}/checksum", "response": { "id": "checksum", "properties": { "method": { "required": true, "type": "string", "description": "Checksum algorithm", "enum": [ "SHA256" ] }, "value": { "required": true, "type": "string", "description": "Trace file's checksum" } }, "type": "object", "description": "Contains info about a checksum calculated on a trace file", "example": { "method": "SHA256", "value": "db8afb5138e5dcea93092ebcb8d20ab855e68b086d6541d68a942914e2a74372" } }, "description": "Obtain a checksum for a trace file.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "GET" }, "Create file or directory": { "description": "Create trace file, merged file, multisegment file, or directory on the Shark. The file path is specified in the 'Content-Disposition' HTTP header and the file type to be created is specified using the 'Content-Type' HTTP header.", "parameters": { "directory_id": { "required": true, "type": "string", "description": "The directory in which the file or directory is to be created" } }, "httpmethod": "POST", "headers": { "Content-Type": { "notes": "Values: application/x-vnd.tcpdump, x-shark-directory, application/json, or text/xml", "required": true, "type": "string", "description": "The type of object to be created" }, "Content-Disposition": { "required": true, "type": "string", "description": "The name of the file or directory to be created" } }, "path": "fs/{directory_id}", "altrequests": [ { "header": "Content-Type: application/x-vnd.tcpdump", "request": { "type": "data", "description": "file contents", "content_type": "application/x-vnd.tcpdump" }, "description": "Create trace file" }, { "header": "Content-Type: x-shark-directory", "description": "Create directory" }, { "header": "Content-Type: application/json or text/xml", "request": { "id": "aggregated", "properties": { "linked_sources": { "items": { "type": "object", "id": "linked_source", "properties": { "path": { "required": true, "type": "string", "description": "Linked source path. It could be either an absolute path (fs/ID) or a relative path starting from the aggregated file folder." }, "timeskew": { "required": false, "type": "number", "description": "It is the packets timestamps offset associated with the linked source" }, "description": { "required": false, "type": "string", "description": "A simple description field associated with the linked source" }, "default_source": { "required": false, "type": "boolean", "description": "The default source is the reference source in a multisegment file collection and it is used as reference for the time skew calculation" } } }, "required": true, "type": "array", "description": "Linked sources details list" }, "type": { "required": true, "type": "string", "description": "File type", "enum": [ "MULTISEGMENT_FILE", "MERGED_FILE" ] } }, "type": "object", "description": "Contains info about a new multisegment or merged file", "example": { "linked_sources": [ { "path": "../2-router1-in.pcap", "description": "This source uses a relative path", "default_source": true }, { "path": "fs/admin/4-router2-in.pcap", "description": "This source uses an absolute path", "timeskew": 100000000 }, { "path": "6-router3-in.pcap", "description": "This source uses a file name" } ], "type": "MULTISEGMENT_FILE" } }, "description": "Create merged or multisegment file" } ] }, "Delete file": { "path": "fs/{file_id}", "description": "Delete file {file_id}. NOTE: If a file to be deleted is open for any reason, the delete operation will fail.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "DELETE" }, "List directory": { "path": "fs/{directory_id}", "response": { "$ref": "dir" }, "description": "Get information on directory {directory_id}.", "parameters": { "details": { "required": false, "type": "string", "description": "'true' for details on all files, 'false' otherwise." }, "recursive": { "required": false, "type": "string", "description": "'true' for recursive directory listing, 'false' otherwise." }, "directory_id": { "required": true, "type": "string", "description": "Directory path" } }, "httpmethod": "GET" }, "Get file index info": { "path": "fs/{file_id}/index", "response": { "$ref": "index_info" }, "description": "Get index information for trace file {file_id}.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "GET" }, "Modify merged or multisegment file": { "path": "fs/{file_id}", "request": { "id": "aggregated", "properties": { "linked_sources": { "items": { "type": "object", "id": "linked_source", "properties": { "path": { "required": true, "type": "string", "description": "Linked source path. It could be either an absolute path (fs/ID) or a relative path starting from the aggregated file folder." }, "timeskew": { "required": false, "type": "number", "description": "It is the packets timestamps offset associated with the linked source" }, "description": { "required": false, "type": "string", "description": "A simple description field associated with the linked source" }, "default_source": { "required": false, "type": "boolean", "description": "The default source is the reference source in a multisegment file collection and it is used as reference for the time skew calculation" } } }, "required": true, "type": "array", "description": "Linked sources details list" }, "type": { "required": true, "type": "string", "description": "File type", "enum": [ "MULTISEGMENT_FILE", "MERGED_FILE" ] } }, "type": "object", "description": "Contains info about a new multisegment or merged file", "example": { "linked_sources": [ { "path": "../2-router1-in.pcap", "description": "This source uses a relative path", "default_source": true }, { "path": "fs/admin/4-router2-in.pcap", "description": "This source uses an absolute path", "timeskew": 100000000 }, { "path": "6-router3-in.pcap", "description": "This source uses a file name" } ], "type": "MULTISEGMENT_FILE" } }, "description": "Modify merged file or multisegment file {file_id} on the Shark.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "PUT" }, "Download file contents": { "path": "fs/{file_id}/download", "response": { "type": "data", "content_type": "application/x-vnd.tcpdump or application/xml" }, "description": "Download contents of trace file, merged file, or multisegment file {file_id}.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "GET" }, "List root directory": { "path": "fs", "response": { "items": { "id": "dir", "$ref": "dir" }, "example": [ { "files": [ { "created": 1347053478, "modified": 1347053478, "type": "PCAPNG_FILE", "id": "/admin/http-ng.pcapng", "link_type": "DLT_EN10MB", "size": 149952 }, { "created": 1343026049, "modified": 1343026050, "type": "PCAP_FILE", "id": "/admin/prova.cap", "link_type": "DLT_EN10MB", "size": 145919 } ], "dirs": [ { "files": [ { "created": 1342768036, "modified": 1342768037, "type": "PCAP_FILE", "id": "/admin/multisegment/2-router1-in.pcap", "link_type": "DLT_EN10MB", "size": 16246 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/4-router2-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/6-router3-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768079, "linked_sources": [ { "path": "2-router1-in.pcap" }, { "path": "4-router2-in.pcap" }, { "path": "6-router3-in.pcap" } ], "modified": 1348764826, "type": "MERGED_FILE", "id": "/admin/multisegment/merged.pvt", "link_type": "DLT_EN10MB", "size": 243 }, { "created": 1342768084, "linked_sources": [ { "path": "2-router1-in.pcap", "default_source": true }, { "path": "4-router2-in.pcap" }, { "path": "fs/admin/multisegment/6-router3-in.pcap" } ], "modified": 1348764826, "type": "MULTISEGMENT_FILE", "id": "/admin/multisegment/multisegment.pvt", "link_type": "DLT_EN10MB", "size": 264 } ], "dirs": [], "description": "This is a multi-segment file", "created": 1342767955, "modified": 1343077906, "id": "/admin/multisegment" }, { "files": [ { "created": 1342645581, "modified": 1342646988, "type": "PCAP_FILE", "id": "/admin/new-dir/http.cap", "link_type": "DLT_EN10MB", "size": 147456 } ], "dirs": [], "description": "This is a custom folder", "created": 1348764627, "modified": 1348764743, "id": "/admin/new-dir" } ], "description": "My Files", "created": 1341252038, "modified": 1348764743, "id": "/admin" }, { "files": [], "dirs": [], "description": "normaluser Home Folder", "created": 1341252038, "modified": 1341252038, "id": "/normaluser" }, { "files": [], "dirs": [], "description": "Files Shared with Administrators", "created": 1341252871, "modified": 1341252871, "id": "/Administrators" }, { "files": [], "dirs": [], "description": "Files Shared with NormalUsers", "created": 1341252871, "modified": 1341252871, "id": "/NormalUsers" }, { "files": [], "dirs": [], "description": "Files Shared with Viewers", "created": 1341252871, "modified": 1341252871, "id": "/Viewers" } ], "type": "array", "description": "List of directories", "id": "fs" }, "description": "Get the contents of the root filesystem directory", "httpmethod": "GET" }, "Create file index": { "path": "fs/{file_id}/index", "description": "Create index for trace file {file_id}", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "POST" }, "Delete file index": { "path": "fs/{file_id}/index", "description": "Delete index for trace file {file_id}.", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "DELETE" }, "Delete directory": { "path": "fs/{directory_id}", "description": "Delete user directory {directory_id}. If the directory is not empty, all files in the directory will be deleted as well. NOTE: If a file to be deleted is open for any reason, the delete operation will fail.", "parameters": { "directory_id": { "required": true, "type": "string", "description": "Directory path" } }, "httpmethod": "DELETE" }, "Get timeskew estimate results": { "path": "fs/{file_id}/timeskew_estimate", "response": { "id": "timeskew_estimate", "properties": { "status": { "properties": { "first_invalid_timestamp": { "required": false, "description": "First timestamp causing the TIMESTAMP_WARNING code", "$ref": "timestamp-hp" }, "state": { "required": true, "type": "string", "enum": [ "EMPTY", "COMPUTING", "NO_PACKETS", "UNIDIRECTIONAL", "TIMESTAMP_WARNING", "DUPLICATE_WARNING", "OK" ] }, "duplicated_count": { "required": false, "type": "number", "description": "Number of packets with the same timestamp in different capture points. Check this field in order to estimate if this is a real issue or not: if the number of packets experiencing this problem is high probably at least two files contain the same packets, otherwise it means that for some packets the timeskew observed makes the delay becomes zero (timeskew = delay for that packet)." }, "invalid_source_index": { "required": false, "type": "number", "description": "Index of the file causing the TIMESTAMP_WARNING code" } }, "required": true, "type": "object", "description": "Status information for the time skew estimate", "id": "status" }, "results": { "items": { "properties": { "timeskew": { "required": true, "type": "number", "description": "Estimated time skew compared to the default source" }, "source_index": { "required": true, "type": "number", "description": "Index of the linked source" } }, "type": "object", "id": "result", "description": "Time skew information for a linked source" }, "required": false, "type": "array", "description": "List of linked sources" } }, "type": "object", "description": "Time skew estimate information", "example": { "status": { "state": "OK" }, "results": [ { "timeskew": 0, "source_index": 1 }, { "timeskew": -1000000, "source_index": 2 }, { "timeskew": 30654891, "source_index": 3 } ] } }, "description": "Time skew information for multisegment file {file_id}", "parameters": { "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "GET" }, "Create timeskew estimate": { "path": "fs/{file_id}/fs/timeskew_estimate", "description": "Start a timeskew estimation process for multisegment file {file_id}.", "parameters": { "packet_count": { "required": false, "type": "number", "description": "Maximum number of packets to process" }, "file_id": { "required": true, "type": "string", "description": "File path" } }, "httpmethod": "PUT" }, "Get file info": { "path": "fs/{file_id}", "response": { "$ref": "file" }, "description": "Get descriptive information for file or directory {file_id}", "parameters": { "file_id": { "required": true, "type": "string", "description": "File or directory path" } }, "httpmethod": "GET" } } }, "licenses": { "methods": { "Get license detail": { "path": "settings/licenses/{license_key}", "response": { "id": "license", "properties": { "status": { "required": true, "type": "string", "description": "Status of this license", "enum": [ "INVALID", "VALID", "VALID_SOON", "FUTURE", "EXPIRES_SOON", "EXPIRED", "SUPERSEDED", "UNKNOWN" ] }, "valid_from": { "required": true, "type": "timestamp", "description": "Date/time (seconds from epoch) at which this license becomes valid (0 if always valid)" }, "valid_to": { "required": true, "type": "timestamp", "description": "Date/time (seconds from epoch) at which this license expires (0 if always valid)" }, "feature_name": { "required": true, "type": "string", "description": "Feature covered by this license" }, "key": { "required": true, "type": "string", "description": "License key for this license" }, "is_platform": { "required": true, "type": "boolean", "description": "'true' if this is a platform license" }, "feature_description": { "required": true, "type": "string", "description": "Description of feature covered by this license" } }, "type": "object", "description": "Information for a Shark license", "example": { "status": "VALID", "valid_from": "no_limit", "valid_to": "no_limit", "feature_name": "VLAB", "key": "LK1-VLAB-0000-0000-1-2644-76FE-6436", "is_platform": false, "feature_description": "VLAB License, Max Limits" } }, "description": "Get information on license {license_key}.", "httpmethod": "GET" }, "Delete license": { "path": "settings/licenses/{license_key}", "description": "Delete license {license_key}.", "httpmethod": "DELETE" }, "Add licenses": { "path": "settings/licenses", "response": { "items": { "description": "Description of a new license added to the system", "type": "object", "id": "license", "properties": { "url": { "required": true, "type": "string", "description": "Resource URI for the new license key" }, "status": { "required": true, "type": "string", "description": "Status of the new license", "enum": [ "INVALID", "VALID", "VALID_SOON", "FUTURE", "EXPIRES_SOON", "EXPIRED", "SUPERSEDED", "UNKNOWN" ] }, "key": { "required": true, "type": "string", "description": "New license key added to the system" } } }, "example": [ { "status": "VALID", "url": "/api/shark/4.0/settings/licenses/LK1-VLAB-0000-0000-1-2644-76FE-6436.json", "key": "LK1-FEAT1-0000-0000-1-2644-76FE-6436" } ], "type": "array", "description": "List of new licenses added to the system", "id": "licenses" }, "request": { "items": { "type": "string", "id": "license" }, "example": [ "LK1-FEAT1-0000-0000-1-2644-76FE-6436" ], "type": "array", "description": "List of license keys to add to the system", "id": "licenses" }, "description": "Add a set of licenses to the system.", "httpmethod": "POST" }, "List licenses": { "path": "settings/licenses", "response": { "items": { "type": "object", "properties": { "status": { "required": true, "type": "string", "description": "Status of this license", "enum": [ "INVALID", "VALID", "VALID_SOON", "FUTURE", "EXPIRES_SOON", "EXPIRED", "SUPERSEDED", "UNKNOWN" ] }, "valid_from": { "required": true, "type": "timestamp", "description": "Date/time (seconds from epoch) at which this license becomes valid (0 if always valid)" }, "valid_to": { "required": true, "type": "timestamp", "description": "Date/time (seconds from epoch) at which this license expires (0 if always valid)" }, "feature_name": { "required": true, "type": "string", "description": "Feature covered by this license" }, "key": { "required": true, "type": "string", "description": "License key for this license" }, "is_platform": { "required": true, "type": "boolean", "description": "'true' if this is a platform license" }, "feature_description": { "required": true, "type": "string", "description": "Description of feature covered by this license" } }, "example": { "status": "VALID", "valid_from": "no_limit", "valid_to": "no_limit", "feature_name": "VLAB", "key": "LK1-VLAB-0000-0000-1-2644-76FE-6436", "is_platform": false, "feature_description": "VLAB License, Max Limits" }, "id": "license", "description": "Information for a Shark license" }, "example": [ { "status": "VALID", "valid_from": "no_limit", "valid_to": "no_limit", "feature_name": "VLAB", "key": "LK1-FEAT1-0000-0000-1-2644-76FE-6436", "is_platform": false, "feature_description": "FEAT1 License, Max Limits" } ], "type": "array", "description": "List of licenses currently in system", "id": "licenses" }, "description": "Get the list of licenses on the system.", "httpmethod": "GET" }, "Generate license request key": { "path": "settings/licenses/request", "response": { "properties": { "license_req": { "required": true, "type": "string", "description": "License request string (to be submitted to Riverbed customer support)" } }, "type": "object", "example": { "license_req": "shark.localdom-C1239NVM-GUGQSGVL-FLHVVEQM-CQLHS1FF-FPYU9U5L-417PUN6K-9WGPHV0A-JPKS8KG6" }, "id": "license_request" }, "request": { "id": "license_token", "properties": { "token": { "required": true, "type": "string", "description": "License request token (obtained from Riverbed customer support)" } }, "type": "object", "description": "Submit a new license request", "example": { "token": "SHKDSK50-67A9DA741BE548DA151FA1F3" } }, "description": "Request license request code.", "httpmethod": "POST" }, "Get license status": { "path": "settings/licenses/status", "response": { "id": "license_status", "properties": { "num_profilers": { "required": true, "type": "number", "description": "Number of profilers supported for export" }, "packet_storage_size": { "required": true, "type": "number", "description": "Packet storage capacity (GB)" }, "enterprise_pilot_level": { "required": true, "type": "number", "description": "Enterprise Pilot level" }, "application_status": { "required": true, "type": "string", "description": "License status for this Shark VE", "enum": [ "LICENSED_PHYSICAL", "LICENSED", "UNLICENSED", "STATUS_CHANGED", "UNKNOWN" ] }, "profiler_export_capacity": { "required": true, "type": "number", "description": "Export capacity (MBPS) for profiler export" } }, "type": "object", "description": "License status information for this Shark VE", "example": { "application_status": "LICENSED", "num_profilers": 2, "profiler_export_capacity": 200, "packet_storage_size": 50, "enterprise_pilot_level": 0 } }, "description": "Get current licensing status of this Shark VE.", "httpmethod": "GET" } } }, "stats": { "methods": { "Get profiler export stats": { "path": "stats/profiler_export", "response": { "id": "profiler_export_stats", "properties": { "last_minute": { "required": true, "type": "object", "description": "Statistics on the data exported in the last minute", "properties": { "exported": { "required": true, "type": "object", "description": "Values sent to the profiler/s in the last minute", "properties": { "ip_bytes": { "required": true, "type": "number", "description": "Cumulative number of IP bytes (IP header included) for the exported flows" }, "packets": { "required": true, "type": "number", "description": "Cumulative number of packets for the exported flows" }, "flows": { "required": true, "type": "number", "description": "Number of exported flows" } } }, "rejected": { "required": true, "type": "object", "description": "Values analyzed but not sent to the profiler/s in the last minute", "properties": { "ip_bytes": { "required": true, "type": "number", "description": "Cumulative number of IP bytes (IP header included) for the rejected flows" }, "packets": { "required": true, "type": "number", "description": "Cumulative number of packets for the rejected flows" }, "flows": { "required": true, "type": "number", "description": "Number of rejected flows" } } } } }, "last_week": { "required": true, "type": "object", "description": "Statistics on the data exported in the last week", "properties": { "exported": { "required": true, "type": "object", "description": "Values sent to the profiler/s in the last week", "properties": { "ip_bytes": { "required": true, "type": "number", "description": "Cumulative number of IP bytes (IP header included) for the exported flows" }, "packets": { "required": true, "type": "number", "description": "Cumulative number of packets for the exported flows" }, "average_flows": { "required": true, "type": "number", "description": "Average number of flows exported in the last week" }, "flows": { "required": true, "type": "number", "description": "Number of exported flows" }, "peak_flows": { "required": true, "type": "number", "description": "Max number of flows exported in a minute in the last week" } } }, "rejected": { "required": true, "type": "object", "description": "Values analyzed but not sent to the profiler/s in the last week", "properties": { "ip_bytes": { "required": true, "type": "number", "description": "Cumulative number of IP bytes (IP header included) for the rejected flows" }, "packets": { "required": true, "type": "number", "description": "Cumulative number of packets for the rejected flows" }, "average_flows": { "required": true, "type": "number", "description": "Average number of flows rejected in the last week" }, "flows": { "required": true, "type": "number", "description": "Number of rejected flows" }, "peak_flows": { "required": true, "type": "number", "description": "Max number of flows rejected in a minute in the last week" } } } } } }, "type": "object", "description": "Statistics on the Profiler Export", "example": { "last_minute": { "exported": { "ip_bytes": 7945576960, "packets": 31037410, "flows": 973309 }, "rejected": { "ip_bytes": 0, "packets": 0, "flows": 0 } }, "last_week": { "exported": { "ip_bytes": 6491276748032, "packets": 25356549797, "flows": 795175093, "average_flows": 78886, "peak_flows": 1000000 }, "rejected": { "ip_bytes": 13589455872, "packets": 53083812, "flows": 1664668, "average_flows": 165, "peak_flows": 600000 } } } }, "description": "Get profiler export information", "httpmethod": "GET" }, "Get memory stats": { "path": "stats/memory", "response": { "properties": { "status": { "required": true, "type": "string", "description": "Memory usage status", "enum": [ "OK", "WARNING", "CRITICAL", "CONFIGURATION_ERROR" ] }, "available": { "required": true, "type": "number", "description": "Memory available for use" }, "used": { "required": true, "type": "number", "description": "Memory used by the system" }, "reserved": { "notes": "Typically reserved by the packet recorder", "required": true, "type": "number", "description": "Reserved memory" }, "by_category": { "items": { "description": "Memory usage for a single category", "type": "object", "id": "category", "properties": { "bytes": { "required": true, "type": "number", "description": "Allocated bytes for this category" }, "name": { "required": true, "type": "string", "description": "Category name" }, "allocations": { "required": true, "type": "number", "description": "Number of memory allocation operations for this category" } } }, "required": true, "type": "array", "description": "List of memory usage for each category" }, "by_handle": { "items": { "description": "Memory usage for a single handle", "type": "object", "id": "handle", "properties": { "by_category": { "items": { "description": "Memory usage for a single category", "type": "object", "id": "category", "properties": { "bytes": { "required": true, "type": "number", "description": "Allocated bytes for this category" }, "name": { "required": true, "type": "string", "description": "Category name" }, "allocations": { "required": true, "type": "number", "description": "Number of memory allocation operations for this category" } } }, "required": true, "type": "array", "description": "List of memory usage in each category for the given handle" }, "name": { "required": true, "type": "string", "description": "Handle name" } } }, "required": true, "type": "array", "description": "List of memory usage for each handle (i.e. view, etc.)" }, "total": { "required": true, "type": "number", "description": "Total memory on the system" } }, "type": "object", "example": { "status": "OK", "available": 4658311920, "used": 1603742992, "reserved": 1407188992, "by_category": [ { "bytes": 153696, "name": "DATAMATRIX", "allocations": 12 }, { "bytes": 264, "name": "DBTABLE", "allocations": 5 }, { "bytes": 41946816, "name": "DEMUXER", "allocations": 10 }, { "bytes": 181560, "name": "DNS_RESOLVER", "allocations": 9 }, { "bytes": 196554000, "name": "GLOBAL", "allocations": 75053 }, { "bytes": 153808, "name": "IP_FRAGMENTATION", "allocations": 6 }, { "bytes": 1120, "name": "MEMORY_REPOSITORY", "allocations": 2 }, { "bytes": 23581312, "name": "NETFLOW", "allocations": 75006 }, { "bytes": 130535424, "name": "PACKET", "allocations": 3 } ], "by_handle": [ { "by_category": [ { "bytes": 88680, "name": "DATAMATRIX", "allocations": 7 }, { "bytes": 264, "name": "DBTABLE", "allocations": 5 }, { "bytes": 165848, "name": "GLOBAL", "allocations": 15 }, { "bytes": 76904, "name": "IP_FRAGMENTATION", "allocations": 3 } ], "name": "00000001" }, { "by_category": [ { "bytes": 65016, "name": "DATAMATRIX", "allocations": 5 }, { "bytes": 141920, "name": "GLOBAL", "allocations": 8 }, { "bytes": 76904, "name": "IP_FRAGMENTATION", "allocations": 3 } ], "name": "FFFFFF01" } ], "total": 6262054912 }, "id": "memory" }, "description": "Get system memory information", "httpmethod": "GET" }, "Get storage stats": { "path": "stats/storage", "response": { "properties": { "packet_storage": { "required": true, "type": "object", "description": "Packet storage statistics", "properties": { "status": { "required": true, "type": "string", "description": "Packet storage status", "enum": [ "OK", "DISK_FULL", "CORRUPTED", "HW_FAILURE", "UNLICENSED", "LICENSE_EXCEEDED", "UNKNOWN" ] }, "used": { "required": true, "type": "number", "description": "Packet storage space currently being used" }, "reserved": { "required": true, "type": "number", "description": "Packet storage reserved size" }, "unused": { "required": true, "type": "number", "description": "Allocated but not yet used packet storage space" }, "unallocated": { "required": true, "type": "number", "description": "Unallocated packet storage size" }, "allocated": { "required": true, "type": "number", "description": "Allocated packet storage size" }, "total": { "required": true, "type": "number", "description": "Total packet storage size" } } }, "os_storage": { "required": true, "type": "object", "description": "System storage statistics", "properties": { "status": { "required": true, "type": "string", "description": "System storage status", "enum": [ "OK", "WARNING", "CRITICAL", "UNKNOWN" ] }, "index_storage": { "required": true, "type": "object", "description": "Index storage status", "properties": { "unused": { "required": true, "type": "number", "description": "Unused index storage space" }, "allocated": { "required": true, "type": "number", "description": "Allocated index storage space by all the existing jobs" }, "total": { "required": true, "type": "number", "description": "Total index storage size (unallocated + allocated)" }, "used": { "required": true, "type": "number", "description": "Used index storage space" }, "unallocated": { "required": true, "type": "number", "description": "Available index storage space" } } }, "disk_storage": { "required": true, "type": "object", "description": "System disk status", "properties": { "unused": { "required": true, "type": "number", "description": "System disk storage not being used" }, "total": { "required": true, "type": "number", "description": "Total system disk storage size" }, "used": { "required": true, "type": "number", "description": "System disk storage currently being used" } } } } } }, "type": "object", "example": { "packet_storage": { "status": "OK", "used": 0, "reserved": 0, "unused": 0, "unallocated": 3999688294400, "allocated": 0, "total": 3999688294400 }, "os_storage": { "status": "OK", "index_storage": { "unused": 0, "allocated": 0, "total": 457108365312, "used": 0, "unallocated": 457108365312 }, "disk_storage": { "unused": 457108365312, "total": 457360449536, "used": 252084224 } } }, "id": "storage" }, "description": "Get system storage information", "httpmethod": "GET" } } }, "settings": { "methods": { "Update firewall settings": { "path": "settings/firewall", "request": { "id": "firewall_settings", "properties": { "rules": { "items": { "type": "object", "id": "rule", "properties": { "action": { "required": true, "type": "string", "description": "Rule action, what the firewall should do with the packet when it matches the rule", "enum": [ "ACCEPT", "DROP", "LOG_ACCEPT", "LOG_DROP" ] }, "source": { "required": false, "type": "string", "description": "Rule IPV4 source address. It can contain a netmasks specified as CIDR format or as IPV4 address." }, "protocol": { "required": false, "type": "string", "description": "Rule protocol", "enum": [ "TCP", "UDP", "ICMP", "ALL" ] }, "description": { "required": false, "type": "string", "description": "Rule description" }, "dest_port": { "required": false, "type": "number", "description": "Rule destination port" } } }, "required": true, "type": "array", "description": "Rules list" }, "firewall_enabled": { "required": true, "type": "boolean", "description": "Enables or disable the firewall" }, "default_policy": { "required": true, "type": "string", "description": "Firewall default policy", "enum": [ "ACCEPT", "DROP" ] } }, "type": "object", "description": "Firewall configuration", "example": { "rules": [ { "action": "ACCEPT", "source": "10.0.0.1", "protocol": "TCP", "description": "Allow HTTPS for all the hosts", "dest_port": 65535 }, { "action": "ACCEPT", "protocol": "TCP", "description": "Allow SSH for all the hosts", "dest_port": 22 }, { "action": "ACCEPT", "protocol": "ICMP", "description": "Allow ICMP for all the hosts" } ], "firewall_enabled": true, "default_policy": "DROP" } }, "description": "Update firewall settings.", "httpmethod": "PUT" }, "Get snmp settings": { "path": "settings/snmp", "response": { "$ref": "snmp_settings" }, "description": "Get SNMP settings.", "httpmethod": "GET" }, "Update profiler export settings": { "path": "settings/profiler_export", "request": { "$ref": "profilerexport_settings" }, "description": "Update profiler export settings.", "httpmethod": "PUT" }, "Get profiler export settings": { "path": "settings/profiler_export", "response": { "$ref": "profilerexport_settings" }, "description": "Get profiler export settings.", "httpmethod": "GET" }, "Update authentication settings": { "path": "settings/auth", "request": { "$ref": "auth_settings" }, "description": "Update authentication settings.", "httpmethod": "PUT" }, "Update basic settings": { "path": "settings/basic", "request": { "$ref": "basic_settings" }, "description": "Update basic settings.", "httpmethod": "PUT" }, "Get authentication settings": { "path": "settings/auth", "response": { "$ref": "auth_settings" }, "description": "Get authentication settings.", "httpmethod": "GET" }, "Update cors domains": { "path": "settings/cors_domains", "request": { "items": { "type": "string", "id": "domain" }, "example": [ "http://example_domain1.com", "http://example_domain2.com" ], "type": "array", "description": "List of CORS (Cross-Origin Resource Sharing) domains", "id": "cors_domains" }, "description": "Update the list of domains enabled for Cross Origin Resource Sharing.", "httpmethod": "PUT" }, "Get basic settings": { "path": "settings/basic", "response": { "$ref": "basic_settings" }, "description": "Get basic settings.", "httpmethod": "GET" }, "Update snmp settings": { "path": "settings/snmp", "request": { "$ref": "snmp_settings" }, "description": "Update SNMP settings.", "httpmethod": "PUT" }, "Get firewall settings": { "path": "settings/firewall", "response": { "id": "firewall_settings", "properties": { "rules": { "items": { "type": "object", "id": "rule", "properties": { "action": { "required": true, "type": "string", "description": "Rule action, what the firewall should do with the packet when it matches the rule", "enum": [ "ACCEPT", "DROP", "LOG_ACCEPT", "LOG_DROP" ] }, "source": { "required": false, "type": "string", "description": "Rule IPV4 source address. It can contain a netmasks specified as CIDR format or as IPV4 address." }, "protocol": { "required": false, "type": "string", "description": "Rule protocol", "enum": [ "TCP", "UDP", "ICMP", "ALL" ] }, "description": { "required": false, "type": "string", "description": "Rule description" }, "dest_port": { "required": false, "type": "number", "description": "Rule destination port" } } }, "required": true, "type": "array", "description": "Rules list" }, "firewall_enabled": { "required": true, "type": "boolean", "description": "Enables or disable the firewall" }, "default_policy": { "required": true, "type": "string", "description": "Firewall default policy", "enum": [ "ACCEPT", "DROP" ] } }, "type": "object", "description": "Firewall configuration", "example": { "rules": [ { "action": "ACCEPT", "source": "10.0.0.1", "protocol": "TCP", "description": "Allow HTTPS for all the hosts", "dest_port": 65535 }, { "action": "ACCEPT", "protocol": "TCP", "description": "Allow SSH for all the hosts", "dest_port": 22 }, { "action": "ACCEPT", "protocol": "ICMP", "description": "Allow ICMP for all the hosts" } ], "firewall_enabled": true, "default_policy": "DROP" } }, "description": "Get firewall settings.", "httpmethod": "GET" }, "List cors domains": { "path": "settings/cors_domains", "response": { "items": { "type": "string", "id": "domain" }, "example": [ "http://example_domain1.com", "http://example_domain2.com" ], "type": "array", "description": "List of CORS (Cross-Origin Resource Sharing) domains", "id": "cors_domains" }, "description": "Get the list of domains enabled for Cross Origin Resource Sharing.", "httpmethod": "GET" }, "Update audit settings": { "path": "settings/audit", "request": { "$ref": "audit_settings" }, "description": "Update audit settings.", "httpmethod": "PUT" }, "Get notification settings": { "path": "settings/notification", "response": { "$ref": "notification_settings" }, "description": "Management daemon configuration parameters.", "httpmethod": "GET" }, "Get audit settings": { "path": "settings/audit", "response": { "$ref": "audit_settings" }, "description": "Get audit settings.", "httpmethod": "GET" }, "Update notification settings": { "path": "settings/notification", "request": { "$ref": "notification_settings" }, "description": "Update management daemon configuration parameters.", "httpmethod": "PUT" } } } }, "schemas": { "snmp_settings": { "id": "snmp_settings", "properties": { "username": { "required": false, "type": "string", "description": "(Required for V3) SNMP user name" }, "version": { "required": true, "type": "string", "description": "SNMP version", "enum": [ "V1", "V2C", "V3" ] }, "privacy": { "required": false, "type": "object", "description": "(Required with SNMP privacy) SNMP privacy information", "properties": { "protocol": { "required": true, "type": "string", "description": "Privacy protocol", "enum": [ "DES", "AES" ] }, "passphrase": { "required": true, "type": "string", "description": "Privacy passphrase (must be at least 8 characters long)" } } }, "enabled": { "required": true, "type": "boolean", "description": "'true' if SNMP is enabled, 'false' otherwise" }, "community": { "required": false, "type": "string", "description": "(Required for V1 and V2C) SNMP community string" }, "authentication": { "required": false, "type": "object", "description": "(Required with SNMP authentication) SNMP authentication information", "properties": { "protocol": { "required": true, "type": "string", "description": "Authentication protocol", "enum": [ "MD5", "SHA" ] }, "passphrase": { "required": true, "type": "string", "description": "Authentication passphrase (must be at least 8 characters long)" } } }, "contact": { "required": false, "type": "string", "description": "(Optional) SNMP contact string" }, "location": { "required": false, "type": "string", "description": "(Optional) SNMP location string" }, "security_level": { "required": false, "type": "string", "description": "(Required for V3) SNMP security level", "enum": [ "NO_AUTH_NO_PRIVACY", "AUTH_NO_PRIVACY", "AUTH_PRIVACY" ] }, "description": { "required": false, "type": "string", "description": "(Optional) SNMP description string" } }, "type": "object", "description": "SNMP configuration for this Shark", "example": { "username": "admin", "description": "shark", "enabled": true, "contact": "admin@foo.com", "authentication": { "protocol": "SHA", "passphrase": "passphrase123" }, "version": "V3", "location": "6th Floor West", "security_level": "AUTH_NO_PRIVACY" } }, "port_group": { "properties": { "priority": { "required": false, "type": "number", "description": "Port group priority: smaller values have higher priority" }, "name": { "required": false, "type": "string", "description": "Port group name" }, "ports": { "items": { "type": "object", "id": "port_range", "properties": { "port_range": { "required": true, "type": "string", "description": "Port range definition: portA[-portB]" }, "protocol": { "required": true, "type": "string", "enum": [ "TCP", "UDP" ] } } }, "required": true, "type": "array", "description": "List of port range definitions for this group" } }, "type": "object", "example": { "priority": 0, "name": "Web", "ports": [ { "port_range": "80", "protocol": "TCP" }, { "port_range": "8080", "protocol": "TCP" }, { "port_range": "443", "protocol": "TCP" } ] }, "id": "port_group" }, "audit_settings": { "id": "audit_settings", "properties": { "audit_categories": { "items": { "properties": { "min_remote_server_level": { "required": true, "type": "string", "description": "Audit levels for each audit category", "enum": [ "INFO", "ERROR", "DISABLED" ] }, "audit_type": { "required": true, "type": "string", "description": "Audit categories", "enum": [ "AUTHENTICATION", "CAPTURE_JOBS", "CRYPTOGRAPHY", "COMMUNICATIONS", "FILE_OPERATIONS", "LICENSING", "SETTINGS", "SYSTEM_OPERATIONS", "USER_MANAGEMENT", "VIEWS", "WATCHES" ] }, "min_syslog_level": { "required": true, "type": "string", "description": "Audit levels for each audit category", "enum": [ "INFO", "ERROR", "DISABLED" ] }, "name": { "required": true, "type": "string", "description": "Audit category name" }, "description": { "required": true, "type": "string", "description": "Description of events captured by this audit category" } }, "type": "object", "id": "audit_category", "description": "Information for each audit category" }, "required": true, "type": "array", "description": "List of audit categories", "id": "audit_categories" } }, "type": "object", "description": "Audit system settings", "example": { "audit_categories": [ { "min_remote_server_level": "DISABLED", "audit_type": "AUTHENTICATION", "description": "Audits login attempts.", "name": "AUTHENTICATION", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "CAPTURE_JOBS", "description": "Audits capture jobs.", "name": "CAPTURE JOBS", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "CRYPTOGRAPHY", "description": "Audits cryptographic functions.", "name": "CRYPTOGRAPHY", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "COMMUNICATIONS", "description": "Audits HTTPS requests.", "name": "COMMUNICATIONS", "min_syslog_level": "DISABLED" }, { "min_remote_server_level": "DISABLED", "audit_type": "FILE_OPERATIONS", "description": "Audits file operations.", "name": "FILE OPERATIONS", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "LICENSING", "description": "Audits license operations.", "name": "LICENSING", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "SETTINGS", "description": "Audits modification to settings.", "name": "SETTINGS", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "SYSTEM_OPERATIONS", "description": "Audits system operations.", "name": "SYSTEM OPERATIONS", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "USER_MANAGEMENT", "description": "Audits users and groups setting.", "name": "USER MANAGEMENT", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "VIEWS", "description": "Audits view operations.", "name": "VIEWS", "min_syslog_level": "INFO" }, { "min_remote_server_level": "DISABLED", "audit_type": "WATCHES", "description": "Audits watch operations.", "name": "WATCHES", "min_syslog_level": "INFO" } ] } }, "export_status": { "properties": { "owner": { "required": true, "type": "string", "description": "User who initiated the export" }, "creation_time": { "required": true, "description": "Time at which the export was created", "$ref": "timestamp-hp" }, "state": { "required": true, "type": "string", "description": "State of the export", "enum": [ "UNINITIALIZED", "LOADED", "PARAMS_LOADED", "INITIALIZED", "READY", "RUNNING", "ERRORS", "DONE", "CLOSING", "PAUSED" ] }, "bytes_approx": { "required": false, "type": "number", "description": "For exports from a job, approximate number of bytes in the export" } }, "type": "object", "example": { "owner": "admin", "bytes_approx": 855784, "state": "RUNNING", "creation_time": 1364334117658433000 }, "id": "export_status" }, "export": { "id": "export", "properties": { "status": { "required": true, "description": "Status of this export", "$ref": "export_status" }, "config": { "required": true, "description": "Configuration of this export", "$ref": "export_config" }, "id": { "required": true, "type": "string", "description": "ID of export" } }, "type": "object", "description": "Information about an export", "example": { "status": { "owner": "admin", "bytes_approx": 855784, "state": "RUNNING", "creation_time": 1364334117658433000 }, "config": { "output_format": "PCAP_US", "start_time": 1364230933, "end_time": 1364317200 }, "id": "000193E1" } }, "file": { "id": "file", "properties": { "index": { "required": false, "description": "Index info", "$ref": "index_info" }, "created": { "required": false, "type": "timestamp", "description": "Creation time in Unix time format" }, "linked_sources": { "items": { "type": "object", "id": "linked_source", "properties": { "path": { "required": true, "type": "string", "description": "Linked source path. It could be either an absolute path (fs/ID) or a relative path starting from the aggregated file folder." }, "timeskew": { "required": false, "type": "number", "description": "It is the packets timestamps offset associated with the linked source" }, "description": { "required": false, "type": "string", "description": "A simple description field associated with the linked source" }, "default_source": { "required": false, "type": "boolean", "description": "The default source is the reference source in a multisegment file collection and it is used as reference for the time skew calculation" } } }, "required": false, "type": "array", "description": "Linked sources details list" }, "format": { "required": false, "type": "string", "description": "File time format", "enum": [ "PCAP_US", "PCAP_NS", "PCAPNG_US", "PCAPNG_NS", "UNKNOWN" ] }, "modified": { "required": false, "type": "timestamp", "description": "Modification time in Unix time format" }, "type": { "required": true, "type": "string", "description": "File type", "enum": [ "MULTISEGMENT_FILE", "MERGED_FILE", "PCAP_FILE", "PCAPNG_FILE", "ERF_FILE", "UNKNOWN_FILE" ] }, "id": { "required": true, "type": "string", "description": "File id" }, "link_type": { "required": false, "type": "string", "description": "Link layer type" }, "size": { "required": false, "type": "number", "description": "File size in bytes" } }, "type": "object", "description": "File's details", "example": { "created": 1342768079, "linked_sources": [ { "path": "2-router1-in.pcap" }, { "path": "4-router2-in.pcap" }, { "path": "6-router3-in.pcap" } ], "modified": 1348764826, "type": "MERGED_FILE", "id": "/admin/multisegment/merged.pvt", "link_type": "DLT_EN10MB", "size": 243 } }, "job_config": { "id": "job_config", "properties": { "bpf_filter": { "required": false, "type": "string", "description": "BPF filter applied to this capture job" }, "packet_retention": { "required": true, "type": "object", "description": "Packet retention info for a job", "properties": { "packet_limit": { "required": false, "type": "number", "description": "Max number of packets to be retained" }, "size_limit": { "required": true, "type": "number", "description": "Max bytes of packet data to be retained" }, "time_limit": { "required": false, "type": "number", "description": "Time period for which packet data will be retained" } } }, "name": { "required": true, "type": "string", "description": "Job name" }, "start_immediately": { "default": "true", "required": false, "type": "boolean", "description": "'true' if job is to start immediately upon creation, 'false' otherwise" }, "requested_start_time": { "required": false, "type": "timestamp", "description": "Specific time at which job is to start" }, "stop_rule": { "required": false, "type": "object", "description": "Stop rule for a job", "properties": { "packet_limit": { "required": false, "type": "number", "description": "Max number of packets" }, "size_limit": { "required": false, "type": "number", "description": "Max bytes of packet data" }, "time_limit": { "required": false, "type": "number", "description": "Max time in seconds" } } }, "indexing": { "required": false, "type": "object", "description": "Job index configuration", "properties": { "synced": { "required": false, "type": "boolean", "description": "'true' if index is synced with packet storage" }, "size_limit": { "required": false, "type": "number", "description": "Max number of bytes for this index" }, "dpi_enabled": { "required": false, "type": "boolean", "description": "'true' if dpi taggging is enabled" }, "time_limit": { "required": false, "type": "number", "description": "Max time this index can exist" } } }, "interface_description": { "required": false, "type": "string", "description": "Description of interface on which job is collecting packet data" }, "requested_end_time": { "required": false, "type": "timestamp", "description": "Specific time at which job is to end" }, "snap_length": { "default": "65535", "required": false, "type": "number", "description": "Packet snap length for this capture job" }, "interface_name": { "required": true, "type": "string", "description": "Name of interface on which job is collecting packet data" } }, "type": "object", "description": "Configuration information for a job", "example": { "snap_length": 65535, "interface_name": "mon0", "packet_retention": { "size_limit": 5368709120 }, "name": "New Job 1", "interface_description": "mon0" } }, "job_status": { "id": "job_status", "properties": { "state": { "required": true, "type": "string", "description": "Running state of a capture job", "enum": [ "ACTIVE", "RUNNING", "STOPPED", "UNKNOWN" ] }, "packet_size": { "required": true, "type": "number", "description": "Size of this job in packet storage" }, "packet_start_time": { "required": true, "description": "First packet timestamp for this job", "$ref": "timestamp-hp" }, "packet_end_time": { "required": true, "description": "Last packet timestamp for this job", "$ref": "timestamp-hp" } }, "type": "object", "description": "Status information for a job", "example": { "packet_end_time": 1345512749000000000, "state": "STOPPED", "packet_start_time": 1344456875000000000, "packet_size": 44781772 } }, "clip_status": { "id": "clip_status", "properties": { "estimated_size": { "required": false, "type": "number", "description": "Estimated size for this clip in packet storage" }, "modification_time": { "required": false, "type": "timestamp", "description": "Clip last modified time" }, "creation_time": { "required": false, "type": "timestamp", "description": "Clip creation time" }, "locked": { "required": true, "type": "boolean", "description": "'true' if packets and the index for this clip are locked, 'false' otherwise" } }, "type": "object", "description": "Status information for a clip", "example": { "estimated_size": 268435456, "modification_time": 1345830535, "creation_time": 1345830425, "locked": true } }, "application": { "example": { "display_name": "Facebook", "type": 1, "description": "Facebook is a social networking service.", "id": 206 }, "type": "object", "id": "application", "properties": { "type": { "required": true, "type": "number", "description": "Application type, it can be either '1' for system applications or '2' for custom applications" }, "display_name": { "required": true, "type": "string", "description": "Application name" }, "description": { "required": false, "type": "string", "description": "Application description" }, "id": { "required": true, "type": "number", "description": "Application unique identifier" } } }, "index_info": { "id": "index_info", "properties": { "status": { "required": true, "type": "string", "description": "Running state of an index", "enum": [ "OK", "RUNNING", "ERROR" ] }, "start_time": { "required": true, "description": "First packet timestamp for this index", "$ref": "timestamp-hp" }, "end_time": { "required": true, "description": "Last packet timestamp for this index", "$ref": "timestamp-hp" } }, "type": "object", "description": "Information for one index", "example": { "status": "OK", "start_time": 1345830425000000000, "end_time": 1345830435000000000 } }, "profilerexport_settings": { "id": "profilerexport_settings", "properties": { "profilers": { "items": { "description": "Description of a single profiler", "type": "object", "id": "profiler", "properties": { "status": { "properties": { "state": { "required": true, "type": "string", "description": "Connection state of a profiler", "enum": [ "OK", "ERROR", "DISABLED" ] }, "cause": { "required": false, "type": "string", "description": "In case of connection error this field contains the cause" } }, "required": false, "type": "object", "description": "Information on a profiler connection", "id": "status" }, "sync": { "required": false, "type": "object", "properties": { "sync_port_groups": { "required": true, "type": "boolean" }, "sync_layer4_mappings": { "required": true, "type": "boolean" }, "sync_custom_applications": { "required": true, "type": "boolean" }, "sync_port_names": { "required": true, "type": "boolean" } } }, "address": { "required": true, "type": "string", "description": "Address of a profiler, either IP or full qualified name" } } }, "required": true, "type": "array", "description": "List of profilers" }, "enabled": { "required": true, "type": "boolean", "description": "Enable/disable the Profiler Export" }, "adapter_ports": { "items": { "description": "Description of a single physical capture port", "type": "object", "id": "adapter_port", "properties": { "bpf_filter": { "required": false, "type": "string", "description": "BPF filter applied on the traffic captured on the capture port" }, "voip_enabled": { "required": true, "type": "boolean", "description": "Enable/disable the export of VoIP metrics to profiler" }, "name": { "required": true, "type": "string", "description": "Name of the capture port, unique on the appliance" }, "dpi_enabled": { "required": false, "type": "boolean", "description": "Enable/disable the export of Application tags to profiler" }, "enabled": { "required": true, "type": "boolean", "description": "Enable/disable the export on the capture port" }, "description": { "required": false, "type": "string", "description": "Description of the capture port" } } }, "required": true, "type": "array", "description": "List of the capture physical ports installed on the appliance" }, "valid_license": { "required": false, "type": "boolean" } }, "type": "object", "description": "Configuration of the Profiler Export", "example": { "valid_license": true, "enabled": true, "adapter_ports": [ { "enabled": true, "voip_enabled": true, "name": "tc0", "description": "TurboCap 1Gb device no.0" }, { "enabled": true, "bpf_filter": "tcp", "voip_enabled": false, "name": "tc1", "description": "TurboCap 1Gb device no.1" } ], "profilers": [ { "status": { "state": "ERROR", "cause": "Host not found: myprofiler.mydomain.com" }, "address": "myprofiler.mydomain.com" }, { "status": { "state": "OK" }, "address": "myprofiler1.mydomain.com" } ] } }, "clip_config": { "id": "clip_config", "properties": { "job_id": { "required": false, "type": "string", "description": "Job ID on which the clip is applied" }, "filters": { "items": { "properties": { "type": { "required": true, "type": "string", "description": "Clip configuration filter type", "enum": [ "TIME", "SHARK", "BPF", "WIRESHARK_DISPLAY" ] }, "description": { "required": false, "type": "string", "description": "Description of this filter" }, "value": { "required": true, "type": "string", "description": "Value of this filter" } }, "type": "object", "id": "filters", "description": "Configuration for a clip filter" }, "required": false, "type": "array", "description": "List of clip filters", "id": "filters" }, "description": { "required": false, "type": "string", "description": "Description of this clip configuration" } }, "type": "object", "description": "Configuration of a clip", "example": { "job_id": "000000A3", "filters": [ { "type": "TIME", "description": "This is a time filter.", "value": "1345830425000000000, 1345830435000000000" }, { "type": "BPF", "value": "port 80" } ], "description": "This is a clip on job 000000A3" } }, "custom_application": { "example": { "name": "My_Bugzilla", "uri": "http://bugzilla.mydomain.com/" }, "type": "object", "id": "custom_application", "properties": { "name": { "required": true, "type": "string", "description": "Custom L7 signature name" }, "uri": { "required": true, "type": "string", "description": "Custom L7 signature URI rule" } } }, "job_index_info": { "properties": { "status": { "required": true, "type": "string", "description": "Running state of an index", "enum": [ "OK", "RUNNING", "ERROR" ] }, "start_time": { "required": true, "description": "Start time of the index", "$ref": "timestamp-hp" }, "end_time": { "required": true, "description": "End time of the index", "$ref": "timestamp-hp" }, "synced_with_job": { "required": false, "type": "boolean" }, "size": { "required": false, "type": "number", "description": "Size of index on the OS file system" } }, "type": "object", "example": { "status": "RUNNING", "start_time": 1354054943377117000, "end_time": 1354657734848519000, "synced_with_job": false, "size": 3065578 }, "id": "job_index_info" }, "notification_settings": { "id": "notification_settings", "properties": { "mail": { "properties": { "smtp_server_port": { "required": false, "type": "number", "description": "SMTP server port (defaults to 25)" }, "smtp_server_address": { "required": true, "type": "string", "description": "SMTP server IP address" }, "to_address": { "required": true, "type": "string", "description": "SMTP 'to' address" }, "from_address": { "required": true, "type": "string", "description": "SMTP 'from' address" } }, "required": false, "type": "object", "description": "SMTP settings for email notifications", "id": "smtp_config" }, "trap": { "required": false, "type": "object", "description": "Trap notification settings", "properties": { "receivers": { "items": { "description": "SNMP trap receiver configuration", "type": "object", "id": "trap", "properties": { "username": { "required": false, "type": "string", "description": "(Required for V3) SNMP user name" }, "engine_id": { "required": false, "type": "string", "description": "(Required for V3) Unique ID associated with the trap receiver" }, "address": { "required": true, "type": "string", "description": "Receiver address (hostname or IP address)" }, "community": { "required": false, "type": "string", "description": "(Required for V1 and V2C) SNMP community string" }, "privacy": { "required": false, "type": "object", "description": "(Required with SNMP privacy) SNMP privacy information", "properties": { "protocol": { "required": true, "type": "string", "description": "Privacy protocol", "enum": [ "DES", "AES" ] }, "passphrase": { "required": true, "type": "string", "description": "Privacy passphrase (must be at least 8 characters long)" } } }, "authentication": { "required": false, "type": "object", "description": "(Required with SNMP authentication) SNMP authentication information", "properties": { "protocol": { "required": true, "type": "string", "description": "Authentication protocol", "enum": [ "MD5", "SHA" ] }, "passphrase": { "required": true, "type": "string", "description": "Authentication passphrase (must be at least 8 characters long)" } } }, "version": { "required": true, "type": "string", "description": "SNMP version", "enum": [ "V1", "V2C", "V3" ] }, "security_level": { "required": false, "type": "string", "description": "(Required for V3) SNMP security level", "enum": [ "NO_AUTH_NO_PRIVACY", "AUTH_NO_PRIVACY", "AUTH_PRIVACY" ] } } }, "required": true, "type": "array", "description": "A list of trap receivers" } } }, "notifier": { "properties": { "notifications": { "items": { "properties": { "enabled": { "required": true, "type": "boolean", "description": "'true' if notification is enabled, 'false' otherwise" }, "id": { "required": true, "type": "string", "description": "Unique ID for the notification (assigned by the system)" }, "description": { "required": false, "type": "string", "description": "(Optional) Description for the notification" } }, "type": "object", "id": "notification", "description": "A single notification descriptor" }, "required": true, "type": "array", "description": "A list of notification descriptors", "id": "notifications" }, "enabled": { "required": true, "type": "boolean", "description": "'true' if SMTP notifications are enabled, 'false' otherwise" }, "trap_notification_enabled": { "required": false, "type": "boolean", "description": "'true' if trap notifications are enabled, 'false' otherwise" } }, "required": true, "type": "object", "description": "Notification settings", "id": "notifier_config" } }, "type": "object", "description": "Configuration for email notifications", "example": { "mail": { "smtp_server_port": 25, "to_address": "admin@foo.com", "smtp_server_address": "smtp.foo.com", "from_address": "shark@foo.com" }, "trap": { "receivers": [ { "version": "V1", "community": "public", "address": "1.2.3.4" }, { "version": "V1", "community": "public", "address": "1.2.3.5" } ] }, "notifier": { "notifications": [ { "enabled": true, "id": "m_clock_monitor.time_shift", "description": "Notify every time the system clock is modified" }, { "enabled": true, "id": "m_link_state_monitor.link_up_down", "description": "Notify when link up/down state changes" }, { "enabled": true, "id": "m_reboot_monitor.reboot", "description": "Notify every time this Shark appliance is rebooted" }, { "enabled": true, "id": "m_sa_events.job_change", "description": "Notify whenever there is job status change" }, { "enabled": true, "id": "m_sa_events.disk_pressure", "description": "Notify whenever there is disk pressure event" }, { "enabled": true, "id": "m_sa_events.memory_pressure", "description": "Notify whenever there is memory pressure event" }, { "enabled": true, "id": "m_sa_events.watch_events", "description": "Notify whenever there is watch event" }, { "enabled": true, "id": "m_sa_events.view_killed_events", "description": "Notify whenever there is a view killed" }, { "enabled": true, "id": "m_storage_monitor.bad_storage", "description": "Notify whenever there is a change in the packet storage status" } ], "enabled": true, "trap_notification_enabled": true } } }, "watch": { "id": "watch", "properties": { "info": { "required": true, "type": "object", "description": "Watch info section", "properties": { "group": { "required": false, "type": "string", "description": "Watch group. Can be used to organize the watches." }, "name": { "required": true, "type": "string", "description": "Watch human-friendly name" }, "description": { "required": false, "type": "string", "description": "Watch human-friendly description" } } }, "conversation_dimensions": { "items": { "items": { "type": "string", "id": "field_name" }, "type": "array", "id": "conversation_group" }, "required": false, "type": "array", "description": "This is used when the watch is supposed to treat two dimensions as if they are part of a single connection. For example, the source and destination ip addresses of a conversation ring. The watch will detect a connection and include the traffic coming from both the senders in a single value to check." }, "severity": { "default": "5", "required": false, "type": "number", "description": "Severity, specified as an integer number with with syslog convention" }, "triggers": { "items": { "type": "object", "id": "trigger", "properties": { "duration_info": { "required": false, "type": "object", "description": "Information about the amount of time the value crosses the threshold before the event is triggered. If this field is not present, the server event will be triggered after the first sampling interval in which the value is beyond the threshold. The duration must be a multiple of the view sampling time, otherwise the server will return an error.", "properties": { "duration_ms": { "required": true, "type": "number", "description": "The duration time, in milliseconds. This must be a multiple of the view sampling time." }, "duration_type": { "required": true, "type": "string", "description": "Type of duration", "enum": [ "NOT_INITIALIZED", "MORE_THAN", "EQUALS" ] } } }, "uid": { "required": true, "type": "string", "description": "The unique identifier of the event" }, "dimension_restrictions": { "required": false, "description": "The list of dimension restrictions", "$ref": "dimension_restrictions" }, "repetition_info": { "required": false, "type": "object", "description": "Information about how many times the treshold needs to be crossed in order for the event to become signaled", "properties": { "number_of_times": { "required": true, "type": "number", "description": "How many times the treshold needs to be crossed in order for the event to become signaled" } } }, "condition_operator": { "required": true, "type": "string", "description": "The boolean operation to apply: \"And\" or \"Or\"", "enum": [ "NOT_INITIALIZED", "AND", "OR" ] }, "bool_operator": { "required": true, "type": "string", "description": "The boolean operation to apply: \"And\" or \"Or\"", "enum": [ "NOT_INITIALIZED", "AND", "OR" ] }, "conditions": { "items": { "type": "object", "id": "condition", "properties": { "field": { "required": true, "type": "string", "description": "The numeric (or non-numeric) value that will be checked against the threshold. Non numeric values can be checked with the Equal, NotEqual and Exists operators. NOTE: the field name refers to the database column name (e.g. c2 or c5) (the base number is 1)." }, "condition_info": { "required": true, "type": "object", "description": "Generic information about this threshold", "properties": { "aggregation_type": { "required": true, "type": "string", "description": "The type of threshold value", "enum": [ "VALUE", "PERCENTAGE", "SUMVALUE", "SUMPERCENTAGE", "COUNT" ] }, "check_type": { "required": true, "type": "string", "description": "The type of check to perform", "enum": [ "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL", "INSIDE_RANGE", "OUTSIDE_RANGE", "EXISTS", "TOPN_CHANGED" ] }, "value": { "required": false, "type": "string", "description": "The threshold value" }, "second_value": { "required": false, "type": "string", "description": "Second threshold value, when supported (e.g. Inside/Outside range)." } } } } }, "required": true, "type": "array", "description": "The list of conditions that will have to be validated in order for the event to be satisfied. If multiple conditions are present, the event is satisfied according to the operation value." } } }, "required": true, "type": "array", "description": "List of the events that are watched. An event is something like \"bandwdth bigger than 1000\" or \"packets for host 1.2.3.4 smaller than 10 for more than a minute\"." }, "watch_uid": { "required": true, "type": "string", "description": "Watch Id" }, "enabled": { "required": true, "type": "boolean", "description": "True if enabled" }, "validity": { "required": false, "type": "object", "description": "Timing information for the watch. It specifies when the watch must be considered valid and keep under control.", "properties": { "to": { "required": true, "type": "object", "description": "Watch validity end time. If not specified, End time will be used.", "properties": { "value_type": { "required": true, "type": "string", "description": "Validity type", "enum": [ "DEFAULT", "NOT_SPECIFIED", "START", "END", "RELATIVE", "ABSOLUTE" ] }, "value_us": { "required": true, "type": "number", "description": "Validity value, can be expressed as the absolute timestamp or relative time span depending on the type" } } }, "from": { "required": true, "type": "object", "description": "Watch validity start time. If not specified, Start time will be used.", "properties": { "value_type": { "required": true, "type": "string", "description": "Validity type", "enum": [ "DEFAULT", "NOT_SPECIFIED", "START", "END", "RELATIVE", "ABSOLUTE" ] }, "value_us": { "required": true, "type": "number", "description": "Validity value, can be expressed as the absolute timestamp or relative time span depending on the type" } } } } }, "actions": { "required": true, "type": "object", "description": "The actions to be performed when one or more events are signaled. Action examples are: start dumping to disk, create a report, start a view, etc.", "properties": { "actions": { "items": { "type": "object", "id": "action", "properties": { "type": { "required": true, "type": "string", "description": "The type of action. This must correspond to the name of a Shark Probe's action plugin." }, "uid": { "required": true, "type": "string", "description": "Action Id" }, "parameters": { "items": { "type": "object", "id": "parameter", "properties": { "name": { "required": true, "type": "string", "description": "Parameter name" }, "value": { "required": true, "type": "string", "description": "Parameter value" }, "custom": { "required": false, "type": "boolean", "description": "True if it is a custom parameter" } } }, "required": true, "type": "array", "description": "Parameter list" }, "side": { "required": true, "type": "string", "description": "Who is in charge of performing the action, either server or client", "enum": [ "CLIENT", "SERVER" ] } } }, "required": true, "type": "array", "description": "Action list" }, "fired_triggers": { "required": true, "type": "object", "description": "The list of events that need to be signaled AT THE SAME TIME in order for the watch actions to run", "properties": { "bool_operator": { "required": true, "type": "string", "description": "The boolean operation to apply: \"And\" or \"Or\"", "enum": [ "NOT_INITIALIZED", "AND", "OR" ] }, "triggering_mode": { "required": true, "type": "string", "description": "The condition that will cause a line to be considered true", "enum": [ "ONESHOT", "LEADINGEDGE", "CONTINUOUS", "TRAILINGEDGE", "LEADING_AND_TRAILING_EDGE" ] }, "triggers": { "items": { "type": "string", "id": "trigger_uid" }, "required": true, "type": "array", "description": "The List of unique ids of the events that need to be signaled" } } } } }, "timing": { "required": true, "type": "object", "description": "Information about the window that is considered by the watch during every check", "properties": { "sampling_ms": { "required": false, "type": "number", "description": "" }, "time_analysis_mode": { "notes": "If SAMPLE_BY_SAMPLE, checks every sample and applies the conditions to it (stripchart style). If AGGREGATED, aggregates per interval_ms to calculate the value for the conditions (barchart style).", "required": false, "type": "string", "description": "Specification of the type of analysis for the data samples", "enum": [ "SAMPLE_BY_SAMPLE", "AGGREGATED" ] }, "from": { "notes": "This is the time window that the watch must consider during every check.", "required": false, "type": "string", "description": "The time interval that the watch will cover", "enum": [ "NOT_INITIALIZED", "NOW", "BEGINNING_OF_VIEW", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR" ] }, "interval_ms": { "required": false, "type": "number", "description": "The time interval that the watch will cover. This is the time window that the watch must consider during every check." } } }, "output_uid": { "required": true, "type": "string", "description": "Output Id that the watch refers to" } }, "type": "object", "description": "Watch configuration", "example": { "info": { "name": "Watch 1" }, "severity": 6, "triggers": [ { "condition_operator": "AND", "conditions": [ { "field": "c2", "condition_info": { "aggregation_type": "VALUE", "value": "0", "check_type": "GREATER" } } ], "bool_operator": "OR", "dimension_restrictions": { "sub_restrictions": [], "restrictions": [ { "field": "c1", "value": "Web" } ], "bool_operator": "OR" }, "uid": "Trigger 1" } ], "watch_uid": "watch_1", "enabled": true, "actions": { "fired_triggers": { "bool_operator": "AND", "triggering_mode": "LEADINGEDGE", "triggers": [ "Trigger 1" ] }, "actions": [ { "type": "InternalDBLog", "uid": "Action 1", "parameters": [], "side": "SERVER" } ] }, "timing": { "from": "NOW", "time_analysis_mode": "SAMPLE_BY_SAMPLE", "interval_ms": 1000 }, "output_uid": "OUID_Output_Over_Time" } }, "export_config": { "properties": { "stop_rule": { "required": false, "type": "object", "description": "Stop rule for a job", "properties": { "packet_limit": { "required": false, "type": "number", "description": "Max number of packets" }, "size_limit": { "required": false, "type": "number", "description": "Max bytes of packet data" }, "time_limit": { "required": false, "type": "number", "description": "Max time in seconds" } } }, "output_format": { "required": true, "type": "string", "description": "Output format (PCAP or PCAP-NG) and resolution of packet stream", "enum": [ "PCAP_US", "PCAP_NS", "PCAPNG_US", "PCAPNG_NS" ] }, "output_filename": { "required": false, "type": "string", "description": "If sending packets to file, the filename within the Shark file system" }, "end_time": { "required": false, "type": "timestamp", "description": "Time (seconds from epoch) at which export is to end" }, "filters": { "items": { "id": "filter", "$ref": "filter" }, "required": false, "type": "array", "description": "Collection of filters to apply to packets prior to export" }, "snap_length": { "default": "65535", "required": false, "type": "number", "description": "Packet snap length for this export" }, "start_time": { "required": false, "type": "timestamp", "description": "Time (seconds from epoch) at which export is to begin" } }, "type": "object", "example": { "output_format": "PCAP_US", "start_time": 1364230800, "end_time": 1364317200 }, "id": "export_config" }, "user": { "id": "user", "properties": { "is_locked": { "required": true, "type": "boolean", "description": "Indication if the user account is locked" }, "can_be_locked": { "required": true, "type": "boolean", "description": "Indication if the user account can be locked" }, "is_admin": { "required": true, "type": "boolean", "description": "Indication if the user is an administrator" }, "name": { "required": true, "type": "string", "description": "User name" }, "groups": { "items": { "type": "string", "id": "group" }, "required": true, "type": "array", "description": "List of groups of which the user is a member" } }, "type": "object", "description": "Information about a user account", "example": { "is_locked": false, "can_be_locked": false, "is_admin": true, "name": "admin", "groups": [ "Administrators" ] } }, "interface": { "id": "interface", "properties": { "interface_components": { "items": { "type": "string", "id": "component_interface" }, "required": true, "type": "array", "description": "For aggregating ports, list of physical ports making up the aggregation" }, "description": { "required": true, "type": "string", "description": "String describing this interface" }, "virtual_info": { "required": false, "type": "object", "description": "Information on a virtual interface (used internally by Shark)", "properties": { "file_name": { "required": true, "type": "string", "description": "File name corresponding to virtual interface" }, "job_handle": { "required": false, "type": "string", "description": "If virtual interface is a capture job, handle of the job" }, "device_name": { "required": true, "type": "string", "description": "Device name corresponding to virtual interface" } } }, "link": { "required": false, "type": "object", "description": "Information on a physical interface link", "properties": { "status": { "required": false, "type": "string", "description": "Indicates whether this link is up or down", "enum": [ "UP", "DOWN", "UNKNOWN" ] }, "tap_type": { "required": true, "type": "string", "description": "Tap type used on this link", "enum": [ "NONE", "CPACKET", "GIGAMON_HEADER", "GIGAMON_TRAILER", "GIGAMON_TRAILER_X12", "VSS", "VSS_PORT_ID", "ANUE", "ARISTA", "UNKNOWN" ] }, "stats": { "required": false, "type": "object", "description": "Low-level statistics on traffic over this interface", "properties": { "bytes_rx": { "required": true, "type": "number", "description": "Bytes received" }, "packets_rx": { "required": true, "type": "number", "description": "Packets received" } } }, "addresses": { "items": { "description": "Address information for a physical interface", "type": "object", "id": "link_address", "properties": { "broadcast": { "required": true, "type": "string", "description": "Broadcast address for this interface" }, "netmask": { "required": true, "type": "string", "description": "Netmask for this interface" }, "destination": { "required": false, "type": "string", "description": "Destination address for this interface" }, "family": { "required": true, "type": "string", "description": "Protocol family served by this interface" }, "address": { "required": true, "type": "string", "description": "IP address for this interface" } } }, "required": false, "type": "array", "description": "List of link addresses" }, "dedup_status": { "required": false, "type": "string", "description": "Indicates whether or not packet deduplication has been enabled for this link", "enum": [ "ENABLED", "DISABLED", "NOT_SUPPORTED" ] }, "speed_options": { "items": { "description": "Speed, duplex type, and status of a speed option", "type": "object", "id": "link_speed_option", "properties": { "status": { "required": false, "type": "string", "description": "Status of this link speed option for this interface", "enum": [ "SUPPORTED", "ENABLED", "NEGOTIATED" ] }, "speed_mbps": { "required": true, "type": "string", "description": "Throughput for this speed option", "enum": [ "MBPS_10", "MBPS_100", "MBPS_1000", "MBPS_10000" ] }, "duplex_type": { "required": true, "type": "string", "description": "Duplex type for this speed option", "enum": [ "HALF", "FULL", "UNKNOWN" ] } } }, "required": false, "type": "array", "description": "List of link speed options" }, "mac_address": { "required": true, "type": "string", "description": "MAC address of this link" }, "is_profiler_export_enabled": { "required": false, "type": "boolean", "description": "'true' if profiler export has been enabled for this link, 'false' otherwise" }, "blink_status": { "required": false, "type": "string", "description": "Indicates 'blink' status for this link", "enum": [ "ON", "OFF", "UNKNOWN" ] }, "type": { "required": true, "type": "string", "description": "Link layer type of this link", "enum": [ "NONE", "EN10MB", "RAW", "IEEE802_11", "IEEE802_11_RADIO", "PPI", "PPP_WITH_DIR", "LINUX_SLL", "C_HDLC", "UNKNOWN" ] } } }, "board": { "required": false, "type": "object", "description": "Information on a physical packet capture board", "properties": { "pass_thru": { "required": true, "type": "string", "description": "Enabled status of pass-thru mode (only supported on 1GB Copper TurboCap cards)", "enum": [ "ENABLED", "DISABLED", "NOT_SUPPORTED" ] }, "type": { "required": true, "type": "string", "description": "Type of this board", "enum": [ "1G_COPPER", "1G_FIBER", "10G_FIBER", "PCAP", "UNKNOWN" ] }, "name": { "required": true, "type": "string", "description": "Name of this board" } } }, "is_promiscuous_mode": { "required": false, "type": "boolean", "description": "'true' if interface is in promiscuous mode, 'false' otherwise" }, "type": { "required": true, "type": "string", "description": "Type of this interface", "enum": [ "TURBOCAP_ADAPTER", "PCAP_ADAPTER", "AIRPCAP_ADAPTER", "VIRTUAL", "BOARD_AGGREGATING", "AGGREGATING", "UNKNOWN" ] }, "id": { "required": true, "type": "string", "description": "ID of this interface" }, "name": { "required": true, "type": "string", "description": "Name of this interface" } }, "type": "object", "description": "Information on a Shark interface", "example": { "interface_components": [], "description": "TurboCap 1Gb device no.0", "link": { "status": "UP", "tap_type": "NONE", "stats": { "bytes_rx": 73479647, "packets_rx": 1007765 }, "dedup_status": "DISABLED", "speed_options": [ { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_10", "duplex_type": "HALF" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "FULL" }, { "status": "ENABLED", "speed_mbps": "MBPS_100", "duplex_type": "HALF" }, { "status": "NEGOTIATED", "speed_mbps": "MBPS_1000", "duplex_type": "FULL" } ], "mac_address": "00:e0:ed:1e:9d:1a", "blink_status": "OFF", "type": "EN10MB" }, "board": { "pass_thru": "DISABLED", "type": "1G_COPPER", "name": "TurboCap 1 Gigabit Ethernet Board (00:e0:ed:1e:9d:1a)" }, "is_promiscuous_mode": true, "type": "TURBOCAP_ADAPTER", "id": "tc0", "name": "tc0" } }, "group": { "id": "group", "properties": { "name": { "required": true, "type": "string", "description": "Group name" }, "capabilities": { "items": { "enum": [ "CAPABILITY_ADMINISTRATOR", "CAPABILITY_APPLY_VIEWS_ON_FILES", "CAPABILITY_APPLY_VIEWS_ON_INTERFACES", "CAPABILITY_SHARE_VIEWS", "CAPABILITY_CREATE_FILES", "CAPABILITY_IMPORT_FILES", "CAPABILITY_EXPORT_FILES", "CAPABILITY_CREATE_JOBS", "CAPABILITY_SCHEDULE_WATCHES", "CAPABILITY_ACCESS_PROBE_FILES" ], "type": "string", "id": "capability", "description": "Specifies the capabilities of the group" }, "required": true, "type": "array", "description": "Specifies the list of capabilities for the group" }, "description": { "required": true, "type": "string", "description": "Group description" } }, "type": "object", "description": "Definition of a user group", "example": { "name": "Administrators", "capabilities": [ "CAPABILITY_ADMINISTRATOR" ], "description": "Administrators" } }, "basic_settings": { "id": "basic_settings", "properties": { "ntp_config": { "required": true, "type": "object", "description": "Shark NTP Configuration", "properties": { "profiler_mode": { "required": true, "type": "boolean", "description": "'true' if Profiler acts as NTP server, 'false' otherwise" }, "servers": { "items": { "type": "string", "id": "server" }, "required": true, "type": "array", "description": "List of NTP Servers" } } }, "domain": { "required": true, "type": "string", "description": "Network domain" }, "primary_dns": { "required": true, "type": "string", "description": "Primary DNS server" }, "hostname": { "required": true, "type": "string", "description": "Shark host name" }, "fips_enabled": { "required": true, "type": "boolean", "description": "'true' if FIPS mode is enabled, 'false' otherwise" }, "mgmt_ports": { "items": { "description": "Shark management port configuration", "type": "object", "id": "port", "properties": { "enabled": { "required": false, "type": "boolean", "description": "'true' if enabled, 'false' if disabled" }, "netmask": { "required": true, "type": "string", "description": "Network mask for this interface (empty of DHCP is enabled)" }, "interface": { "required": true, "type": "string", "description": "Interface name" }, "dhcp": { "required": true, "type": "boolean", "description": "'true' if DHCP is enabled on this interface, 'false' otherwise" }, "ip_address": { "required": true, "type": "string", "description": "IPV4 address for this interface (empty if DHCP is enabled)" }, "gateway": { "required": true, "type": "string", "description": "Network gateway for this interface (empty if DHCP is enabled)" } } }, "required": true, "type": "array", "description": "List of management ports" }, "timezone": { "required": true, "type": "string", "description": "Time zone (from IANA Time Zone Database) of this Shark" }, "secondary_dns": { "required": false, "type": "string", "description": "Secondary DNS server" }, "ssh_enabled": { "required": true, "type": "boolean", "description": "'true' if SSH access to this shark is enabled, 'false' otherwise" } }, "type": "object", "description": "Basic Shark configuration options", "example": { "ntp_config": { "profiler_mode": false, "servers": [ "10.0.0.1", "10.0.0.2" ] }, "domain": "riverbed.com", "primary_dns": "10.1.0.1", "hostname": "shark", "fips_enabled": false, "mgmt_ports": [ { "enabled": true, "netmask": "", "interface": "eth0", "dhcp": true, "ip_address": "", "gateway": "" }, { "enabled": false, "netmask": "255.255.255.0", "interface": "eth1", "dhcp": false, "ip_address": "172.16.22.33", "gateway": "172.16.22.11" } ], "timezone": "America/Los_Angeles", "secondary_dns": "172.16.1.1", "ssh_enabled": true } }, "filter": { "example": { "type": "BPF", "description": "BPF filter on port 80", "value": "port 80" }, "type": "object", "id": "filter", "properties": { "type": { "required": true, "type": "string", "description": "Filter type", "enum": [ "TIME", "SHARK", "BPF", "WIRESHARK_DISPLAY", "DECRYPT", "STATE" ] }, "description": { "required": false, "type": "string", "description": "Description, if needed" }, "value": { "required": true, "type": "string", "description": "Filter value" } } }, "timestamp-hp": { "type": "timestamp-hp", "id": "timestamp-hp" }, "port_name": { "properties": { "udp": { "required": false, "type": "string", "description": "UDP port name for this port number" }, "port": { "required": false, "type": "number", "description": "Transport port number" }, "tcp": { "required": false, "type": "string", "description": "TCP port name for this port number" } }, "type": "object", "example": { "udp": "http", "port": 80, "tcp": "http" }, "id": "port_name" }, "auth_settings": { "id": "auth_settings", "properties": { "local_settings": { "properties": { "min_password_length": { "required": true, "type": "number", "description": "Minimum password length" }, "password_change_history": { "required": true, "type": "number", "description": "Number of previous user passwords stored in history" }, "min_password_special_character": { "required": true, "type": "number", "description": "Minimum number of special characters" }, "min_password_upper_letter": { "required": true, "type": "number", "description": "Minimum number of upper-case letters" }, "max_unsuccessful_login_attempts": { "required": true, "type": "number", "description": "Number of unsuccessful attempts before user is locked out" }, "min_password_lower_letter": { "required": true, "type": "number", "description": "Minimum number of lower-case letters" }, "max_password_lifetime_days": { "required": true, "type": "number", "description": "Number of days after which password expires" }, "min_password_numeric_character": { "required": true, "type": "number", "description": "Minimum number of numeric characters" } }, "required": true, "type": "object", "description": "Local authentication type parameters", "id": "local_settings" }, "radius_settings": { "properties": { "client_port": { "required": true, "type": "string", "description": "Client port" }, "servers": { "items": { "type": "object", "id": "server", "properties": { "shared_secret": { "required": true, "type": "string", "description": "Shared secret key" }, "port": { "required": true, "type": "number", "description": "Port number" }, "address": { "required": true, "type": "string", "description": "IP Address" } } }, "required": true, "type": "array", "description": "List of server mappings" }, "encryption_protocol": { "required": true, "type": "string", "description": "Encryption protocol", "enum": [ "PAP", "CHAP", "MSCHAP1", "MSCHAP2" ] }, "accounting_enabled": { "required": true, "type": "boolean", "description": "'true' to enable RADIUS accounting, 'false' otherwise" } }, "required": true, "type": "object", "description": "RADIUS authentication configuration", "id": "radius_settings" }, "tacacs_settings": { "properties": { "accounting_terminator": { "required": true, "type": "string", "description": "Accounting terminator" }, "accounting_enabled": { "required": true, "type": "boolean", "description": "'true' to enable TACACS+ accounting, 'false' otherwise" }, "accounting_value": { "required": true, "type": "string", "description": "Accounting value" }, "authorization_value": { "required": true, "type": "string", "description": "Authorization value" }, "servers": { "items": { "type": "object", "id": "server", "properties": { "shared_secret": { "required": true, "type": "string", "description": "Shared secret key" }, "port": { "required": true, "type": "number", "description": "Port number" }, "address": { "required": true, "type": "string", "description": "IP Address" } } }, "required": true, "type": "array", "description": "List of server mappings" }, "client_port": { "required": true, "type": "string", "description": "Client port" }, "authorization_response_attribute": { "required": true, "type": "string", "description": "Authorization response attribute. If set to '*', only the first attribute-value pair returned by the server will be considered during authorization." }, "authorization_attribute": { "required": true, "type": "string", "description": "Authorization attribute" }, "accounting_attribute": { "required": true, "type": "string", "description": "Acccounting attribute" } }, "required": true, "type": "object", "description": "TACACS+ authentication configuration", "id": "tacacs_settings" }, "auth_sequence": { "items": { "enum": [ "LOCAL", "TACACS", "RADIUS" ], "type": "string", "id": "auth_type", "description": "Authentication Mode" }, "required": true, "type": "array", "description": "List of authentication mechanisms used by Shark" }, "remote_auth_settings": { "properties": { "fallback_on_unavailable_only": { "required": true, "type": "boolean", "description": "'true' fallbacks to the next authentication mechanism if TACACS+ or RADIUS servers are unavailable, 'false' otherwise" }, "default_group": { "required": true, "type": "string", "description": "Default group used for remote authentication" } }, "required": false, "type": "object", "description": "Additional authentication parameter settings for TACACS+ and RADIUS servers", "id": "remote_auth_settings" }, "webui_settings": { "properties": { "login_banner": { "required": true, "type": "string", "description": "Login banner" }, "need_purpose": { "required": true, "type": "boolean", "description": "Enabled if the user should be prompted to specify a purpose during login" }, "session_duration": { "notes": "In minutes", "required": true, "type": "number", "description": "Session inactivity timeout" } }, "required": true, "type": "object", "description": "WebUI configuration settings for this Shark", "id": "webui_settings" } }, "type": "object", "description": "Authentication settings", "example": { "local_settings": { "min_password_length": 8, "password_change_history": 10, "min_password_special_character": 1, "min_password_upper_letter": 1, "max_unsuccessful_login_attempts": 3, "min_password_lower_letter": 1, "max_password_lifetime_days": 90, "min_password_numeric_character": 1 }, "radius_settings": { "client_port": "na", "accounting_enabled": false, "encryption_protocol": "PAP", "servers": [] }, "tacacs_settings": { "accounting_terminator": "2>&1", "accounting_enabled": true, "accounting_value": "cace", "authorization_value": "cace", "servers": [ { "address": "10.1.1.1", "port": 49, "shared_secret": "key" } ], "client_port": "ttyp6", "accounting_attribute": "task_id", "authorization_attribute": "service", "authorization_response_attribute": "*" }, "auth_sequence": [ "LOCAL", "TACACS" ], "remote_auth_settings": { "fallback_on_unavailable_only": true, "default_group": "Administrators" }, "webui_settings": { "login_banner": "Welcome to Shark.", "need_purpose": false, "session_duration": 60 } } }, "layer4_mapping": { "properties": { "override": { "required": false, "type": "boolean", "description": "If true this L4 mapping rule overrides the L7 applications" }, "priority": { "required": false, "type": "number", "description": "Layer4 mapping priority: smaller values have higher priority" }, "hosts": { "items": { "type": "string", "id": "host" }, "required": true, "type": "array", "description": "List of hosts: each host can be defined as 'address[/mask]'" }, "name": { "required": false, "type": "string", "description": "Layer4 mapping name" }, "ports": { "items": { "type": "object", "id": "port_range", "properties": { "port_range": { "required": true, "type": "string", "description": "Port range definition: portA[-portB]" }, "protocol": { "required": true, "type": "string", "enum": [ "TCP", "UDP" ] } } }, "required": true, "type": "array", "description": "List of port range definitions for this layer4 mapping" } }, "type": "object", "example": { "override": true, "priority": 0, "hosts": [ "192.168.140.18" ], "name": "My_server", "ports": [ { "port_range": "99", "protocol": "TCP" }, { "port_range": "15", "protocol": "TCP" } ] }, "id": "layer4_mapping" }, "dimension_restrictions": { "properties": { "sub_restrictions": { "items": { "id": "sub_restriction", "$ref": "dimension_restrictions" }, "required": true, "type": "array", "description": "Sub-restriction list" }, "restrictions": { "items": { "type": "object", "id": "restriction", "properties": { "field": { "notes": "Column numbering starts with 1 and the field must be a dimension", "required": true, "type": "string", "description": "The dimension field identified by the database column name (e.g. c2 or c5)" }, "value": { "required": true, "type": "string", "description": "The matching value" } } }, "required": true, "type": "array", "description": "Restriction list" }, "bool_operator": { "required": true, "type": "string", "description": "The boolean operation to apply: \"And\" or \"Or\"", "enum": [ "NOT_INITIALIZED", "AND", "OR" ] } }, "description": "Specification of dimension restrictions for a watch. Dimension restrictions can be used to narrow down what the watch checks, so that, for example, only some bars in a barchart are observed. If multiple restrictions are present in the list, the server ANDs them.", "type": "object", "id": "dimension_restrictions", "example": { "sub_restrictions": [], "restrictions": [ { "field": "c1", "value": "Web" }, { "field": "c1", "value": "DNS" } ], "bool_operator": "OR" } }, "dir": { "id": "dir", "properties": { "files": { "items": { "id": "file", "$ref": "file" }, "required": true, "type": "array", "description": "List of files" }, "dirs": { "description": "List of directories", "items": { "id": "dir", "$ref": "dir" }, "required": true, "id": "fs", "type": "array", "example": [ { "files": [ { "created": 1347053478, "modified": 1347053478, "type": "PCAPNG_FILE", "id": "/admin/http-ng.pcapng", "link_type": "DLT_EN10MB", "size": 149952 }, { "created": 1343026049, "modified": 1343026050, "type": "PCAP_FILE", "id": "/admin/prova.cap", "link_type": "DLT_EN10MB", "size": 145919 } ], "dirs": [ { "files": [ { "created": 1342768036, "modified": 1342768037, "type": "PCAP_FILE", "id": "/admin/multisegment/2-router1-in.pcap", "link_type": "DLT_EN10MB", "size": 16246 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/4-router2-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/6-router3-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768079, "linked_sources": [ { "path": "2-router1-in.pcap" }, { "path": "4-router2-in.pcap" }, { "path": "6-router3-in.pcap" } ], "modified": 1348764826, "type": "MERGED_FILE", "id": "/admin/multisegment/merged.pvt", "link_type": "DLT_EN10MB", "size": 243 }, { "created": 1342768084, "linked_sources": [ { "path": "2-router1-in.pcap", "default_source": true }, { "path": "4-router2-in.pcap" }, { "path": "fs/admin/multisegment/6-router3-in.pcap" } ], "modified": 1348764826, "type": "MULTISEGMENT_FILE", "id": "/admin/multisegment/multisegment.pvt", "link_type": "DLT_EN10MB", "size": 264 } ], "dirs": [], "description": "This is a multi-segment file", "created": 1342767955, "modified": 1343077906, "id": "/admin/multisegment" }, { "files": [ { "created": 1342645581, "modified": 1342646988, "type": "PCAP_FILE", "id": "/admin/new-dir/http.cap", "link_type": "DLT_EN10MB", "size": 147456 } ], "dirs": [], "description": "This is a custom folder", "created": 1348764627, "modified": 1348764743, "id": "/admin/new-dir" } ], "description": "My Files", "created": 1341252038, "modified": 1348764743, "id": "/admin" }, { "files": [], "dirs": [], "description": "normaluser Home Folder", "created": 1341252038, "modified": 1341252038, "id": "/normaluser" }, { "files": [], "dirs": [], "description": "Files Shared with Administrators", "created": 1341252871, "modified": 1341252871, "id": "/Administrators" }, { "files": [], "dirs": [], "description": "Files Shared with NormalUsers", "created": 1341252871, "modified": 1341252871, "id": "/NormalUsers" }, { "files": [], "dirs": [], "description": "Files Shared with Viewers", "created": 1341252871, "modified": 1341252871, "id": "/Viewers" } ] }, "description": { "required": false, "type": "string", "description": "Directory description. It is used when the directory has an alias name." }, "created": { "required": false, "type": "timestamp", "description": "Creation time in Unix time format" }, "modified": { "required": false, "type": "timestamp", "description": "Modification time in Unix time format" }, "id": { "required": true, "type": "string", "description": "Directory id" } }, "type": "object", "description": "Directory details", "example": { "files": [ { "created": 1347053478, "modified": 1347053478, "type": "PCAPNG_FILE", "id": "/admin/http-ng.pcapng", "link_type": "DLT_EN10MB", "size": 149952 }, { "created": 1343026049, "modified": 1343026050, "type": "PCAP_FILE", "id": "/admin/prova.cap", "link_type": "DLT_EN10MB", "size": 145919 } ], "dirs": [ { "files": [ { "created": 1342768036, "modified": 1342768037, "type": "PCAP_FILE", "id": "/admin/multisegment/2-router1-in.pcap", "link_type": "DLT_EN10MB", "size": 16246 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/4-router2-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768038, "modified": 1342768038, "type": "PCAP_FILE", "id": "/admin/multisegment/6-router3-in.pcap", "link_type": "DLT_EN10MB", "size": 15988 }, { "created": 1342768079, "linked_sources": [ { "path": "2-router1-in.pcap" }, { "path": "4-router2-in.pcap" }, { "path": "6-router3-in.pcap" } ], "modified": 1348764826, "type": "MERGED_FILE", "id": "/admin/multisegment/merged.pvt", "link_type": "DLT_EN10MB", "size": 243 }, { "created": 1342768084, "linked_sources": [ { "path": "2-router1-in.pcap", "default_source": true }, { "path": "4-router2-in.pcap" }, { "path": "fs/admin/multisegment/6-router3-in.pcap" } ], "modified": 1348764826, "type": "MULTISEGMENT_FILE", "id": "/admin/multisegment/multisegment.pvt", "link_type": "DLT_EN10MB", "size": 264 } ], "dirs": [], "description": "This is a multi-segment file", "created": 1342767955, "modified": 1343077906, "id": "/admin/multisegment" }, { "files": [ { "created": 1342645581, "modified": 1342646988, "type": "PCAP_FILE", "id": "/admin/new-dir/http.cap", "link_type": "DLT_EN10MB", "size": 147456 } ], "dirs": [], "description": "This is a custom folder", "created": 1348764627, "modified": 1348764743, "id": "/admin/new-dir" } ], "description": "My Files", "created": 1341252038, "modified": 1348764743, "id": "/admin" } }, "view": { "properties": { "info": { "required": false, "type": "object", "description": "View information section", "properties": { "description": { "required": false, "type": "string", "description": "View description" }, "title": { "required": false, "type": "string", "description": "View title" } } }, "processors": { "minItems": 1, "items": { "description": "Processor configuration", "type": "object", "id": "processor", "properties": { "keys": { "items": { "type": "object", "id": "key", "properties": { "default_value": { "required": false, "type": "string", "description": "Default value, if needed" }, "field": { "required": true, "type": "string", "description": "Field name according to the Shark syntax" }, "id": { "required": true, "type": "string", "description": "Alias that can be given to the field, used as identifier in the output configuration" } } }, "required": true, "type": "array", "description": "List of fields that will act as keys in this configuration" }, "metrics": { "items": { "type": "object", "id": "metric", "properties": { "default_value": { "required": false, "type": "string", "description": "Default value, if needed" }, "field": { "required": true, "type": "string", "description": "Field name according to the Shark syntax" }, "operation": { "required": true, "type": "string", "description": "Calculation type", "enum": [ "NONE", "SUM", "MAX", "MIN", "AVG", "TIME_AVG" ] }, "id": { "required": true, "type": "string", "description": "Alias that can be given to the field, used as identifier in the output configuration" } } }, "required": true, "type": "array", "description": "List of fields that will act as metrics in this configuration" }, "id": { "required": true, "type": "string", "description": "Processor Id" }, "filters": { "items": { "id": "filter", "$ref": "filter" }, "required": true, "type": "array", "description": "Filter list for the processor" }, "outputs": { "items": { "type": "object", "id": "output", "properties": { "fields": { "items": { "type": "object", "id": "field", "properties": { "operation": { "default": "NONE", "required": false, "type": "string", "description": "Further output operation, if needed. Notice that using this might reduce performance.", "enum": [ "NONE", "AVG", "COUNT", "MAX", "MIN", "SUM" ] }, "id": { "required": true, "type": "string", "description": "Id of the field. This is the same of the processor configuration." }, "description": { "required": false, "type": "string", "description": "Description, if needed" } } }, "required": true, "type": "array", "description": "List of requested fields in the output" }, "id": { "required": true, "type": "string", "description": "Output Id" } } }, "required": true, "type": "array", "description": "Output list for the processor" } } }, "required": true, "type": "array", "description": "Processors configuration" }, "parameters": { "required": true, "type": "object", "description": "View main configuration parameters section", "properties": { "sampling_time_msec": { "default": "1000", "required": false, "type": "number", "description": "View data sampling time" }, "autoclose_idle_timeout_msec": { "default": "0", "required": false, "type": "number", "description": "Autoclose timeout: if set, the view will be closed if it is not accessed for a period of time equal to the timeout value" }, "retention_time_msec": { "default": "86400000", "required": false, "type": "number", "description": "Data retention time: data collected for a view will be deleted after the retention time elapsed" } } }, "watches": { "description": "Watch list", "items": { "id": "watch", "$ref": "watch" }, "required": true, "id": "watches", "type": "array", "example": [ { "info": { "name": "Watch 1" }, "severity": 6, "triggers": [ { "condition_operator": "AND", "conditions": [ { "field": "c2", "condition_info": { "aggregation_type": "VALUE", "value": "0", "check_type": "GREATER" } } ], "bool_operator": "OR", "dimension_restrictions": { "sub_restrictions": [], "restrictions": [ { "field": "c1", "value": "Web" } ], "bool_operator": "OR" }, "uid": "Trigger 1" } ], "watch_uid": "watch_1", "enabled": true, "actions": { "fired_triggers": { "bool_operator": "AND", "triggering_mode": "LEADINGEDGE", "triggers": [ "Trigger 1" ] }, "actions": [ { "type": "InternalDBLog", "uid": "Action 1", "parameters": [], "side": "SERVER" } ] }, "timing": { "from": "NOW", "time_analysis_mode": "SAMPLE_BY_SAMPLE", "interval_ms": 1000 }, "output_uid": "OUID_Output_Over_Time" } ] }, "client_config": { "notes": "Encoded as CDATA in XML", "required": false, "type": "string", "description": "Client-specific section, not used by Shark" }, "input_source": { "required": true, "type": "object", "description": "Input source configuration", "properties": { "disable_index": { "required": false, "type": "boolean", "description": "If true, the source will not be allowed to use an index to speed up the processing" }, "path": { "notes": "Specifies a job, clip, file or live device. Must start with the source type, e.g. fs/admin/trace.pcap or interfaces/tc0", "required": true, "type": "string", "description": "Path of the source to open" }, "filters": { "items": { "id": "filter", "$ref": "filter" }, "required": true, "type": "array", "description": "List or filters for this input" } } } }, "description": "View configuration", "example": { "info": { "description": "Network Usage by Traffic Type", "title": "Network Usage by Traffic Type" }, "processors": [ { "keys": [ { "field": "generic.application", "id": "c1" } ], "metrics": [ { "field": "generic.bits", "operation": "TIME_AVG", "id": "c2" }, { "field": "generic.bits", "operation": "SUM", "id": "c3" } ], "id": "PUID_Overview_Grid", "filters": [], "outputs": [ { "fields": [ { "id": "c1", "description": "Traffic Type" }, { "id": "c2", "description": "Bits" } ], "id": "OUID_Output_Over_Time" }, { "fields": [ { "id": "c1", "description": "Traffic Type" }, { "id": "c3", "description": "Bits" } ], "id": "OUID_Output_Aggregated" } ] } ], "parameters": { "sampling_time_msec": 1000, "retention_time_msec": 86400000 }, "watches": [], "client_config": "\n\t\n\t\n\t\tNetwork Usage by Traffic Type\n\t\tNetwork Usage by Traffic Type\n\t\tThis view gives a great overview of how the network is utilized by the different protocols and applications. It breaks the network traffic into the following categories: Routing, Web, Email, Data Transfer, SSH/Telnet, MS networking, SNMP, VPN/Tunnel, Remote-Desktop, VoIP, Database, IM.\n\t\tThe protocol transported by TCP or UDP are discovered by a port lookup, not by payload inspection. This makes this view very fast and suitable for high speed networks. On the other side, it could cause false positives. For example, all the traffic on TCP port 80 will be reported as "Web".\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAmount of bits per second for each type of network traffic, charted over time.\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tTotal network usage for the different types of network traffic, during the visualized time interval.\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tRelative network usage for the different types of network traffic, during the visualized time interval.\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n", "input_source": { "disable_index": false, "path": "fs/admin/pcap/noon.cap", "filters": [ { "type": "SHARK", "value": "generic.frame.valid = true" }, { "type": "DECRYPT", "value": "true" } ] } }, "xmlExample": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Network Usage by Traffic TypeNetwork Usage by Traffic TypeThis view gives a great overview of how the network is utilized by the different protocols and applications. It breaks the network traffic into the following categories: Routing, Web, Email, Data Transfer, SSH/Telnet, MS networking, SNMP, VPN/Tunnel, Remote-Desktop, VoIP, Database, IM.The protocol transported by TCP or UDP are discovered by a port lookup, not by payload inspection. This makes this view very fast and suitable for high speed networks. On the other side, it could cause false positives. For example, all the traffic on TCP port 80 will be reported as "Web".Amount of bits per second for each type of network traffic, charted over time.Total network usage for the different types of network traffic, during the visualized time interval.Relative network usage for the different types of network traffic, during the visualized time interval.\n]]>\n\n", "type": "object", "id": "view" } } }