All Projects → Ali-aqrabawi → gomiko

Ali-aqrabawi / gomiko

Licence: MIT license
multi-vendor networking SDK.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gomiko

Fastnetmon
FastNetMon - very fast DDoS sensor with sFlow/Netflow/IPFIX/SPAN support
Stars: ✭ 2,860 (+6117.39%)
Mutual labels:  juniper, cisco, mikrotik, arista
topolograph
Topolograph.com is an online project which can visualize OSPF/ISIS topology based on single OSPF LinkState DataBase scrapping from one network device ( thanks OSPF =). Then you can not only see (and check) the shortest path from source to destination, but also see the outcome from link or node failure along the path to the destination. The exist…
Stars: ✭ 84 (+82.61%)
Mutual labels:  juniper, cisco, mikrotik
panoptes-stream
A cloud native distributed streaming network telemetry.
Stars: ✭ 34 (-26.09%)
Mutual labels:  juniper, cisco, arista
Network-Automation
Cisco ACI, Firepower, Meraki, NETCONF, and SQL Python Programs
Stars: ✭ 47 (+2.17%)
Mutual labels:  cisco, netmiko
netascode
This repo contains an example of the virtual network of a fictitious company which you can use to play and to learn network automation. Public repository for Network as Code. NaC model.
Stars: ✭ 36 (-21.74%)
Mutual labels:  cisco, netmiko
vrnetlab
Run virtual routers with docker
Stars: ✭ 879 (+1810.87%)
Mutual labels:  cisco, arista
netcrawl
Netcrawl is a tool designed to discover and poll one or more devices, inventory them, and then provide useful data on the processed devices.
Stars: ✭ 49 (+6.52%)
Mutual labels:  cisco, netmiko
keycloak-radius-plugin
Make the radius server as part of keycloak SSO
Stars: ✭ 102 (+121.74%)
Mutual labels:  cisco, mikrotik
cisco-ip-trace
Trace IP addresses to edge Cisco switch port
Stars: ✭ 65 (+41.3%)
Mutual labels:  cisco, netmiko
ixgen
Ixgen is yet-another open-source, multi-platform generator for peering configurations on IXs incorporating the global peeringdb api, but also is able to spin up its own "compatible" server for faster results. Ixgen is configured by an INI- or JSON-style format, producing custom template-driven or fixed json-style configurations, that can be prin…
Stars: ✭ 38 (-17.39%)
Mutual labels:  juniper, cisco
DirectFire Converter
DirectFire Firewall Converter - Network Security, Next-Generation Firewall Configuration Conversion, Firewall Syntax Translation and Firewall Migration Tool - supports Cisco ASA, Fortinet FortiGate (FortiOS), Juniper SRX (JunOS), SSG / Netscreen (ScreenOS) and WatchGuard (support for further devices in development). Similar to FortiConverter, Sm…
Stars: ✭ 34 (-26.09%)
Mutual labels:  juniper, cisco
pyats-sample-scripts
Various pyATS-based Test Automation Scripts
Stars: ✭ 79 (+71.74%)
Mutual labels:  cisco
node-meraki-dashboard
A modern node.js client library for using the Meraki Dashboard API.
Stars: ✭ 20 (-56.52%)
Mutual labels:  cisco
easyucs
EasyUCS is a toolbox to help deploy, manage and document Cisco UCS devices
Stars: ✭ 28 (-39.13%)
Mutual labels:  cisco
ccna
A summary of CCNA-useable cisco commands by @elsmr and @Haroenv
Stars: ✭ 16 (-65.22%)
Mutual labels:  cisco
mikrotik-fwban
Use your Mikrotik firewall to do fail2ban like blocking of unwanted IPs. Written in Go
Stars: ✭ 22 (-52.17%)
Mutual labels:  mikrotik
aws-vpn-mikrotik
Shell script to transform a Generic AWS VPN configuration guide to MikroTik specific set up commands that can be copy pasted into a mikrotik console to set up the customer end of the connection.
Stars: ✭ 38 (-17.39%)
Mutual labels:  mikrotik
cisco-pnp-ztp-guestshell
Cisco Zero Touch Protocol (ZTP) with Python Scripts
Stars: ✭ 17 (-63.04%)
Mutual labels:  cisco
sastre
Automation Tools for Cisco SD-WAN Powered by Viptela
Stars: ✭ 43 (-6.52%)
Mutual labels:  cisco
CVE-2020-1611
Juniper Junos Space (CVE-2020-1611) (PoC)
Stars: ✭ 25 (-45.65%)
Mutual labels:  juniper

Gomiko

Build Status GolangCI published

Gomiko is a Go implementation of netmiko. It serves as multi-vendor networking SDK that helps communicate and execute commands via an interactive shell without needing to care about handling device prompts and terminal modes.

Supports

  • Cisco IOS
  • Cisco IOS XR
  • Cisco ASA
  • Cisco NX-OS
  • Mikrotik RouterOS
  • Arista EOS
  • Juniper JunOS

Installation

get gomiko pkg: go get -u github.com/Ali-aqrabawi/gomiko/pkg.

Examples :

import (
	"fmt"
	"log"
	"github.com/Ali-aqrabawi/gomiko/pkg"
)

func main() {
	
     device, err := gomiko.NewDevice("192.168.1.1", "admin", "password", "cisco_ios", 22)
     
     if err != nil {
     	log.Fatal(err)
     }
     
     //Connect to device
     if err := device.Connect(); err != nil {
     	log.Fatal(err)
     }
     
     // send command
     output1, _ := device.SendCommand("show vlan")
     
     // send a set of config commands
     commands := []string{"vlan 120", "name v120"}
     output2, _ := device.SendConfigSet(commands)
     
     device.Disconnect()
     
     fmt.Println(output1)
     fmt.Println(output2)
 
}

create device with enable password:

import (
	"fmt"
	"log"
	"github.com/Ali-aqrabawi/gomiko/pkg"
)

func main() {
	
     device, err := gomiko.NewDevice("192.168.1.1", "admin", "password", "cisco_ios", 22, gomiko.SecretOption("enablePass"))
     
     if err != nil {
     	log.Fatal(err)
     }     

}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].