Skip to content

Lightweight multi-network roll-call tool for quick host presence visibility, presenting results in a clear, table-based format with network and hostname resolution.

License

Notifications You must be signed in to change notification settings

saaryachin/RollCall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RollCall

RollCall is a lightweight, opinionated network roll-call tool for quick host presence visibility in homelab and SOC-style environments.

It answers one question:

Who is currently present (reachable) on my network?

RollCall scans one or more CIDR networks, identifies which hosts respond, optionally resolves them to meaningful names, and presents the results in a clear table with networks as columns.

Features

  • Scan one or more CIDR networks (single or multi-network table)
  • Optional DNS PTR resolution (--resolve)
  • Local name resolution via rollcall.conf (networks + hosts)
  • Opinionated defaults, minimal dependencies, CLI-first

Non-goals

  • No port scanning
  • No fingerprinting
  • No persistence / asset database

Requirements

  • Python 3.9+
  • Uses the system ping command

Install

Clone and run:

git clone https://github.com/saaryachin/RollCall.git 
cd RollCall
python3 rollcall.py

Optionally, make it executable and place it on your PATH:

chmod +x rollcall.py
cp rollcall.py ~/.local/bin/rollcall

Usage

Scan networks from the command line

python3 rollcall.py 172.16.1.0/24
python3 rollcall.py 172.16.1.0/24,192.168.1.0/24

If installed on your PATH (e.g. in ~/.local/bin), rollcall can be run without python3.

Resolve hostnames via DNS (PTR), as a fallback

python3 rollcall.py 172.16.1.0/24 --resolve

Show scan progress messages

python3 rollcall.py -v 172.16.1.0/24

Use networks from rollcall.conf (no args)

If rollcall.conf exists and contains a [networks] section, you can run:

python3 rollcall.py

Ignore rollcall.conf

python3 rollcall.py --no-resolve-file 172.16.1.0/24

rollcall.conf format and location

RollCall automatically reads rollcall.conf from one of the following locations (unless --no-resolve-file is used):

  1. $XDG_CONFIG_HOME/rollcall/rollcall.conf (typically ~/.config/rollcall/rollcall.conf)
  2. rollcall.conf located in the same directory as the rollcall script

The current working directory is not used for configuration lookup.

[networks]
192.168.1.0/24 HomeNetwork
172.16.1.0/24 LabNetwork

[hosts]
192.168.1.1 HomeGateway
192.168.1.10 HomeServer
172.16.1.1 LabGateway
172.16.1.10 LabServer

Resolution order

For each live IP:

  1. [hosts] mapping in rollcall.conf
  2. DNS PTR lookup (only if --resolve)
  3. Fall back to the IP address

Note: Names in rollcall.conf override DNS (PTR) results.

Notes / limitations

  • RollCall relies on ICMP echo requests (“ping”). Hosts that block ICMP (common on Windows by default) may not appear as “up”.

  • Large subnets generate more traffic and take longer; start with /24s.

License

MIT (see LICENSE).

About

Lightweight multi-network roll-call tool for quick host presence visibility, presenting results in a clear, table-based format with network and hostname resolution.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages