{"id":16895751,"url":"https://github.com/ytti/netcrawl","last_synced_at":"2025-03-17T06:31:53.675Z","repository":{"id":15536146,"uuid":"18270844","full_name":"ytti/netcrawl","owner":"ytti","description":"LLDP/CDP crawler","archived":false,"fork":false,"pushed_at":"2018-07-20T08:06:42.000Z","size":22,"stargazers_count":61,"open_issues_count":4,"forks_count":12,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-12T16:05:33.581Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ytti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-30T18:47:53.000Z","updated_at":"2025-02-02T00:22:22.000Z","dependencies_parsed_at":"2022-09-10T11:32:07.731Z","dependency_job_id":null,"html_url":"https://github.com/ytti/netcrawl","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytti%2Fnetcrawl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytti%2Fnetcrawl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytti%2Fnetcrawl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytti%2Fnetcrawl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytti","download_url":"https://codeload.github.com/ytti/netcrawl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243847061,"owners_count":20357317,"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":[],"created_at":"2024-10-13T17:25:53.936Z","updated_at":"2025-03-17T06:31:52.831Z","avatar_url":"https://github.com/ytti.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netcrawl\nGiven snmp community and single device, crawls the network via discovering\nLLDP/CDP neighbours, while producing list or dot file (for graphviz digraphs)\n\n## Install\n% gem install netcrawl\n\n## Use\n% netcrawl --graphiz router.example.com\n\n## Command line\n```\nUsage: netcrawl [options] hostname\n    -g, --graphviz       dot output use 'dot -Tpng -o map.png map.dot'\n    -l, --list           list nodes\n    -j, --json           json output\n    -y, --yaml           yaml output\n    -a, --hash           hash/associative array output\n    -r, --resolve        resolve addresses to names\n    -p, --purge          remove peers not in configured CIDR\n    -c, --community      SNMP community to use\n    -d, --debug          turn debugging on\n    -h, --help           Display this help message.\n\n```\n  * graphiz   - graphis (dot) output\n  * list      - list nodes found\n  * json      - json output\n  * yaml      - yaml output\n  * hash      - ruby hash output\n  * resolve   - resolve IP addresses\n  * purge     - remove non-cidr matching peers from output\n  * community - sets snmp community\n  * debug     - turn on debugging\n\n## Config\n```\n---\nuse:\n- LLDP\n- CDP\npoll:\n- 192.0.2.0/24\nsnmp:\n  community: public\n  timeout: 1\n  retries: 2\n  bulkrows: 35\ndot:\n  bothlinks: true\n  color:\n  - - cpe\n    - gold\n  - - -sw\n    - blue\n  - - -pe\n    - red\n  - - ' -p'\n    - yellow\ndns:\n  afi: \nlog: STDERR\ndebug: false\nnamemap:\n- - -re\\d+\n  - ''\n- - (.*(?\u003c!as23456.net)$)\n  - \\1.as23456.net\n```\n\n  * use  - methods to use for crawling\n  * poll - cidrs to allow snmp for\n  * snmp community - snmp community to use\n  * snmp timout    - snmp timout in seconds\n  * snmp retries   - snmp retries count\n  * snmp bulkrows  - snmp row count for bulkget\n  * dot bothlinks  - show a-b and b-a link\n  * dot color      - regexp to color, first hit used\n  * dns afi        - ipv4/ipv6 or nil\n  * log            - STDERR/STDOUT or file\n  * debug          - debugging\n  * namemap        - map (LLDP) name to FQDN (JunOS does not give domain)\n\n## Library use\nrequire 'netcrawl'\noutput = NetCrawl.new.crawl('192.0.2.1').to_hash\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fytti%2Fnetcrawl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fytti%2Fnetcrawl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fytti%2Fnetcrawl/lists"}