All Projects → karneliuk-com → hawk

karneliuk-com / hawk

Licence: GPL-3.0 License
Collection of the tools for the efficient network analysis and modelling.

Programming Languages

python
139335 projects - #7 most used programming language
Jinja
831 projects

Projects that are alternatives of or similar to hawk

Reloaded.Memory.SigScan
Simple good performance byte pattern/PE signature scanner, allowing upwards of 2000MB/s per core (10000+MB/s with AVX) on modern hardware.
Stars: ✭ 37 (+146.67%)
Mutual labels:  analysis
bundle-inspector-webpack-plugin
Bundle Inspector | Analysis Tool for Webpack
Stars: ✭ 19 (+26.67%)
Mutual labels:  analysis
Automated-Malware-Analysis-List
My personal Automated Malware Analysis Sandboxes and Services
Stars: ✭ 20 (+33.33%)
Mutual labels:  analysis
knip
KNIME Image Processing Extension
Stars: ✭ 45 (+200%)
Mutual labels:  analysis
mdtoolbox
MDToolbox: A MATLAB/Octave toolbox for statistical analysis of molecular dynamics trajectories
Stars: ✭ 21 (+40%)
Mutual labels:  analysis
swift-proposal-analyzer
An analysis of Swift Evolution proposals
Stars: ✭ 58 (+286.67%)
Mutual labels:  analysis
titanic survival exploration
Udacity Machine Learning Nano degree Program Project Predicting Passenger Survival
Stars: ✭ 18 (+20%)
Mutual labels:  analysis
static file analysis
Analysis of file (doc, pdf, exe, ...) in deep (emmbedded file(s)) with clamscan and yara rules
Stars: ✭ 34 (+126.67%)
Mutual labels:  analysis
MGT-python
Musical Gestures Toolbox for Python
Stars: ✭ 25 (+66.67%)
Mutual labels:  analysis
sound field analysis-py
Analyze, visualize and process sound field data recorded by spherical microphone arrays.
Stars: ✭ 61 (+306.67%)
Mutual labels:  analysis
msmtools
Tools for estimating and analyzing Markov state models
Stars: ✭ 31 (+106.67%)
Mutual labels:  analysis
syncopy
Systems Neuroscience Computing in Python: user-friendly analysis of large-scale electrophysiology data
Stars: ✭ 19 (+26.67%)
Mutual labels:  analysis
taint-with-frida
just an experiment
Stars: ✭ 17 (+13.33%)
Mutual labels:  analysis
Kali-Linux-Tools-Interface
Graphical Web interface developed to facilitate the use of security information tools.
Stars: ✭ 169 (+1026.67%)
Mutual labels:  analysis
ohloh-ui
Web Application for the Ohloh Stack.
Stars: ✭ 72 (+380%)
Mutual labels:  analysis
performabot
Continuous performance analysis reports for software projects 🤖
Stars: ✭ 40 (+166.67%)
Mutual labels:  analysis
clana
CLANA is a toolkit for classifier analysis.
Stars: ✭ 28 (+86.67%)
Mutual labels:  analysis
aut
The Archives Unleashed Toolkit is an open-source toolkit for analyzing web archives.
Stars: ✭ 111 (+640%)
Mutual labels:  analysis
analysis-net
Static analysis framework for .NET programs.
Stars: ✭ 19 (+26.67%)
Mutual labels:  analysis
RWorkflow
📑 My approach to an analysis or product produced with R
Stars: ✭ 25 (+66.67%)
Mutual labels:  analysis

HAWK (Highly-efficient Automated Weapon Kit)

Our networks (data centers, service providers, enterprises) make foundation for the successful applications' delivery to customers. Therefore, they are critical infrastructure of the modern digital economics. As such, we need to have an extensive set of tools and processes, which would allow us to plan, model, build, optimise and troubleshoot networks. This is exactly the purpose of the Highly-efficient Automated Weapon Kit (HAWK). HAWK is a collection of tools to help you to build and operate the networks of any types (data centres, service providers and enterprises) at world-class level.

Available functionality

At the moment HAWK is being developed as a set of Python tools, which at some point may become something much bigger.

Tool name File Description
Analyzer topology_analyzer.py Visualisation of the network topology (LLDP, BFD, BGP, ISIS) and what-if analysis of the node outage

Management Interfaces

The tools is constantly developing, so the changes may be frequent. At the current moment, the following interfaces are supported:

  • SSH (in asyncrhonous mode)
  • GNMI (in synchronous mode)

Network Operating System

Name Inventory identificator Implementation
Cumulus Linux cumulus-linux Done
Arista EOS arista-eos In progress
Nokia SRLinux nokia-srlinux Planned

Credentials

You can use one of 3 approaches:

  • Provide variables in environment (HAWK_USER for username at network functions, HAWK_PASS for password for network functions, NB_TOKEN for NetBox API access, NB_URL for NetBox URL).
  • Provide credentials for NetBox in config.yaml and username/password in local inventory file.
  • Provide all the credentials via cli.

Requirements

Python

Created and tested in Python 3.7 - 3.9

Used libraries

Watch requirements.txt

Usage

  1. Modify the the configuration file: config.yaml. If you chose local inventory, modify the inventory.yaml file inside the inventory directory per your topology.
  2. Install the modules from requirements.txt using pip.
  3. Execute the correspondin HAWK tool per the table above (e.g., python topology_analyzer.py) .
  4. Open in the output directory the relevant generated reports.

License

By using this product you accept the license agreement

Dev Log

Release 0.4.2:

  • Added environment variable NB_URL to provide the NetBox url.
  • Minor bug fixing.

Release 0.4.1:

  • Rebuild show-hosts to work with dictionary first rather that writing to file.

Release 0.4.0:

  • Added new operation to -o show-hosts, which collects IPv4/IPv6 addresses, MACs, port description, etc.
  • Minor bug fixing.

Release 0.3.6:

  • Added functionality to quantify amount of collected IP hosts to the node.
  • Minor bug fixing.

Release 0.3.5:

  • Added capability to test connectivity between desired node types using key -ct.
  • Added capability to test connectivity between desired nodes using key -cn.

Release 0.3.4:

  • Added capability to draw peerlink BGP sessions.

Release 0.3.3:

  • Minor modificaitions.

Release 0.3.2:

  • Fixed logical error, where the non-established BGP session was pasing the the connectivity check.
  • Added functionality for validating the specific node failure.

Release 0.3.1:

  • Minor bug fixing.

Release 0.3.0:

  • First public release.

Release 0.2.1:

  • A lot of rework to generalise the tool.

Release 0.2.1:

  • Changed name of the main.py.

Release 0.2.0:

  • Adding info polling from netbox regarding the management IPs

Release 0.1.0:

  • First release

Want to automate networks like profi?

(c) 2021, Karneliuk.com

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].