Package: jollyip
Jolly IPScan an IP range, but happily.Jolly IP is the happier, Java-free alternative to Angry IP Scanner.Installation$pip3install--userjollyipjollyIP requiresPython 3.6 or laterjollyIP must be run as root (sudo jollyip)AboutJolly IP was made during a fit of rage, after being told I had to install Java in order to installAngry IP Scanneron macOS (which I refuse to do). While Angry IP is a great app, as a network engineer, most of the time I just need a quick CLI solution to scan something or generate some ARP entries. Jolly IP has the added advantage of being able to specify hosts, subnets, ranges, or any combination thereof in a single command.As such, very little testing outside macOS has been done. That said, Theunderlying ICMP librarysupports macOS, Linux, and Windows, as do all other minor dependencies. If you run into a compatibility issue, pleaseraise an issueand I'll do what I can.UsageIP#jollyip192.0.2.1Starting jolly ping to 192.0.2.1...Response from 192.0.2.1 received in 28.32 msCompleted jolly ping to 192.0.2.1┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩│ 1       │ 1           │ 1     │ 0           │└─────────┴─────────────┴───────┴─────────────┘Subnet#jollyip2001:db8::/126Starting jolly ping to 2001:db8::/126...Response from 2001:db8::1 received in 117.16 msResponse from 2001:db8::2 received in 102.13 ms2001:db8::3 is unreachableCompleted jolly ping to 2001:db8::/126Range#jollyip192.0.2.1-6Starting jolly ping to 192.0.2.1-6...Response from 192.0.2.1 received in 26.68 msResponse from 192.0.2.2 received in 26.52 msResponse from 192.0.2.3 received in 24.91 ms192.0.2.4 is unreachable192.0.2.5 is unreachableResponse from 192.0.2.6 received in 30.06 msCompleted jolly ping to 192.0.2.1-6┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩│ 6       │ 6           │ 4     │ 2           │└─────────┴─────────────┴───────┴─────────────┘Complex Range#jollyip192.0.2.1,192.0.2.9-13,192.0.2.64/29Starting jolly ping to 192.0.2.1,192.0.2.9-13,192.0.2.64/29...Response from 192.0.2.1 received in 29.96 ms192.0.2.9 is unreachableResponse from 192.0.2.10 received in 26.49 msResponse from 192.0.2.11 received in 23.04 msResponse from 192.0.2.12 received in 25.28 ms192.0.2.13 is unreachable192.0.2.64 is unreachable192.0.2.65 is unreachable192.0.2.66 is unreachable192.0.2.67 is unreachable192.0.2.68 is unreachable192.0.2.69 is unreachable192.0.2.70 is unreachable192.0.2.71 is unreachableCompleted jolly ping to 192.0.2.1,192.0.2.9-13,192.0.2.64/29┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩│ 14      │ 14          │ 4     │ 10          │└─────────┴─────────────┴───────┴─────────────┘Mixing Protocols#jollyip2001:db8::0/126,192.0.0.241,192.0.2.1-2Starting jolly ping to 2001:db8::/126,192.0.0.241,192.0.2.1-2...Response from 2001:db8::1 received in 107.85 msResponse from 2001:db8::2 received in 112.27 ms2001:db8::3 is unreachableResponse from 192.0.0.241 received in 43.93 msResponse from 192.0.2.1 received in 29.02 msResponse from 192.0.2.2 received in 25.38 msCompleted jolly ping to 2001:db8::/126,192.0.0.241,192.0.2.1-2┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩│ 7       │ 7           │ 5     │ 2           │└─────────┴─────────────┴───────┴─────────────┘