### Example Output for Install Command Source: https://docs.netskope.com/en/upgrade-the-additional-appliance-packages Example of the command used to initiate the installation of a content or threat-feed package. ```bash netskopesf> upgrade content install version 56.1.0.94 ``` ```bash netskopesf> upgrade threat-feed install version 1.1052 ``` -------------------------------- ### Windows: Single-User Mode Netskope Client Installation Example Source: https://docs.netskope.com/en/enforce-enrollment-for-netskope-client An example of the MSIEXEC command for installing Netskope Client in single-user mode on Windows with specific tenant and domain details. ```bash msiexec /I NSClient.msi tenant=corp domain=goskope.com installmode=idp enrollencryptiontoken=XXX ``` -------------------------------- ### Windows: Multi-User Mode Netskope Client Installation Example Source: https://docs.netskope.com/en/enforce-enrollment-for-netskope-client An example of the MSIEXEC command for installing Netskope Client in multi-user mode on Windows, including enforcement and host details. ```bash msiexec /I NSClient.msi tenant=corp domain=goskope.com installmode=idp enrollencryptiontoken=XXX mode=peruserconfig enforceenrollsteeringprofileid=XXX enforceenrollfrequency=1 host=addon-corp.goskope.com token=XXX [/qn] ``` -------------------------------- ### Start Cloud Exchange Instance Source: https://docs.netskope.com/en/cloud-exchange-high-availability After the setup is complete, start the Cloud Exchange instance to bring up the standalone node. ```bash sudo ./start ``` -------------------------------- ### Windows nsdiag Installation Path and Example Source: https://docs.netskope.com/en/netskope-client-command-reference Example of running the nsdiag command from its installation directory on a 32-bit Windows system. ```bash C:\Program Files (x86)\netskope\stagent\nsdiag -n ``` -------------------------------- ### Install New Software Package Source: https://docs.netskope.com/en/upgrade-the-virtual-appliance Install the prepared software package on the virtual appliance. Use `upgrade software status install` to track the installation progress. The status should be SUCCESS upon completion. ```bash upgrade software install version ``` -------------------------------- ### Install Software Package Source: https://docs.netskope.com/en/netskope-help/appliances/virtual-appliance/upgrade-the-virtual-appliance Install the prepared software package on the virtual appliance. The status 'SUCCESS' confirms the installation. ```bash upgrade software install version ``` ```bash upgrade software status install ``` -------------------------------- ### Deploy Netskope Client with Per-User Configuration Source: https://docs.netskope.com/en/netskope-client-for-windows Use this command to install the Netskope Client with per-user configuration, including prelogon user setup. Ensure you replace placeholders like , , , , and with your specific values. ```bash msiexec /I NSClient.msi host=addon-.[region.] token= enrollauthtoken= enrollencryptiontoken= mode=peruserconfig prelogonuser=@prelogon.netskope.com /qn ``` ```bash msiexec /I NSClient.msi host=addon-corp.goskope.com token=XXX enrollauthtoken=XXX enrollencryptiontoken=XXX mode=peruserconfig prelogonuser=user1@prelogon.netskope.com /qn ``` -------------------------------- ### Start Debug Mode with Default Parameters (Example 1) Source: https://docs.netskope.com/en/netskope-client-debug-mode Initiate debug mode using default parameters to troubleshoot frequently encountered issues. Reproduce the issue after starting, then stop the debug mode to generate a log archive. ```bash nsdiag -b start -o ~/debug/NSClientLogs.zip ``` -------------------------------- ### Install Podman Plugins Source: https://docs.netskope.com/en/install-netskope-cloud-exchange-on-a-red-hat-enterprise-linux-host Execute this command to install the necessary podman-plugins package. If already installed, it will indicate so; otherwise, it will proceed with the installation. ```bash yum install podman-plugins ``` -------------------------------- ### Install New VA Software Package Source: https://docs.netskope.com/en/upgrading-va-to-103-0-0-338 Execute this command to install the prepared software package. This is the final step in the upgrade process. Verify the installation status. ```bash upgrade software install version 103.0.0.338 ``` -------------------------------- ### Linux nsdiag Installation Path and Example Source: https://docs.netskope.com/en/netskope-client-command-reference Example of running the nsdiag command from its installation directory on Linux. ```bash /opt/netskope/stagent/nsdiag -n ``` -------------------------------- ### macOS nsdiag Installation Path and Example Source: https://docs.netskope.com/en/netskope-client-command-reference Example of running the nsdiag command from its installation directory on macOS. ```bash $ /Library/Application\ Support/Netskope/STAgent/nsdiag -n ``` -------------------------------- ### Install New Software Package Source: https://docs.netskope.com/en/upgrade-the-additional-appliance-packages Install the prepared software package onto the appliance. The upgrade runs in the background and may take a few minutes. ```bash upgrade content install version __ ``` ```bash upgrade threat-feed install version __ ``` -------------------------------- ### Example List App Instances Request with Sorting Source: https://docs.netskope.com/en/list-app-instances Demonstrates how to list app instances and sort them by 'app'. Includes a sample JSON payload for the request body. ```bash GET 'https://__/api/v1/app_instances?token=_xxx_&op=list&sortby=app' --header 'Content-Type: application/json' --data-raw '{ "instances":[ { "app":"Azure", "instance_id": "123451234512", "instance_name":"New Instance-1", "tags":[ "Sanctioned" ] }, { "app":"AWS", "instance_id": "123451234513", "instance_name":"New Instance-2", "tags":[ "Unsanctioned" ] } ] }' ``` -------------------------------- ### Example Response for Get Anomaly API Source: https://docs.netskope.com/en/using-the-rest-api-v2-uci-impact-endpoints This is an example JSON response when successfully retrieving anomaly information using the Get Anomaly API. ```json { "anomalyId": "xxxxx", "user": "blah@sm.com", "time": 1677618382070, "score": 20, "activity": "ActivityForUciImpactAPI", "eventId": "event_id2", "anomalyCreatedTime": "2023-02-28T21:06:24Z", "source": "OKTA", "reason": "login failed in OKTA" } ``` -------------------------------- ### Example Get Policy Details Request Source: https://docs.netskope.com/en/get-storage-scan-policy-details This example demonstrates how to make a GET request to retrieve the details of a storage policy named 'HQ_storage'. ```http GET 'https://__/api/v1/storage_scan_policies/?token=__&op=detail&policy_name=HQ_storage' ``` -------------------------------- ### Install and Enroll by IDP (CLI) Source: https://docs.netskope.com/en/netskope-client-for-linux Use this command to initiate installation and enrollment via Identity Provider (IDP). This method skips other options when the --idp flag is present. ```bash sudo ./STAgent.run -i ``` ```bash STAgent.run {-i | --idp} [-t | --tenantname tenant_name] [-d | --domain tenant_domain] [-e | --enroll-encrypt-token enroll_encryption_token] Options:-i --idp: This is a flag with no value. When this argument is present,installer will enroll by IDP. All other options will be skipped in IDP mode. -t --tenantName: tenant name -d --domain: tenant domain -e --enroll-encrypt-token: enroll encryption token ``` -------------------------------- ### Basic MSIEXEC Installation Source: https://docs.netskope.com/en/netskope-client-for-windows Use this command for a basic installation of the Netskope Client via msiexec. ```bash msiexec /I NSClient.msi ``` -------------------------------- ### Example API Response: Get Classifiers Source: https://docs.netskope.com/en/custom-file-classification-plugin This is an example response when retrieving custom classifiers from the Netskope tenant. ```json { "customClassifiers": [ { "id": "4212644500771208587", "name": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV五万", "status": "error", "type": "image", "description": "Wayne-update", "version": 12, "region": null, "modifyBy": "wxin@netskope.com", "isPredefined": false, "threshold": 0.6000000238418579, "created": 1703049910671, "updated": 1706653679436, "lastTrained": 1706653632971, "thresholdLevel": null, "overallStatus": { "invalid": 0, "valid": 8, "negative": 0, "errMsg": "Insufficient artifacts in training" } } ] } ``` -------------------------------- ### Prepare Software Package for Installation Source: https://docs.netskope.com/en/upgrade-the-additional-appliance-packages Prepare the downloaded software package for installation. This step is required before the actual installation can begin. Replace `` with the specific version. ```bash upgrade content prepare version __ ``` ```bash upgrade threat-feed prepare version __ ``` -------------------------------- ### Start Debug Mode with Custom Parameters (Example 2) Source: https://docs.netskope.com/en/netskope-client-debug-mode Start debug mode with custom parameters for issues that are not easily reproducible on demand. This example sets inner and outer packet capture sizes and the number of debug log files. ```bash nsdiag -b start -s 200 -i 1000 -e 1200 -m 50 -o ~/debug/NSClientLogs.zip ``` -------------------------------- ### Install PyYAML Dependency Source: https://docs.netskope.com/en/cloud-exchange-troubleshooting Installs or updates the PyYAML package to version 6.0.0 or higher. This is a common fix for dependency-related setup failures. ```bash pip3 install "pyyaml>=6.0.0" ``` -------------------------------- ### Example API Response: Get Classifier by ID Source: https://docs.netskope.com/en/custom-file-classification-plugin This is an example response when retrieving a specific custom classifier by its ID from the Netskope tenant. ```json { "id": "5811976269388497234", "name": "WayneImageUpdate9", "status": "ready", "type": "image", "description": "Xin update Oct26 update", "version": 2, "region": null, "modifyBy": "wxin@netskope.com", "isPredefined": false, "threshold": 0.5, "created": 1698879272474, "updated": 1699639990193, "lastTrained": 1698956670760, "overallStatus": { "invalid": 0, "valid": 30, "negative": 0, "errMsg": null } } ``` -------------------------------- ### Prepare Software Package Source: https://docs.netskope.com/en/upgrade-the-virtual-appliance Prepare the downloaded software package for installation. Use `upgrade software status prepare` to monitor the preparation process. The status should be SUCCESS upon completion. ```bash upgrade software prepare version ``` -------------------------------- ### Verify Python venv Module Source: https://docs.netskope.com/en/cloud-exchange-system-requirements Run this command to verify that the python3-venv package is installed, as it is required by the setup script. The setup script will confirm its availability. ```python python3 -c "import venv; print('venv module is available')" ``` -------------------------------- ### Example IP Allowlist Configuration Source: https://docs.netskope.com/en/secure-tenant-configuration-and-hardening An example demonstrating how to specify a comma-separated list of IPs and subnets for the SSH allowlist. ```bash set system ssh-allowlist 192.168.169.0/24,172.18.78.10 ``` -------------------------------- ### Install Required Packages Source: https://docs.netskope.com/en/cloud-exchange-kb-articles Install essential packages like git, curl, zip, nfs-utils, and Python3 with pip, which are necessary for the Cloud Exchange setup. ```bash sudo yum install -y git curl zip ``` ```bash sudo yum install -y nfs-utils ``` ```bash sudo yum install -y python3 python3-pip python3-devel ``` -------------------------------- ### Install and Enroll by Email ID (CLI) Source: https://docs.netskope.com/en/netskope-client-for-linux Use this command to install the Netskope Client and enroll a user via their email address. Ensure the tenant hostname, organization key, and email address are provided. ```bash sudo ./STAgent.run -H -o -m ``` ```bash STAgent.run {-H | --tenant-hostname tenant_hostname} {-o | --orgkey orgKey} {-m | --email email_address} [-a | --enroll-auth-token enroll_authentication_token] [-e | --enroll-encrypt-token enroll_encryption_token] [-c | --cli] Options:-H --tenant-hostname: Tenant hostname -o --orgkey: org key -m --email: User email -a --enroll-auth-token: enroll authentication token -e --enroll-encrypt-token: enroll encryption token -c --cli: This is a flag for CLI only mode and no value When this argument is present, UI will not be installed ``` -------------------------------- ### Install using WebUI with Encryption Token Source: https://docs.netskope.com/en/netskope-client-for-linux This command initiates the Netskope Client installation via WebUI. An encryption token mapped to your tenant is required. User enrollment then proceeds through a pop-up and IDP login. ```bash sudo ./STAgent.run -e ``` -------------------------------- ### Execute Cloud Exchange Setup Script Source: https://docs.netskope.com/en/install-cloud-exchange-on-ubuntu Run the setup script to complete the Cloud Exchange installation. Ensure the configuration file is updated or be prepared to save generated passwords. ```bash python3 ./setup ``` -------------------------------- ### Run Setup Script on Primary Node Source: https://docs.netskope.com/en/cloud-exchange-kb-articles Navigate to the Cloud Exchange directory and execute the setup script on the primary node. ```bash sudo ./setup ``` -------------------------------- ### Launch Cloud Exchange Source: https://docs.netskope.com/en/install-cloud-exchange-on-ubuntu Start the Cloud Exchange application after the setup script has completed. ```bash ./start ``` -------------------------------- ### Example cURL Request and Response for CSA Scan Status Source: https://docs.netskope.com/en/get-a-csa-scan-status This example demonstrates how to use cURL to get the status of a CSA scan and the expected JSON response format. The response includes scan results, errors, and who initiated the scan. ```curl curl -X GET https://__/api/v1/csa_scan?token=__&op=status&scan_id=__ ``` ```json { "status": "success", "msg": "", "data": { "scan_results": [ { "status": "In progress", "instance": "test-policy", "appname": "aws", "scan_start_time": 1569867918.178233, "policy_name": "aws-policy" } ], "errors": [], "scan_started_by": "" } } ``` -------------------------------- ### Download and Install Netskope Publisher Source: https://docs.netskope.com/en/create-a-new-publisher Download and install the necessary components for the Netskope Publisher using curl. This command also sets up the user and exits the root session. The installation may take approximately 10 minutes. ```bash curl https://s3-us-west-2.amazonaws.com/publisher.netskope.com/latest/generic/bootstrap.sh | sudo bash; sudo su - $USER; exit ``` -------------------------------- ### Example Output for Listing Software Source: https://docs.netskope.com/en/upgrade-the-additional-appliance-packages Example output showing an available software version for the content or threat-feed package. ```bash netskopesf> upgrade content list Available for download: 56.1.0.94 ``` ```bash netskopesf> upgrade threat-feed list Available for download: 1.1052 ``` -------------------------------- ### Get Location Based Steering Configuration Source: https://docs.netskope.com/en/get-steering-configuration-information This example demonstrates how to retrieve the location-based steering configuration. The `config` parameter should be URL-encoded. ```APIDOC ## POST /api/v1/steeringconfig?config=location%20based%20steering ### Description Retrieves the location-based steering configuration. ### Method POST ### Endpoint `https://__/api/v1/steeringconfig?config=location%20based%20steering` ### Request Body - **token** (string) - Required - Authentication token. ### Request Example ```json { "token": "f32a973eddd7bc1602fc0f48dc0a" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. - **msg** (string) - Contains any relevant messages. - **data** (array) - An array of steering configuration objects. - **steering_config** (string) - The name of the steering configuration. - **enabled** (boolean) - Whether the steering configuration is enabled. - **location_based_steering** (boolean) - Whether location-based steering is enabled. - **private_apps_enabled** (boolean) - Whether private apps are enabled. - **priority** (string) - The priority of the configuration. - **on_prem** (object) - On-premises steering configuration details. - **steered_traffic** (object) - Details of steered traffic on-premises. - **data** (array) - List of steered applications. - **app_id** (string) - The application ID. - **app_name** (string) - The application name. - **disabled** (string) - Indicates if the app is disabled ('0' or '1'). - **app_domains** (string) - Associated domains for the application. - **app_category** (string) - The category of the application. - **modify_time** (string) - The last modification time. - **app_cci** (string) - Application CCI value. - **app_ccl** (string) - Application CCL value. - **count** (integer) - The number of steered applications. - **exceptions** (object) - Exception rules for on-premises steering. - **applictions** (object) - Application exceptions. - **data** (array) - List of exception applications. - **count** (integer) - The number of exception applications. - **domains** (object) - Domain exceptions. - **data** (array) - List of exception domains. - **count** (integer) - The number of exception domains. - **src_netloc** (object) - Source network location exceptions. - **data** (array) - List of source network locations. - **count** (integer) - The number of source network locations. - **dst_netloc** (object) - Destination network location exceptions. - **data** (array) - List of destination network locations. - **notes** (string) - Notes for the destination network location. - **dst_netloc** (array) - The destination network locations. - **count** (integer) - The number of destination network locations. - **countries** (object) - Country-based exceptions. - **data** (array) - List of exception countries. - **count** (integer) - The number of exception countries. - **cert_pinned_apps** (object) - Certificate pinned application exceptions. - **data** (array) - List of certificate pinned applications. - **notes** (string) - Notes for the certificate pinned app. - **app_name** (string) - The name of the application. - **enabled** (boolean) - Whether the app is enabled. - **data** (object) - Detailed data for the certificate pinned app. - **custom** (boolean) - Indicates if it's a custom app. - **appName** (string) - The application name. - **android** (object) - Android specific configuration. - **action** (string) - Action to take. - **processes** (array) - List of processes. - **enabled** (boolean) - Whether it's enabled. - **domains** (array) - Associated domains. - **mac** (object) - macOS specific configuration. - **action** (string) - Action to take. - **processes** (array) - List of processes. - **enabled** (boolean) - Whether it's enabled. - **managed_device** (boolean) - Whether it's a managed device. - **tunnel** (boolean) - Whether tunneling is enabled. - **tunnel_domains** (array) - Domains for tunneling. - **windows** (object) - Windows specific configuration. - **action** (string) - Action to take. - **processes** (array) - List of processes. - **enabled** (boolean) - Whether it's enabled. - **managed_device** (boolean) - Whether it's a managed device. - **tunnel** (boolean) - Whether tunneling is enabled. - **tunnel_domains** (array) - Domains for tunneling. - **ios** (object) - iOS specific configuration. - **action** (string) - Action to take. - **processes** (array) - List of processes. - **enabled** (boolean) - Whether it's enabled. - **domains** (array) - Associated domains. - **count** (integer) - The number of certificate pinned applications. - **off_prem** (object) - Off-premises steering configuration details. - **steered_traffic** (object) - Details of steered traffic off-premises. - **data** (array) - List of steered applications. - **count** (integer) - The number of steered applications. - **exceptions** (object) - Exception rules for off-premises steering. - **categories** (object) - Category-based exceptions. - **data** (array) - List of exception categories. - **categories** (array) - The list of categories. - **notes** (string) - Notes for the category exception. - **count** (integer) - The number of category exceptions. #### Response Example ```json { "status": "success", "msg": "", "data": [ { "steering_config": "location based steering", "enabled": true, "location_based_steering": true, "private_apps_enabled": false, "priority": "2", "on_prem": { "steered_traffic": { "data": [ { "app_id": "101", "app_name": "Adrenalin", "disabled": "0", "app_domains": "adrenalin.com", "app_category": "HR", "modify_time": "2019-08-19 17:38:15", "app_cci": "31", "app_ccl": "poor" }, { "app_id": "105", "app_name": "ProcessManagement", "disabled": "0", "app_domains": "processmanagement.com", "app_category": "Business Process Management", "modify_time": "2019-08-19 17:38:15", "app_cci": "63", "app_ccl": "medium" } ], "count": 2 }, "exceptions": { "applictions": { "data": [], "count": 0 }, "domains": { "data": [], "count": 0 }, "src_netloc": { "data": [], "count": 0 }, "dst_netloc": { "data": [ { "notes": "on-prem: [default destination location]", "dst_netloc": [ "Local IP address range" ] } ], "count": 1 }, "countries": { "data": [], "count": 0 }, "cert_pinned_apps": { "data": [ { "notes": "on-prem: [default ssl pinned app]", "app_name": "Amazon CloudDrive", "enabled": true, "data": { "custom": false, "appName": "Amazon CloudDrive", "android": { "action": "1", "processes": [ "com.amazon.clouddrive", "com.amazon.clouddrive" ], "enabled": true, "domains": [ "drive.amazonaws.com", "us-east-1.amazonaws.com", "us-west-2.amazonaws.com", "drive.amazon.com", "amazon.ca", "amazon.in", "amazon.co.uk" ] }, "mac": { "action": "1", "processes": [ "Amazon Cloud Dr", "Amazon Cloud Drive Sync Service", "Amazon Cloud Drive" ], "enabled": true, "managed_device": false, "tunnel": false, "tunnel_domains": [] }, "windows": { "action": "1", "processes": [ "AmazonCloudDriveW.exe", "AmazonCloudDrive.exe" ], "enabled": true, "managed_device": false, "tunnel": false, "tunnel_domains": [] }, "ios": { "action": "1", "processes": [], "enabled": false, "domains": [ "drive.amazonaws.com", "us-east-1.amazonaws.com", "us-west-2.amazonaws.com", "drive.amazon.com", "amazon.ca", "amazon.in", "amazon.co.uk" ] } } } ], "count": 1 } } }, "off_prem": { "steered_traffic": { "data": [], "count": 0 }, "exceptions": { "categories": { "data": [ { "categories": [ "Finance/Accounting", "Internet Telephony", "Streaming & Downloadable Audio", "Streaming & Downloadable Video", "Telecom and Call Center", "Web Conferencing" ], "notes": "off-prem: [default categories]" } ], "count": 1 } } } } ] } ``` ``` -------------------------------- ### Execute Cloud Exchange Setup Source: https://docs.netskope.com/en/cloud-exchange-high-availability Run the setup script to initialize Cloud Exchange. This should be done after configuring the settings and stopping the service. ```bash sudo ./setup ``` -------------------------------- ### Example cURL Request for CSA Scan Source: https://docs.netskope.com/en/start-a-csa-scan This cURL command demonstrates how to start a CSA scan. Replace placeholders with your specific details. ```bash curl -X GET https://__/api/v1/csa_scan?token=__&op=start&name=__&scan_start_by=__ ``` -------------------------------- ### Prepare Software Package Source: https://docs.netskope.com/en/netskope-help/appliances/virtual-appliance/upgrade-the-virtual-appliance Prepare the downloaded software package for installation. The status 'SUCCESS' indicates the package is ready. ```bash upgrade software prepare version ``` ```bash upgrade software status prepare ```