Cisco Platinum Learning Partner Logo

Network Programming im Cisco IOS

Workshop mit Praxisbeispielen

Cisco Platinum Learning Partner Logo

Die programmgestützte Automatisierung spielt in der Netzwerkwelt eine immer größer werdende Rolle. In den letzten Jahren hat sich bei dieser Automatisierung die interaktive, interpretierte und objektorientierte Programmiersprache Python, nicht zuletzt wegen ihrer einfach strukturierten und gut lesbaren Syntax, durchgesetzt. Somit bietet auch Cisco nunmehr die Möglichkeit der Verwendung eines Python-Interpreters auf Cisco-Netzwerkgeräten. In diesem praxisnahen Kurs werden Python Programme geschrieben, welche direkt auf Cisco-Geräten ausgeführt werden, um typische Aufgaben eines Netzwerkadministrators automatisiert zu erledigen.

Kursinhalt

  • Verwendung der Guest-Shell
  • Portstatistiken mit Python
  • Logging
  • Konfigurationen analysieren
  • Konfigurations-Management
  • Auslesen von Loopbackadressen
  • Automatisierte Konfiguration von STP und RSTP
  • Triggern von Python-Skripten mit Ciscos Event Manager
  • Generieren und Analysieren von Log-Dateien
  • SYSLOG und SNMP
  • Automatisierte Updates

Print E-Book PDF Symbol Sie erhalten das ausführliche deutschsprachige Unterlagenpaket von ExperTeach – Print, E-Book und personalisiertes PDF! Bei Online-Teilnahme erhalten Sie das E-Book sowie das personalisierte PDF.

Zielgruppe

Der Kurs richtet sich an all diejenigen, die Python zur Automatisierung auf Cisco-Geräten einsetzen wollen.

Voraussetzungen

Die Teilnehmer sollten Python-Programmierkenntnisse und Wissen bezüglich typischer Cisco Operating Systems mitbringen.

1 Grundkonzepte der Programmiersprache Python
1.1 Die Programmiersprache Python
1.1.1 Download, Installation und Lieferumfang
1.1.2 Python-Shell
1.2 Kurze Demonstration grundlegender Kontroll- und Datenstrukturen
1.2.1 Rechnen mit ganzen Zahlen
1.2.2 Verwendung von Variablen
1.2.3 Gleitkommazahlen und Zeichenfolgen
1.2.4 Listen und Dictionaries
1.2.5 Logische Ausdrücke
1.2.6 Funktionen
1.2.7 Funktionsdefinitionen und Bedingungen
1.2.8 Schleifen und Klassen
1.3 Kontroll- und Datenstrukturen
1.3.1 Anweisungen und Blöcke in Python
1.3.2 Boolesche und Arithmetische Operationen
1.3.3 Weitere Ausdrücke in Python
1.3.4 Variablen in Python
1.3.5 Funktionen I: Eingebaute Funktionen
1.3.6 Die Hilfe-Funktion
1.3.7 Die Bedingung: If
1.3.8 String Details
1.3.9 Weitere String Details
1.3.10 Iterationen I – While
1.3.11 While-Schleife
1.3.12 For – Eine Vorschau
1.3.13 Eigene Funktionen
1.3.14 Verschachtlung
1.3.15 Global oder Lokal
1.3.16 Rekursion
1.3.17 Arten von Argumenten
1.3.18 Liste
1.3.19 Weitere Methoden von Listen
1.3.20 Tupel
1.3.21 Eine Menge - Set
1.3.22 Dictionaries
1.3.23 Dictionaries – Methoden
1.4 Weitere Konzepte und Funktionen
1.4.1 Exceptions
1.4.2 Anonyme Funktionen
1.4.3 Comprehensions
1.5 Objektorientierte Programmierung
1.5.1 Klassendefinition
1.5.2 Verhalten hinzufügen
1.5.3 Spezialisierung durch Subklassen
1.6 Hinzufügen von internen und externen Modulen in Python
1.6.1 Import
1.6.2 Regular Expressions
1.6.3 Externe Module: Pip und PyPI
2 Die Guest Shell im IOS-XE und NX-OS
2.1 Aktivieren der Guest Shell
2.1.1 Voraussetzungen
2.1.2 Arbeiten in der Guest Shell im NX-OS
2.1.3 Arbeiten mit der Guest Shell im IOS-XE
2.2 Erreichbarkeit der Guest Shell
2.2.1 Interne Anbindung der Guest Shell im NX-OS
2.2.2 Interne Anbindung der Guest Shell im IOS-XE
2.3 Installation von Software in der Guest Shell
2.3.1 YUM
2.3.2 RPM
2.3.3 PIP
3 On-Box Python
3.1 Python in der Guest Shell
3.1.1 Python Versionen
3.1.2 Aufruf von Python Code
3.2 Python Module und Packages
3.2.1 clip()
3.2.2 cli()
3.2.3 clid()
3.2.4 Das Package cli im IOS-XE
3.2.5 Erweiterungen des cli-Package im IOS-XE
3.2.6 Das Package cisco
3.3 Anleitung für Python Scripte
3.3.1 Benutzer-Eingaben
3.3.2 Verarbeitung langer Strings
3.3.3 Auswerten von Tabellen: String-Vorlage
3.3.4 Auswerten von Tabellen: JSON-Vorlage
3.3.5 Erzeugung von Konfiguration aus Python
3.4 Fehler-Behandlung
3.4.1 System Exceptions
3.4.2 Cisco-spezifische Exceptions
3.4.3 Reaktion auf Fehler im IOS-XE
3.4.4 Reaktion auf Fehler im NX-OS
3.5 Dynamischer Aufruf von Python Scripten
3.5.1 EEM im NX-OS
3.5.2 EEM im IOS-XE
3.5.3 Scheduler Job im NX-OS
3.6 Use Cases für On-Box Python Scripting
3.6.1 Description Eraser
3.6.2 Description basierend auf CDP-Nachbarn
3.6.3 BGP Neighbor Reachability
3.6.4 IP Address Finder
3.6.5 Loopback Finder
3.6.6 Automatische Erzeugung einer BGP-Konfiguration
3.6.7 Lastschwankungen erkennen
3.6.8 Zero Touch Provisioning
4 Off-Box Python
4.1 Datenmodelle und Serialization
4.1.1 XML
4.1.2 JSON
4.1.3 YAML
4.2 YANG
4.2.1 Struktur eines Moduls
4.2.2 Module und Submodule
4.2.3 Konfiguration eines Moduls
4.2.4 Umsetzung in XML
4.3 NETCONF
4.3.1 Protokoll-Stapel
4.3.2 Subtree Filter
4.3.3 NETCONF-Operationen
4.3.4 Capability Advertisement
4.4 REST API
4.4.1 RESTful API
4.4.2 HTTP Methoden
4.4.3 Generische Beschreibung eines REST API
4.4.4 Authentifizierung
4.5 XML in Python
4.5.1 Hierarchische Anordnung
4.5.2 Nützliche Funktionen von Element()
4.5.3 Einlesen von XML-Strukturen
4.5.4 XPath Support
4.6 ncclient
4.6.1 Erzeugung eines Subtree Filters aus YANG
4.6.2 Prozessierung der XML-Daten des NETCONF Servers
4.6.3 Konfigurieren mit dem ncclient
4.6.4 Fehlerbehandlung im ncclient
4.6.5 Use Case: MAC Trace
4.7 requests
4.7.1 Programmatisches Gerüst in Python
4.7.2 Aktivierung des NXAPI
4.7.3 NXAPI CLI
4.7.4 NXAPI REST
4.7.5 NXAPI Sandbox
4.7.6 NXAPI REST Browser
4.7.7 Interaktion mit einem Web Server
4.8 netmiko
4.8.1 Session-Aufbau
4.8.2 EXEC Mode Kommandos
4.8.3 Configuration Mode Kommandos
4.8.4 Up- und Download mit SCP
4.8.5 Behandlung von Fehlern
4.9 napalm
4.9.1 Verbindungsaufbau
4.9.2 Configuration Management
4.9.3 Getter-Funktionen
4.9.4 Validation

Classroom Training

Bevorzugen Sie die klassische Trainingsmethode? Ein Kurs in einem unserer Training Center, mit einem kompetenten Trainer und dem direkten Austausch zwischen allen Teilnehmern? Dann buchen Sie einen der Classroom Training Termine!

Online Training

Möchten Sie einen Kurs online besuchen? Zu diesem Kursthema bieten wir Ihnen Online-Kurstermine an. Als Teilnehmer benötigen Sie dazu einen PC mit Internet-Anschluss (mindestens 1 Mbit/s), ein Headset, falls Sie per VoIP arbeiten möchten und optional eine Kamera. Weitere Informationen und technische Empfehlungen finden Sie hier.

Inhouse-Schulung

Benötigen Sie einen maßgeschneiderten Kurs für Ihr Team? Neben unserem Standard-Angebot bieten wir Ihnen an, Kurse speziell nach Ihren Anforderungen zu gestalten. Gerne beraten wir Sie hierzu und erstellen Ihnen ein individuelles Angebot.
Inhouse-Schulung jetzt anfragen >>>
PDF SymbolDie gesamte Beschreibung dieses Kurses mit Terminen und Preisen zum Download als PDF.

Die programmgestützte Automatisierung spielt in der Netzwerkwelt eine immer größer werdende Rolle. In den letzten Jahren hat sich bei dieser Automatisierung die interaktive, interpretierte und objektorientierte Programmiersprache Python, nicht zuletzt wegen ihrer einfach strukturierten und gut lesbaren Syntax, durchgesetzt. Somit bietet auch Cisco nunmehr die Möglichkeit der Verwendung eines Python-Interpreters auf Cisco-Netzwerkgeräten. In diesem praxisnahen Kurs werden Python Programme geschrieben, welche direkt auf Cisco-Geräten ausgeführt werden, um typische Aufgaben eines Netzwerkadministrators automatisiert zu erledigen.

Kursinhalt

  • Verwendung der Guest-Shell
  • Portstatistiken mit Python
  • Logging
  • Konfigurationen analysieren
  • Konfigurations-Management
  • Auslesen von Loopbackadressen
  • Automatisierte Konfiguration von STP und RSTP
  • Triggern von Python-Skripten mit Ciscos Event Manager
  • Generieren und Analysieren von Log-Dateien
  • SYSLOG und SNMP
  • Automatisierte Updates

Print E-Book PDF Symbol Sie erhalten das ausführliche deutschsprachige Unterlagenpaket von ExperTeach – Print, E-Book und personalisiertes PDF! Bei Online-Teilnahme erhalten Sie das E-Book sowie das personalisierte PDF.

Zielgruppe

Der Kurs richtet sich an all diejenigen, die Python zur Automatisierung auf Cisco-Geräten einsetzen wollen.

Voraussetzungen

Die Teilnehmer sollten Python-Programmierkenntnisse und Wissen bezüglich typischer Cisco Operating Systems mitbringen.

1 Grundkonzepte der Programmiersprache Python
1.1 Die Programmiersprache Python
1.1.1 Download, Installation und Lieferumfang
1.1.2 Python-Shell
1.2 Kurze Demonstration grundlegender Kontroll- und Datenstrukturen
1.2.1 Rechnen mit ganzen Zahlen
1.2.2 Verwendung von Variablen
1.2.3 Gleitkommazahlen und Zeichenfolgen
1.2.4 Listen und Dictionaries
1.2.5 Logische Ausdrücke
1.2.6 Funktionen
1.2.7 Funktionsdefinitionen und Bedingungen
1.2.8 Schleifen und Klassen
1.3 Kontroll- und Datenstrukturen
1.3.1 Anweisungen und Blöcke in Python
1.3.2 Boolesche und Arithmetische Operationen
1.3.3 Weitere Ausdrücke in Python
1.3.4 Variablen in Python
1.3.5 Funktionen I: Eingebaute Funktionen
1.3.6 Die Hilfe-Funktion
1.3.7 Die Bedingung: If
1.3.8 String Details
1.3.9 Weitere String Details
1.3.10 Iterationen I – While
1.3.11 While-Schleife
1.3.12 For – Eine Vorschau
1.3.13 Eigene Funktionen
1.3.14 Verschachtlung
1.3.15 Global oder Lokal
1.3.16 Rekursion
1.3.17 Arten von Argumenten
1.3.18 Liste
1.3.19 Weitere Methoden von Listen
1.3.20 Tupel
1.3.21 Eine Menge - Set
1.3.22 Dictionaries
1.3.23 Dictionaries – Methoden
1.4 Weitere Konzepte und Funktionen
1.4.1 Exceptions
1.4.2 Anonyme Funktionen
1.4.3 Comprehensions
1.5 Objektorientierte Programmierung
1.5.1 Klassendefinition
1.5.2 Verhalten hinzufügen
1.5.3 Spezialisierung durch Subklassen
1.6 Hinzufügen von internen und externen Modulen in Python
1.6.1 Import
1.6.2 Regular Expressions
1.6.3 Externe Module: Pip und PyPI
2 Die Guest Shell im IOS-XE und NX-OS
2.1 Aktivieren der Guest Shell
2.1.1 Voraussetzungen
2.1.2 Arbeiten in der Guest Shell im NX-OS
2.1.3 Arbeiten mit der Guest Shell im IOS-XE
2.2 Erreichbarkeit der Guest Shell
2.2.1 Interne Anbindung der Guest Shell im NX-OS
2.2.2 Interne Anbindung der Guest Shell im IOS-XE
2.3 Installation von Software in der Guest Shell
2.3.1 YUM
2.3.2 RPM
2.3.3 PIP
3 On-Box Python
3.1 Python in der Guest Shell
3.1.1 Python Versionen
3.1.2 Aufruf von Python Code
3.2 Python Module und Packages
3.2.1 clip()
3.2.2 cli()
3.2.3 clid()
3.2.4 Das Package cli im IOS-XE
3.2.5 Erweiterungen des cli-Package im IOS-XE
3.2.6 Das Package cisco
3.3 Anleitung für Python Scripte
3.3.1 Benutzer-Eingaben
3.3.2 Verarbeitung langer Strings
3.3.3 Auswerten von Tabellen: String-Vorlage
3.3.4 Auswerten von Tabellen: JSON-Vorlage
3.3.5 Erzeugung von Konfiguration aus Python
3.4 Fehler-Behandlung
3.4.1 System Exceptions
3.4.2 Cisco-spezifische Exceptions
3.4.3 Reaktion auf Fehler im IOS-XE
3.4.4 Reaktion auf Fehler im NX-OS
3.5 Dynamischer Aufruf von Python Scripten
3.5.1 EEM im NX-OS
3.5.2 EEM im IOS-XE
3.5.3 Scheduler Job im NX-OS
3.6 Use Cases für On-Box Python Scripting
3.6.1 Description Eraser
3.6.2 Description basierend auf CDP-Nachbarn
3.6.3 BGP Neighbor Reachability
3.6.4 IP Address Finder
3.6.5 Loopback Finder
3.6.6 Automatische Erzeugung einer BGP-Konfiguration
3.6.7 Lastschwankungen erkennen
3.6.8 Zero Touch Provisioning
4 Off-Box Python
4.1 Datenmodelle und Serialization
4.1.1 XML
4.1.2 JSON
4.1.3 YAML
4.2 YANG
4.2.1 Struktur eines Moduls
4.2.2 Module und Submodule
4.2.3 Konfiguration eines Moduls
4.2.4 Umsetzung in XML
4.3 NETCONF
4.3.1 Protokoll-Stapel
4.3.2 Subtree Filter
4.3.3 NETCONF-Operationen
4.3.4 Capability Advertisement
4.4 REST API
4.4.1 RESTful API
4.4.2 HTTP Methoden
4.4.3 Generische Beschreibung eines REST API
4.4.4 Authentifizierung
4.5 XML in Python
4.5.1 Hierarchische Anordnung
4.5.2 Nützliche Funktionen von Element()
4.5.3 Einlesen von XML-Strukturen
4.5.4 XPath Support
4.6 ncclient
4.6.1 Erzeugung eines Subtree Filters aus YANG
4.6.2 Prozessierung der XML-Daten des NETCONF Servers
4.6.3 Konfigurieren mit dem ncclient
4.6.4 Fehlerbehandlung im ncclient
4.6.5 Use Case: MAC Trace
4.7 requests
4.7.1 Programmatisches Gerüst in Python
4.7.2 Aktivierung des NXAPI
4.7.3 NXAPI CLI
4.7.4 NXAPI REST
4.7.5 NXAPI Sandbox
4.7.6 NXAPI REST Browser
4.7.7 Interaktion mit einem Web Server
4.8 netmiko
4.8.1 Session-Aufbau
4.8.2 EXEC Mode Kommandos
4.8.3 Configuration Mode Kommandos
4.8.4 Up- und Download mit SCP
4.8.5 Behandlung von Fehlern
4.9 napalm
4.9.1 Verbindungsaufbau
4.9.2 Configuration Management
4.9.3 Getter-Funktionen
4.9.4 Validation

Classroom Training

Bevorzugen Sie die klassische Trainingsmethode? Ein Kurs in einem unserer Training Center, mit einem kompetenten Trainer und dem direkten Austausch zwischen allen Teilnehmern? Dann buchen Sie einen der Classroom Training Termine!

Online Training

Möchten Sie einen Kurs online besuchen? Zu diesem Kursthema bieten wir Ihnen Online-Kurstermine an. Als Teilnehmer benötigen Sie dazu einen PC mit Internet-Anschluss (mindestens 1 Mbit/s), ein Headset, falls Sie per VoIP arbeiten möchten und optional eine Kamera. Weitere Informationen und technische Empfehlungen finden Sie hier.

Inhouse-Schulung

Benötigen Sie einen maßgeschneiderten Kurs für Ihr Team? Neben unserem Standard-Angebot bieten wir Ihnen an, Kurse speziell nach Ihren Anforderungen zu gestalten. Gerne beraten wir Sie hierzu und erstellen Ihnen ein individuelles Angebot.
Inhouse-Schulung jetzt anfragen >>>

PDF SymbolDie gesamte Beschreibung dieses Kurses mit Terminen und Preisen zum Download als PDF.