wyko / netcrawl Goto Github PK
View Code? Open in Web Editor NEWNetcrawl is a tool designed to discover and poll one or more devices, inventory them, and then provide useful data on the processed devices.
Home Page: http://netcrawl.readthedocs.io
Netcrawl is a tool designed to discover and poll one or more devices, inventory them, and then provide useful data on the processed devices.
Home Page: http://netcrawl.readthedocs.io
Currently, when the application runs and is interrupted, there is no code to gracefully exit execution. Especially when scanning with subprocesses, as they have a tenancy to stick around after the interrupt.
Implement support for interrupts.
signal
module to get the subprocesses to ignore the KeyboardInterrupt
, then terminating the workers normallyCome up with a save format
Find out how to retrieve the data too
Please let me know if you'd like to incorporate support for JUNOS devices in the future, I would be happy to help out.
Hello, I'm using python 3.6 with inside a virtualenv and I can't get information to display whatever the platform (cisco_nxos, cisco_ios or cisco_xe).
python run.py -sS -t 172.28.46.253 -p cisco_nxos
main.main : #3 Start new run
main.main : #3 ##### Starting Single Run #####
main.single_run : #3 Processing connection to 172.28.46.253
base_device.process_devices : #4 Processing device
cli.connect : ? SSH auth error to 172.28.46.253 using admin, In
cli.connect : ? SSH auth error to 172.28.46.253 using admin, In
cli.connect : #4 Successful ssh auth to 172.28.46.253 using administrator, In
base_device.process_devices : ? _enable - Error: 'CiscoNxosSSH' object has no attribute 'ip'
main.single_run : ? Connection to 172.28.46.253 failed: 'CiscoNxosSSH' object has no attribute 'ip'
Device processing failed
main.main : #3 ##### Single Run Complete #####
Could you please help to point what is wrong?
All parts of the program need more tests. Optimal test coverage should reach over 80%.
A lot of the application depends on a populated database or a connection to a live device. How do we test without a live network to test on? Maybe through pre-downloaded samples of device output?
Netcrawl currently polls devices properly, but once the data is in the database there's no convenient way to interact with it outside of an SQL query
Implement a web-based front end to allow users to interact with the polled data. Obviously, there are a lot of ways to do this, but I'm not a web developer and I am open to ideas and help.
For testing purposes, we should have fully populated structures to work with. For this, we need helper functions which create on-demand, populated interfaces and devices, as well as filling the inventory
and main
databases with fake data.
When appropriate, these fake structures can be used alongside pre-made ones in situations where exactly known data is not needed.
Using the Faker
package will expedite this
Find out what format Solarwinds requires
Output an importable file containing all detected devices
Please add new device types!
Each device will save it's mac address table per switchport. The result is that both the directly connected device and all devices in the same layer two path storing an end device's MAC address.
The MAC Audit module will take a csv (or any other input, as added in the future) and to compare it with the database of polled mac addresses. The purpose is for things like Rogue AP audits, where a rogue device may be detected, its MAC polled, and then compared against macs connected to switchports for a similar OUI.
For each csv mac address:
The csv needs at minimum the mac
column as well as either a network_ip
column or an ip
and subnet
column.
Challenges:
The setup scripts need to be updated.
When performing a scan with a pre-existing database, the application will identify pre-existing devices and update them rather than adding duplicate entries.
After polling a device, search the database for a duplicate unique_name
.
If found:
device_id
of the match to the polled device. Compare each entry and update them.The application may be interested in tracking changes in device state over time. What would be the best way to do that?
I think there are extra SQL calls in there that can be very seriously trimmed down. Low priority.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.