Skip to content

StewAlexander-com/NetVendor

Repository files navigation

NetVendor

What vendors are lurking on your network?

This software figures this out!

How?

This program reviews an ARP or MAC Address table (Such as a Cisco IOS sh ip arp or sh mac add output), and produces information on your network like:

  • How many different vendors (as in companies) exist within your network?
  • How many different types of hardware (MAC OUIs) exist within your network?
  • Where are all these things, and what are their IPs?
  • A list (and total) of all the Apple, Cisco, Dell, HP, and Mitel products that exist on your network
  • Are there any hidden VLANs lurking within your network? This answers this too!

Table of Contents:

Why?

  • Understanding what exactly is in your network is essential for security reasons...
  • Benchmarks your network so you can easily see changes

Dependencies

  • This uses a restful API to search for the vendors, so it needs a working internet connection
  • This needs the output of an ARP or MAC Address table as a text file (such as the Cisco IOS #sh ip arp format seen below), as it is using this to do the lookup

Input

  • Contents of an ARP or MAC Address table as a text file (such as a Cisco #sh ip arp output, like below):

    image

Output

  • Example of the output:

    image program_output2 image
  • If Chrome or Firefox is available (on a Windows, Mac or Linux system), it will create an interactive web-based pie chart and display it in the browser: 2022-03-06 18 43 25
  • Created text file "company_list.txt" output:

    image
  • Created text file "oui_final_list.txt" output:

    image
  • Created Vendor-Devices.txt file:

    image
  • Creates a list of CSV "spreadsheet" device files and puts them in a new csv_files folder
  • Puts all the *.txt files created into the text_files folder

Updates

  • Bug checking after refractoring (to do)
  • Refractored code for general efficiency, readability and resiliency (11/09/2023)
  • Automatically attempts to upgrade required libraries (05/22/2022)
  • Added a banner and info box (see output section of readme, 04/21/22)
  • Fixed issue if text / CSV files already exist (04/07/2022)
  • Added a timeout to the Vendor lookup, and significantly improved company lookup time (04/06/2022)
  • Created CSV files for every created device text file in a separate csv_files folder, for easy review by any spreadsheet app like visidata (added 03/23/2022)
  • Added code to move all the *.txt files to a created text_files folder (added 03/23/2022)
  • Fixed a bug where a created csv file may have contents from more than one device file in it (resolved 03/23/2022)
  • Used the rich library to colorize cli output (added 03/06/2022)
  • Style Improvements [on-going, started 03/06/2022]
  • Added lookup for Mitel Corperation Phones (02/11/2022)
  • Streamlined API call, add support for Apple Macs (supporting Windows, Linux or Mac computers (Added 02/10/2022)
  • Added a progress bar for collecting oui info via “tqdm” (added 12/22/2021)
  • Use the sanitized OUI list here, to increase filtering (on-going)

To-Do's

  • Modify code to check if necessary modules exists, if not ask user if installation is needed
  • Get rid of superflous file close operations
  • Add more vendor checks

-----