pingall

Crates.iopingall
lib.rspingall
version0.4.2
sourcesrc
created_at2021-07-23 21:08:56.963667
updated_at2024-09-16 21:10:45.910613
descriptionPing everything you can reach.
homepage
repositoryhttps://github.com/Fierthraix/pingall
max_upload_size
id426434
size57,303
(Fierthraix)

documentation

README

pingall

Utility to quickly and efficiently discover available ip addresses and their hostnames on your network. This program will always finish within 2 seconds, much faster than nmap 196.168.1.*.

  • Quickly find all ip addresses and hostnames on your network.
  • Populate DNS/mDNS tables automatically.

Usage

USAGE:
    pingall [FLAGS] [OPTIONS]

FLAGS:
    -d, --dont-resolve    Don't attempt to resolve hostnames
    -h, --help            Prints help information
    -r, --raw-socket      Open raw socket instead of using system `ping` command. Requires permissions
    -V, --version         Prints version information

OPTIONS:
    -i, --interface <interface>    Interface to search

Ping all available ip addresses:

$ pingall
192.168.0.1        router.local
192.168.0.19       SAMSUNG-GALAXY-8
192.168.0.98       raspberrypi.local
10.10.0.132
10.10.0.152        vps.local
10.10.0.243

Ping only Wi-Fi addresses on wlan0, don't resolve hostnames:

pingall -i wlan0 --dont-resolve
192.168.0.1
192.168.0.19
192.168.0.98

Installation

cargo install pingall

Details

Simultaneously ping all of the addresses on your subnets with a 1 second timeout, so we can gauge who is responsive on the network. tokio is used to make it all asynchronous (only 1 thread is used).

Raw Ping

The system ping command is used by default, as opening raw sockets in unix requires root permissions. To avoid using the ping command, you can use the --raw-socket flag, but this will require either sudo, or running

setcap cap_net_raw+ep $(which pingall)

to give this program permission.

Dependencies

Commit count: 28

cargo fmt