Skip to main content

Jolly IP


Scan an IP range, but happily.

  Jolly IP is the happier, Java-free alternative to Angry IP Scanner.

Installation

$ pip3 install --user jollyip
  • jollyIP requires Python 3.6 or later
  • jollyIP must be run as root (sudo jollyip)

About

Jolly IP was made during a fit of rage, after being told I had to install Java in order to install Angry IP Scanner on 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, The underlying ICMP library supports macOS, Linux, and Windows, as do all other minor dependencies. If you run into a compatibility issue, please raise an issue and I'll do what I can.

Usage

IP

# jollyip 192.0.2.1
Starting jolly ping to 192.0.2.1...

  Response from 192.0.2.1 received in 28.32 ms

Completed jolly ping to 192.0.2.1

┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓
┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩
│ 1       │ 1           │ 1     │ 0           │
└─────────┴─────────────┴───────┴─────────────┘

Subnet

# jollyip 2001:db8::/126
Starting jolly ping to 2001:db8::/126...

  Response from 2001:db8::1 received in 117.16 ms
  Response from 2001:db8::2 received in 102.13 ms
  2001:db8::3 is unreachable

Completed jolly ping to 2001:db8::/126

Range

# jollyip 192.0.2.1-6
Starting jolly ping to 192.0.2.1-6...

  Response from 192.0.2.1 received in 26.68 ms
  Response from 192.0.2.2 received in 26.52 ms
  Response from 192.0.2.3 received in 24.91 ms
  192.0.2.4 is unreachable
  192.0.2.5 is unreachable
  Response from 192.0.2.6 received in 30.06 ms

Completed jolly ping to 192.0.2.1-6

┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓
┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩
│ 6       │ 6           │ 4     │ 2           │
└─────────┴─────────────┴───────┴─────────────┘

Complex Range

# jollyip 192.0.2.1,192.0.2.9-13,192.0.2.64/29
Starting 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 ms
  192.0.2.9 is unreachable
  Response from 192.0.2.10 received in 26.49 ms
  Response from 192.0.2.11 received in 23.04 ms
  Response from 192.0.2.12 received in 25.28 ms
  192.0.2.13 is unreachable
  192.0.2.64 is unreachable
  192.0.2.65 is unreachable
  192.0.2.66 is unreachable
  192.0.2.67 is unreachable
  192.0.2.68 is unreachable
  192.0.2.69 is unreachable
  192.0.2.70 is unreachable
  192.0.2.71 is unreachable

Completed 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

# jollyip 2001:db8::0/126,192.0.0.241,192.0.2.1-2

Starting jolly ping to 2001:db8::/126,192.0.0.241,192.0.2.1-2...

  Response from 2001:db8::1 received in 107.85 ms
  Response from 2001:db8::2 received in 112.27 ms
  2001:db8::3 is unreachable
  Response from 192.0.0.241 received in 43.93 ms
  Response from 192.0.2.1 received in 29.02 ms
  Response from 192.0.2.2 received in 25.38 ms

Completed jolly ping to 2001:db8::/126,192.0.0.241,192.0.2.1-2

┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓
┃ Targets ┃ Transmitted ┃ Alive ┃ Unreachable ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩
│ 7       │ 7           │ 5     │ 2           │
└─────────┴─────────────┴───────┴─────────────┘

Metadata

Release files for jollyip 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jollyip 0.0.3
File Size Uploaded
jollyip-0.0.3.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jollyip 0.0.3
File Interpreter ABI Platform
jollyip-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 15.8 kB

Release files / jollyip-0.0.3.tar.gz

Download URL jollyip-0.0.3.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2f49c69c3d4f2cfd564ee7fb2764069baeac0c9fb7804b63ecf76bc98102414e
BLAKE2b-256 checksum
How to use checksums
3900f5d69f744bafc751e4278a78df4156aa2317ecf0f4a9f3e5d15e6056434a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.0 CPython/3.7.6 Darwin/19.2.0

Release files / jollyip-0.0.3-py3-none-any.whl

Download URL jollyip-0.0.3-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13c52370f3463e0d45e498ad5450191691082b4cb8e8abb2d5694842f058340f
BLAKE2b-256 checksum
How to use checksums
fa83ad2917f8708751254a2d6c1d240af4d4f6f93b8591afd4dfff3790d09a04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.0 CPython/3.7.6 Darwin/19.2.0

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page