Course Overview

Use a modern language with a focus on simplicity to automate networking tasks. We'll build services that will allow you to reduce or eliminate menial and error-prone tasks, allowing you to focus on the bigger picture problems, all while using a language that is efficient and fun. 

Manually logging into devices is tedious and data may get lost in the process of copying and pasting data from one place to another. A programmatic approach avoids these types of errors. You spend a few cycles developing the logic and writing the code. Then you can rest assured your code will execute and store the information just as you planned it. Building configurations for new devices, or augmenting existing configurations, from an existing device or an existing block of the device, leads to avoidable problems where something does not get modified correctly. In today's world, where many flows ride across an unreliable network, errors are commonplace. We should code for errors. In Go, errors are a primitive of the language with functions normally returning a nil error if successful and a meaningful error otherwise.

This course will walk you through leveraging the power and simplicity of go to make better use of your time at work, reducing the surface for unnecessary errors. This will ultimately open you up for a whole new perspective on how to solve problems big or small.  

The necessary resources for this course are in the "Resources" section of Video 1.1. You can also access them through this direct link - https://github.com/ec-council-learning/Hands-on-Network-Programming-with-Go

What You Will Learn

  • Learn how to interact with network elements programmatically.
  • Running operational commands to glean information about the current state of the device as well as modifying configurations
  • How to build configurations by constructing templates and using data sets as input to those templates to render the end result
  • Basics of docker and postgres and how to use the two together in a development environment
  • Best practices to ensure you have the tools to build robust
  • maintainable code

Program Curriculum

  • High Level Overview?
  • $7 Million Cybersecurity Scholarship by EC-Council

  • Section Overview
  • Download Go
  • Download Docker and Composer
  • Download VS Code
  • Download Git and Initialize Repo
  • Initialize Go Module

  • Section Overview
  • A Basic Client
  • Minimal Server
  • A Client Package
  • Interactive Sessions
  • Client Options - An Introduction to Self-Referential Functions
  • Client Options - Host Key Verification
  • Client Options – Public Key Authentication
  • Client Options - Solution to Add a Timeout
  • Chapter 3 Quiz

  • Section Overview
  • Screen Scraping
  • Structured Data - XML
  • Structured Data - JSON
  • Chapter 4 Quiz

  • Section Overview
  • Commands
  • The Runner Interface
  • Chapter 5 Quiz

  • Section Overview
  • Postgres Docker Container
  • Docker Compose
  • Device Inventory Schema
  • Chapter 6 Quiz

  • Section Overview
  • DB Drivers
  • Repository Pattern
  • Build the Inventory Service
  • Vendor Repo
  • Model Repo
  • Device Repo – Create
  • Device Repo – Read
  • Device Repo – Update
  • Device Repo – Delete
  • Chapter 7 Quiz

  • Section Overview
  • Basic Web Server
  • Bootstrap 
  • Templates
  • Dependency Injection
  • Tables
  • Forms
  • Updates – Vendors
  • Updates – Models
  • Updates - Devices
  • Deletes
  • Chapter 8 Quiz
Load more modules

Instructor

Christopher Hern

Christopher has been in the networking industry since late 2006, and has seen technologies evolve as well as the approach to transition from one to another. Having worn many hats (operations, engineering, architecture), he looks at problems holistically, with pragmatism, and iterate towards realistic solutions. He has also worked in environments where automation first is the methodology, and has seen how well it works.

Join over 1 Million professionals from the most renowned Companies in the world!

certificate

Empower Your Learning with Our Flexible Plans

Invest in your future with our flexible subscription plans. Whether you're just starting out or looking to enhance your expertise, there's a plan tailored to meet your needs. Gain access to in-demand skills and courses for your continuous learning needs.

Monthly Plans
Annual Plans
Save 20% with our annual plans!

Pro

Ideal for continuous learning, offering extensive resources with 600+ courses and diverse Learning Paths to enhance your skills.

$ 499.00
Billed annually or $59.00 billed monthly

What is included

  • 700+ Premium Short Courses
  • 50+ Structured Learning Paths
  • Validation of Completion with all courses and learning paths
  • New Courses added every month
Early Access Offer

Pro +

Experience immersive learning with Practice Labs, CTF Challenges, and exclusive EC-Council certifications for comprehensive skill-building.

$ 599.00
Billed annually or $69.00 billed monthly

Everything in Pro and

  • 800+ Practice Lab exercises with guided instructions
  • 150+ CTF Challenges with detailed walkthroughs
  • New Practice Labs and Challenges added every month
  • 3 Official EC-Council Essentials Certifications¹ (retails at $897!)
    Exclusive Bonus with Annual Plans

¹This plan includes Digital Forensics Essentials (DFE), Ethical Hacking Essentials (EHE), and Network Defense Essentials (NDE) certifications. No other EC-Council certifications are included.

Related Courses

1 of 8