Skip to main content

Note: Still in active development and potentially subject to major changes - keep this in mind when using this.

Netlint

Build workflog Documentation Status

Performs static analysis on network device configuration files.

Linters have long since been a standard way of assessing code quality in the software development world. This project aims to take that idea and apply it to the world of network device configuration files.

Find the latest copy of the documentation here.

Potential uses of this tool are

  • Linting network device configurations generated in CI/CD automation pipelines
  • Assistance when building out new configurations for both traditional and automated deployment
  • Basic security auditing of configuration files

Example usage

Below is an example of how to use this based on one of the faulty test configurations (executed from the project root):

$  netlint --nos cisco_ios tests/cisco_ios/configurations/faulty.conf
IOS101 Plaintext user passwords in configuration.
-> username test password ing
IOS102 HTTP server not disabled
-> ip http server
-> ip http secure-server
IOS103 Console line unauthenticated
-> line con 0

Installation

There are multiple ways of installing this software.

A package is available on PyPI, therefore you can simply install with pip install netlint and then simply run netlint.

If you prefer to install directly from GitHub, here is how you would go about that.

$ git clone https://github.com/Kircheneer/netlint.git
$ cd netlint
$ pip install .
$ netlint --help
Usage: netlint [OPTIONS] COMMAND [ARGS]...

  Lint network device configuration files.

  [...]

Release files for netlint 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netlint 0.1.2
File Size Uploaded
netlint-0.1.2.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netlint 0.1.2
File Interpreter ABI Platform
netlint-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 60.8 kB

Release files / netlint-0.1.2.tar.gz

Download URL netlint-0.1.2.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c6b711ac2982c6d975d705c57e01d9dc926b4be7ec2e1d5f11604fa63ef49665
BLAKE2b-256 checksum
How to use checksums
d680d76cf0ea25b300bb439d5a16ec9e5256699f191ced8810d58e2c4a02b9b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.5 CPython/3.9.2 Windows/10

Release files / netlint-0.1.2-py3-none-any.whl

Download URL netlint-0.1.2-py3-none-any.whl
Size 37.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26bcc862be7473ac8b39ed983b0b49a8cc2d5b537da3465b72f44d71509c46e6
BLAKE2b-256 checksum
How to use checksums
93500cf9935bbeacefe22fcff0d573fdd84ad3943c94b27e940f25461a1aff61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.5 CPython/3.9.2 Windows/10

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page