0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Intégration API Cisco Stealthwatch Lab

tp devnet

Transféré par

elhianisafae
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Intégration API Cisco Stealthwatch Lab

tp devnet

Transféré par

elhianisafae
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2023/2024

Cours : Automatisation des réseaux


Classe : IRIC 2
Tutoriel : DevNet

Lab : Cisco Stealthwatch API Integration

Introduction
Objectifs du laboratoire:

• Comprendre comment utiliser les API REST de Cisco Secure Network Analytics.
• Apprendre à s’authentifier et à interagir avec les différents points de terminaison des API.
• Extraire et analyser des données à partir de Cisco Secure Network Analytics.

Première Partie: Réservation et Configuration du Sandbox


Étape 1: Connexion à Cisco DevNet
Étape 2: Recherche et Réservation du Sandbox
• Rechercher ”Cisco Secure Network Analytics” dans la barre de recherche.
• Cliquer sur le sandbox ”Cisco Secure Network Analytics Always On”.
Étape 3: Réserver le Sandbox

• Cliquer sur ”Réserver” et remplir le formulaire de réservation avec les informations requises.
• Choisir la durée et l’heure de début de la réservation.
• Confirmer la réservation.
Étape 4: Obtenir les Identifiants et les Informations d’Accès

• Après confirmation de la réservation, accéder aux détails du sandbox pour récupérer les informa-
tions de connexion (URL, nom d’utilisateur, mot de passe).
• Suivre les instructions fournies pour configurer l’accès VPN si nécessaire.

Étape 5: Configuration du VPN

• Installer et configurer Cisco AnyConnect (ou un autre client VPN) avec les identifiants fournis.
• Se connecter au VPN pour accéder au réseau du sandbox.
Étape 6: Connexion à l’Interface Web

• Ouvrir un navigateur web et naviguer à l’adresse [Link]


• Entrer les identifiants: admin comme nom d’utilisateur et C1sco12345! comme mot de passe.
• Prendre une capture d’écran de l’interface après la connexion et décrire ce que vous voyez.

1
2023/2024

Deuxième Partie: Utilisation des API


Installation des outils nécessaires
• Télécharger et installer Visual Studio Code depuis [Link]
• Télécharger et installer Python depuis [Link]
• Ouvrir le terminal dans VS Code et exécuter la commande suivante pour installer la bibliothèque
requests:

pip install requests

1. Initialisation de la Session et Récupération du Token


Code à exécuter:
import r e q u e s t s
import js o n

SMC USER = ”admin”


SMC PASSWORD = ” C1sco12345 ! ”
SMC HOST = ” 1 0 . 1 0 . 2 0 . 6 0 ”

def i n i t i a l i z e s e s s i o n ( smc user , smc password , smc host ) :


r e q u e s t s . packages . u r l l i b 3 . d i s a b l e w a rn in g s ()

XSRF HEADER NAME = ’X−XSRF−TOKEN’


AUTHORIZATION HEADER NAME = ’ Authorization ’

u r l = f ” h ttps : // { smc host }/ token / v2 / a u th e n t i c a te ”

login request data = {


” username ” : smc user ,
” password ” : smc password
}
a p i s e s s i o n = r e q u e s t s . Se s s io n ()
re s p on s e = a p i s e s s i o n . post ( url , v e r i f y=False , data=l o g i n r e q u e s t d a t a )
i f re sponse . s ta tu s c o d e == 20 0 :
xs r f t o k e n = respo nse . c o o kie s . get ( ’XSRF−TOKEN’ )
i f xs r f t o k e n :
a p i s e s s i o n . headers . update ({ XSRF HEADER NAME: xs r f t o k e n })
print ( f ”Token : - {xs r f t o k e n }” )
return a p i s e s s i o n
else :
print ( f ”An- e r r o r - has - occ u rr ed - wh ile - lo g g in g - in , - with - the - f o l l o w in g - code - {re s p on s
return None

s e s s i o n = i n i t i a l i z e s e s s i o n (SMC USER, SMC PASSWORD, SMC HOST)

if session :
print ( ” Se s s io n - has - been - cre ate d - s u c c e s s f u l l y ” )
else :
print ( ” Se s s io n - c r e a t i o n - f a i l e d . ” )
Instructions:
• Exécutez le code ci-dessus pour initialiser la session et récupérer le Token.
• Notez le Token imprimé dans votre rapport. Ce Token est unique pour chaque étudiant.
2
2023/2024

• Prenez une capture d’écran du Token affiché.

2. Récupération des Tenants (Domaines)


Code à exécuter:
def g e t te n a n t s ( a p i s e s s i o n , smc host ) :
u r l = f ’ h ttps : // smc{ }
host /sw−r e p o r t in g / v1 / t en a n ts ’
re s p on s e = a p i s e s s i o n . get ( url , v e r i f y=False )

i f re sponse . s ta tu s c o d e == 2 0 0 ) :
t e n a n t l i s t = re spo nse . js o n ( ) [ ” data ” ]
return t e n a n t l i s t
else :
print ( f ”An- e r r o r - has - occu r r ed - wh ile - f e t c h in g - t en a n ts - ( domains ) , - with - the - f o l l o w i
return None

if session :
tenants = g e t te n a n t s ( s e s s io n , SMC HOST)
i f t e n a n ts :
te n a n t id = t en a n ts [ 0 ] [ ” id ” ]
print ( f ” Tenant - ID -=- { te n a n t id } ” )
Instructions:
• Exécutez le code ci-dessus pour récupérer la liste des tenants (domaines).
• Prenez une capture d’écran de la sortie affichant les tenants.

3. Récupération des Utilisateurs


Code à exécuter:
def g e t u s e r s ( a p i s e s s i o n , smc host ) :
try :
u r l = f ’ h ttps : // smc { }
host /smc−u s e r s / r e s t / v1 / u s e r s ’
re s p on s e = a p i s e s s i o n . get ( url , v e r i f y=False )

i f re s p on s e . s ta tu s c o d e != 2 0 0 ) :
raise RuntimeError ( f ”An- e r r o r - has - occu r r e d - wh ile - f e t c h in g - u sers , - with - the - f o

data = re s p on s e . js o n ( ) [ ” data ” ]
print ( ” \\ nThe - User - l i s t - i s : \\ n” )
for item in data :
username = item [ ’ userName ’ ]
fu lln a m e = item [ ’ fullName ’ ]
data Id = item [ ’ data Role Id ’ ]
print ( f ’ - - - - Username -=- username { ; - - }Fu ll - name -=- fu lln { a m e ; - -}Data - r o l e - ID -=-
print ()
{
u r l = f ’ h ttps : // smc }
host /smc−u s e r s / r e s t / v1 / r o l e s / data−r o l e s ’re
s po ns e = a p i s e s s i o n . get ( url , v e r i f y=False )

i f re s p on s e . s ta tu s c o d e != 2 0 0 ) :
raise RuntimeError ( f ”An- e r r o r - has - occu r r e d - wh ile - f e t c h in g - data - r o l e s , - with - t

print ( ’ The - d e f in e d - Data - Roles - are : ’ )


data = re s p on s e . js o n ( ) [ ” data ” ]
print ( js o n . dumps( data , indent =4))

3
2023/2024

except RuntimeError as e r r :
print ( e r r . a rgs [ 0 ] )

g e t u s e r s ( s e s s io n , SMC HOST)

Instructions:
• Exécutez le code ci-dessus pour récupérer la liste des utilisateurs.
• Prenez une capture d’écran de la sortie affichant les utilisateurs et les rôles de données.

Vous aimerez peut-être aussi