{"id":13609185,"url":"https://github.com/germandutchwindtunnels/nettools","last_synced_at":"2025-04-12T19:33:26.888Z","repository":{"id":218022153,"uuid":"81953163","full_name":"germandutchwindtunnels/nettools","owner":"germandutchwindtunnels","description":"Networking tools to handle networks of Cisco IOS-based switches. Written in Python.","archived":false,"fork":false,"pushed_at":"2019-09-24T11:21:39.000Z","size":123,"stargazers_count":10,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-01T19:51:36.615Z","etag":null,"topics":["cisco-device","qt-gui","switch","telnet-client","vlan"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/germandutchwindtunnels.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-14T14:25:01.000Z","updated_at":"2022-08-31T12:39:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6ac6679-23e9-4512-9c7e-05f31a3284b4","html_url":"https://github.com/germandutchwindtunnels/nettools","commit_stats":null,"previous_names":["germandutchwindtunnels/nettools"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/germandutchwindtunnels%2Fnettools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/germandutchwindtunnels%2Fnettools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/germandutchwindtunnels%2Fnettools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/germandutchwindtunnels%2Fnettools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/germandutchwindtunnels","download_url":"https://codeload.github.com/germandutchwindtunnels/nettools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223538934,"owners_count":17162014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cisco-device","qt-gui","switch","telnet-client","vlan"],"created_at":"2024-08-01T19:01:33.136Z","updated_at":"2024-11-07T15:30:27.968Z","avatar_url":"https://github.com/germandutchwindtunnels.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# nettools\nNetworking tools to handle networks of Cisco IOS-based switches. Written in Python.\n\n## What it is used for.\nThe software is mostly used for configuring ports to specific VLANs. The patch-id of the port should follow a certain format and be present in the port's description field, in order to be picked up by nettools.\nThis format should match the regular expression `(?P\u003cpatchid\u003e[a-z0-9_]+(\\-|\\.)[a-z0-9]+(\\-|\\.)[0-9]+[a-z]?)`\nThe software can also be used for:\n* Adding/removing users on all equipment.\n* Changing parameters on all switches.\n* Finding equipment in your network, by collecting MAC tables and ARP tables.\n* Blocking equipment in your network.\n* Autoconfiguring equipment in your network.\n\n## How it works.\nThe software is designed to use the Cisco Discovery Protocol to \"discover\" the network structure. The software uses the following procedure for this:\n1. Connect to the first switch using telnet. Use the supplied username and password.\n2. Collect all neighbors with the `show cdp neighbors` command.\n3. Recursively connect to all neighbors and perform the same procedure.\n\nThis is performed in a parallel fashion, since Cisco IOS switches are usually pretty slow.\n\nFor the procedure to work, a number of conditions must be met:\n* All switches must be registered in DNS with their hostname. For example, a switch called \"switch01\" must be registered as \"switch01.example.com\" in DNS.\n* All switches must have CDP turned on. One could, theoretically, use LLDP instead of CDP btw.\n* The user supplied to nettools must be registered on the switch with enough privileges.\n\n## How to run this application\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\nThe application needs to be started with the following command:\n* python NewGui.pyw _username password first-switch_\n\n-or-\n* python PortConfigGui.py _username password first-switch_\n\nKeep in mind, there are several seperate functionalities / tools not implemented into the GUI\n\nFor instance:\n* python remote_span _username password first-switch_ list\n* python network_overview.py _username password router first-switch_\n* python network_graph.py _username password first-switch_ \u003e graph.dot \u0026\u0026 dot -Tsvg -Kdot -o graph.svg graph.dot\n\n\n=======\nThe application is started as follows:\n* python NewGui.pyw\n\nIt will then ask you for a username, password and a first switch to \ncontact.\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e refs/remotes/origin/master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgermandutchwindtunnels%2Fnettools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgermandutchwindtunnels%2Fnettools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgermandutchwindtunnels%2Fnettools/lists"}