Small improved command line ICMP ping program lovingly inspired by windows and linux, written in C#.
Stable releases can be downloaded [here]
- Basic ping functionality
- Coloured output
- Display options
- ICMP packet customisation
- Scanning
- Flooding
- ICMP packet capture (/listen)
- IP location lookup
- Whois lookup
- Graphing
Future features:
Ping Options:
--infinite [--t] Ping the target until stopped (Ctrl-C to stop)
--ipv4 [--4] Force using IPv4
--random [--rng] Generates random ICMP message
--dontfrag [--df] Set 'Don't Fragment' flag
--buffer [--rb] number Sets recieve buffer size (default is 5096)
--beep [--b] number Beep on timeout (1) or on reply (2)
--count [--c] number Number of pings to send
--timeout [--w] number Time to wait for reply (in milliseconds)
--ttl [--i] number Time To Live for packet
--interval [--in] number Interval between each ping (in milliseconds)
--type [--pt] number Use custom ICMP type
--code [--pc] number Use custom ICMP code value
--size [--s] number Set size (in bytes) of packet (overwrites packet message)
--message [--m] message Ping packet message
--timing [--ti] timing Timing levels:
0 - Paranoid 4 - Nimble
1 - Sneaky 5 - Speedy
2 - Quiet 6 - Insane
3 - Polite 7 - Random
Display Options:
--shorthand [--sh] Show less detailed replies
--displaymsg [--dm] Display ICMP message contents
--timestamp [--ts] Display timestamps (add 'UTC' for Coordinated Universal Time)
--fulltimestamp [--fts] Display full timestamps with localised date and time
--nocolor [--nc] No colour
--symbols [--sym] Renders replies and timeouts as ASCII symbols (add '1' for alt theme)
--requests [--r] Show request packets
--notimeouts [--nt] Don't display timeout messages
--quiet [--q] No output (only affects normal ping)
--resolve [--res] Resolve hostname of response address from DNS
--inputaddr [--ia] Show input address instead of revolved one
--checksum [--chk] Display checksum of packet
--limit [--l] number Limits output to just replies (1), requests (2) or summary(3)
--decimals [--dp] number Num of decimal places to use (0 to 3)
Input Options:
--noinput [--ni] Don't ask for user input upon completion
--requireinput [--ri] Always ask for user input upon completion
(NOTE: These settings persist between runs so only need
to be used once. However, they will function the same
if used in every command.)
Modes:
--scan [--sc] address Network scanning, specify range "127.0.0.1-55"
(listen command without address will listen on all local network adapters)
--flood [--fl] address Send high volume of pings to address
--graph [--g] address Graph view
--compact [--cg] address Compact graph view
--location [--loc] address Location info for an address
--listen [--li] address Listen for ICMP packets on an address
--listen [--li] Listen for ICMP packets on all local network adapters
--whois address Whois lookup for an address
--whoami Location info for current host
Others:
--help [--?] Displays this help message
--version [--v] Shows version and build information
--examples [--ex] Shows example usage
powerping 8.8.8.8 - Send ping to google DNS with default values (3000ms timeout, 5 pings)
powerping github.com --w 500 --t - Send pings indefinitely to github.com with a 500ms timeout
powerping --w 500 --t github.com - Address can also be specified at the end
powerping 127.0.0.1 --m Meow - Send ping with packet message "Meow" to loopback address
powerping 127.0.0.1 --pt 3 --pc 2 - Send ping with ICMP type 3 (dest unreachable) and code 2
powerping 8.8.8.8 /c 5 -w 500 --sh - Different argument switches (/, - or --) can be used in any combination
powerping google.com /ti Paranoid - Sends using the 'Paranoid' timing option
powerping google.com /ti 1 - Same as above
License under the MIT License:
Copyright (c) 2020 Matthew Carney matthewcarney64@gmail.com
Requires Elevated Rights (Admininstrator) to Run (more info here)