Skip to content

Commit f6922b0

Browse files
committed
Made Gray default console foreground color for packet types
Minor change to catch more errors in location lookup Minor timing change in Ping.cs Updated version to 1.2 Some repo re-organization Updated index.md
1 parent ee729c1 commit f6922b0

File tree

9 files changed

+196
-80
lines changed

9 files changed

+196
-80
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PowerPing - Advanced Windows Ping
22

3-
[![version](https://img.shields.io/badge/version-1.1.9-brightgreen.svg)]() ![maintained](https://img.shields.io/maintenance/yes/2017.svg) ![](http://img.badgesize.io/Killeroo/PowerPing/master/build/PowerPing.exe.svg)
3+
[![version](https://img.shields.io/badge/version-1.2.0-brightgreen.svg)]() ![maintained](https://img.shields.io/maintenance/yes/2017.svg) ![](http://img.badgesize.io/Killeroo/PowerPing/master/build/PowerPing.exe.svg)
44

55
Small improved command line ICMP ping program lovingly inspired by windows and linux, written in C#.
66

build.sh

Lines changed: 0 additions & 25 deletions
This file was deleted.

build/PowerPing.exe

512 Bytes
Binary file not shown.

docs/index.md

Lines changed: 161 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,68 @@
11
# PowerPing - Advanced Windows Ping
22

3-
[![version](https://img.shields.io/badge/version-1.1.8-green.svg)]() ![maintained](https://img.shields.io/maintenance/yes/2017.svg) ![](http://img.badgesize.io/Killeroo/PowerPing/master/build/PowerPing.exe.svg)
3+
[![version](https://img.shields.io/badge/version-1.2.0-brightgreen.svg)]() ![maintained](https://img.shields.io/maintenance/yes/2017.svg) ![](http://img.badgesize.io/Killeroo/PowerPing/master/build/PowerPing.exe.svg)
44

5-
Small improved command line ICMP ping program lovingly inspired by windows and unix, written in C#.
5+
Small improved command line ICMP ping program lovingly inspired by windows and linux, written in C#.
66

7-
Download it here: [[Current Build]](https://github.com/Killeroo/PowerPing/tree/master/build) [[Github]](https://github.com/Killeroo/PowerPing/releases) [[Softpedia]](http://www.softpedia.com/progDownload/PowerPing-Download-255701.html)
7+
Download it here: [[Current Build]](https://github.com/Killeroo/PowerPing/tree/master/build) [[Development Build]](https://github.com/Killeroo/PowerPing/blob/dev/build/PowerPing.exe) [[Github]](https://github.com/Killeroo/PowerPing/releases) [[Softpedia]](http://www.softpedia.com/progDownload/PowerPing-Download-255701.html)
88
***
9-
![](https://github.com/killeroo/PowerPing/Screenshots/readme_screenshot.png "PowerPing in action")
9+
![alt text](docs/screenshots/readme_screenshot.png "PowerPing in action")
10+
11+
## Features
12+
13+
PowerPing contains the following features (with more to come...):
14+
15+
- [x] Basic ping functionality
16+
- [x] Coloured output
17+
- [x] Display options
18+
- [x] [packet customisation](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
19+
- [x] [scanning](https://en.wikipedia.org/wiki/Ping_sweep)
20+
- [x] [flooding](https://en.wikipedia.org/wiki/Ping_flood)
21+
- [x] [packet capture (listening)](docs/screenshots/readme_screenshot3.png)
22+
- [x] [location lookup](docs/screenshots/readme_screenshot4.png)
23+
- [x] [graphing](docs/screenshots/readme_screenshot2.png)
24+
- [ ] [traceroute](https://en.wikipedia.org/wiki/Traceroute)
25+
- [ ] [tunnelling](https://en.wikipedia.org/wiki/ICMP_tunnel)
26+
- [ ] [IPv6/icmpv6](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_version_6)
1027

1128
## Usage:
12-
PowerPing [--?] | [--li] | [--whoami] | [--loc] | [--g] | [--cg] | [--fl] |
29+
PowerPing [--?] | [--li] | [--whoami] | [--loc] | [--g] | [--cg] | [--sc] | [--fl] |
1330
[--t] [--c count] [--w timeout] [--m message] [--i TTL] [--in interval]
14-
[--pt type] [--pc code] [--dm] [--4] [--sh] [--nc] [--ti timing] target_name
31+
[--pt type] [--pc code] [--dm] [--4] [--sh] [--nc] [--ts] [--ti timing] target_name
1532

1633
## Arguments:
17-
--? Displays this help message
18-
--t Ping the target until stopped (Control-C to stop)
19-
--c count Number of pings to send
20-
--w timeout Time to wait for reply (in milliseconds)
21-
--m message Ping packet message
22-
--i ttl Time To Live
23-
--in interval Interval between each ping (in milliseconds)
24-
--pt type Use custom ICMP type
25-
--pc code use custom ICMP code value
26-
--dm Display ICMP messages
27-
--4 Force using IPv4
28-
--sh Show less detailed replies
29-
--nc No colour
30-
--ti timing Timing level:
31-
0 - Paranoid 4 - Nimble
32-
1 - Sneaky 5 - Speedy
33-
2 - Quiet 6 - Insane
34-
3 - Polite
34+
Options:
35+
--help [--?] Displays this help message
36+
--examples [--ex] Shows example usage
37+
--infinite [--t] Ping the target until stopped (Control-C to stop)
38+
--displaymsg [--dm] Display ICMP messages
39+
--request [--r] Show request packets
40+
--shorthand [--sh] Show less detailed replies
41+
--nocolor [--nc] No colour
42+
--noinput [--ni] Require no user input
43+
--timestamp [--ts] Display timestamp
44+
--decimals [--dp] number Num of decimal places to use (0 to 3)
45+
--count [--c] number Number of pings to send
46+
--timeout [--w] number Time to wait for reply (in milliseconds)
47+
--ttl [--i] number Time To Live
48+
--interval [--in] number Interval between each ping (in milliseconds)
49+
--type [--pt] number Use custom ICMP type
50+
--code [--pc] number Use custom ICMP code value
51+
--message [--m] message Ping packet message
52+
--timing [--ti] timing Timing levels:
53+
0 - Paranoid 4 - Nimble
54+
1 - Sneaky 5 - Speedy
55+
2 - Quiet 6 - Insane
56+
3 - Polite
3557
36-
--li Listen for ICMP packets
37-
--fl Send high volume of ICMP packets to address
38-
--g Graph view
39-
--cg Compact graph view
40-
--loc Location info for an address
41-
--whoami Location info for current host
58+
Features:
59+
--scan [--sc] address Network scanning, specify range "127.0.0.1-55"
60+
--listen [--li] address Listen for ICMP packets
61+
--flood [--fl] address Send high volume of pings to address
62+
--graph [--g] address Graph view
63+
--compact [--cg] address Compact graph view
64+
--location [--loc] address Location info for an address
65+
--whoami Location info for current host
4266

4367
## Examples:
4468
powerping 8.8.8.8 - Send ping to google DNS with default values (3000ms timeout, 5 pings)
@@ -47,29 +71,118 @@ Download it here: [[Current Build]](https://github.com/Killeroo/PowerPing/tree/m
4771
powerping 127.0.0.1 --m Meow - Send ping with packet message "Meow" to loopback address
4872
powerping 127.0.0.1 --pt 3 --pc 2 - Send ping with ICMP type 3 (dest unreachable) and code 2
4973
50-
powerping 8.8.8.8 /c 5 -w 500 --sh - Different argument switches (/, - or --) can be used in any combination
51-
powerping google.com /ti Paranoid - Sends using the 'Paranoid' timing option
52-
powerping google.com /ti 1 - Same as above
53-
74+
powerping 8.8.8.8 /c 5 -w 500 --sh - Different argument switches (/, - or --) can be used in any combination
75+
powerping google.com /ti Paranoid - Sends using the 'Paranoid' timing option
76+
powerping google.com /ti 1 - Same as above
77+
78+
## Screenshots
79+
80+
![alt text](docs/screenshots/readme_screenshot2.png "Powerping Graph view")
81+
![alt text](docs/screenshots/readme_screenshot3.png "Powerping Listening")
82+
![alt text](docs/screenshots/readme_screenshot4.png "Location functions") ![alt text](docs/screenshots/readme_screenshot5.png "PowerPing stress testing")
83+
84+
## Contribution
85+
86+
Feel free to [file issues or request features](https://github.com/Killeroo/PowerPing/issues) and submit [pull requests](https://github.com/Killeroo/PowerPing/pulls) – contributions are welcome.
87+
88+
## License
89+
90+
PowerPing is licensed under the [MIT license](LICENSE).
91+
92+
### Note:
93+
**Requires _Elevated Rights (Admininstrator)_ to Run**
94+
95+
*Written by Matthew Carney [[email protected]] =^-^=*
96+
# PowerPing - Advanced Windows Ping
97+
98+
[![version](https://img.shields.io/badge/version-1.1.9-brightgreen.svg)]() ![maintained](https://img.shields.io/maintenance/yes/2017.svg) ![](http://img.badgesize.io/Killeroo/PowerPing/master/build/PowerPing.exe.svg)
99+
100+
Small improved command line ICMP ping program lovingly inspired by windows and linux, written in C#.
101+
102+
Download it here: [[Current Build]](https://github.com/Killeroo/PowerPing/tree/master/build) [[Development Build]](https://github.com/Killeroo/PowerPing/blob/dev/build/PowerPing.exe) [[Github]](https://github.com/Killeroo/PowerPing/releases) [[Softpedia]](http://www.softpedia.com/progDownload/PowerPing-Download-255701.html)
103+
***
104+
![alt text](docs/screenshots/readme_screenshot.png "PowerPing in action")
105+
54106
## Features
55107

56-
- [x] Colour coded response times
57-
- [x] Displays type and code of each ICMP packets
58-
- [x] Capture all ICMP communications for a computer
59-
- [x] Customisable ping payloads
60-
- [x] Detailed graph and statistical views
61-
- [x] IP location querying and whoami
62-
- [x] Send pings with custom types and size
63-
- [x] Ping flooding
64-
- [ ] Local network scanning and host discovery
65-
- [ ] Trace route functionality
66-
- [ ] Full IPv6 support
108+
PowerPing contains the following features (with more to come...):
109+
110+
- [x] Basic ping functionality
111+
- [x] Coloured output
112+
- [x] Display options
113+
- [x] [packet customisation](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages)
114+
- [x] [scanning](https://en.wikipedia.org/wiki/Ping_sweep)
115+
- [x] [flooding](https://en.wikipedia.org/wiki/Ping_flood)
116+
- [x] [packet capture (listening)](docs/screenshots/readme_screenshot3.png)
117+
- [x] [location lookup](docs/screenshots/readme_screenshot4.png)
118+
- [x] [graphing](docs/screenshots/readme_screenshot2.png)
119+
- [ ] [traceroute](https://en.wikipedia.org/wiki/Traceroute)
120+
- [ ] [tunnelling](https://en.wikipedia.org/wiki/ICMP_tunnel)
121+
- [ ] [IPv6/icmpv6](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_version_6)
122+
123+
## Usage:
124+
PowerPing [--?] | [--li] | [--whoami] | [--loc] | [--g] | [--cg] | [--sc] | [--fl] |
125+
[--t] [--c count] [--w timeout] [--m message] [--i TTL] [--in interval]
126+
[--pt type] [--pc code] [--dm] [--4] [--sh] [--nc] [--ts] [--ti timing] target_name
127+
128+
## Arguments:
129+
Options:
130+
--help [--?] Displays this help message
131+
--examples [--ex] Shows example usage
132+
--infinite [--t] Ping the target until stopped (Control-C to stop)
133+
--displaymsg [--dm] Display ICMP messages
134+
--request [--r] Show request packets
135+
--shorthand [--sh] Show less detailed replies
136+
--nocolor [--nc] No colour
137+
--noinput [--ni] Require no user input
138+
--timestamp [--ts] Display timestamp
139+
--decimals [--dp] number Num of decimal places to use (0 to 3)
140+
--count [--c] number Number of pings to send
141+
--timeout [--w] number Time to wait for reply (in milliseconds)
142+
--ttl [--i] number Time To Live
143+
--interval [--in] number Interval between each ping (in milliseconds)
144+
--type [--pt] number Use custom ICMP type
145+
--code [--pc] number Use custom ICMP code value
146+
--message [--m] message Ping packet message
147+
--timing [--ti] timing Timing levels:
148+
0 - Paranoid 4 - Nimble
149+
1 - Sneaky 5 - Speedy
150+
2 - Quiet 6 - Insane
151+
3 - Polite
152+
153+
Features:
154+
--scan [--sc] address Network scanning, specify range "127.0.0.1-55"
155+
--listen [--li] address Listen for ICMP packets
156+
--flood [--fl] address Send high volume of pings to address
157+
--graph [--g] address Graph view
158+
--compact [--cg] address Compact graph view
159+
--location [--loc] address Location info for an address
160+
--whoami Location info for current host
161+
162+
## Examples:
163+
powerping 8.8.8.8 - Send ping to google DNS with default values (3000ms timeout, 5 pings)
164+
powerping github.com --w 500 --t - Send pings indefinitely to github.com with a 500ms timeout
165+
166+
powerping 127.0.0.1 --m Meow - Send ping with packet message "Meow" to loopback address
167+
powerping 127.0.0.1 --pt 3 --pc 2 - Send ping with ICMP type 3 (dest unreachable) and code 2
168+
169+
powerping 8.8.8.8 /c 5 -w 500 --sh - Different argument switches (/, - or --) can be used in any combination
170+
powerping google.com /ti Paranoid - Sends using the 'Paranoid' timing option
171+
powerping google.com /ti 1 - Same as above
67172

68173
## Screenshots
69174

70-
![](https://github.com/killeroo/PowerPing/Screenshots/readme_screenshot2.png "Powerping Graph view")
71-
![](https://github.com/killeroo/PowerPing/Screenshots/readme_screenshot3.png "Powerping Listening")
72-
![](https://github.com/killeroo/PowerPing/Screenshots/readme_screenshot4.png "Location functions") ![alt text](Screenshots/readme_screenshot5.png "PowerPing stress testing")
175+
![alt text](docs/screenshots/readme_screenshot2.png "Powerping Graph view")
176+
![alt text](docs/screenshots/readme_screenshot3.png "Powerping Listening")
177+
![alt text](docs/screenshots/readme_screenshot4.png "Location functions") ![alt text](docs/screenshots/readme_screenshot5.png "PowerPing stress testing")
178+
179+
## Contribution
180+
181+
Feel free to [file issues or request features](https://github.com/Killeroo/PowerPing/issues) and submit [pull requests](https://github.com/Killeroo/PowerPing/pulls) – contributions are welcome.
182+
183+
## License
184+
185+
PowerPing is licensed under the [MIT license](LICENSE).
73186

74187
### Note:
75188
**Requires _Elevated Rights (Admininstrator)_ to Run**

src/PowerPing/Display.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ public static void RequestPacket(ICMP packet, String address, int index)
327327

328328
// Print coloured type
329329
Console.BackgroundColor = packet.type > typeColors.Length ? ConsoleColor.Black : typeColors[packet.type];
330-
Console.ForegroundColor = ConsoleColor.Black;
330+
Console.ForegroundColor = ConsoleColor.Gray;
331331
switch (packet.type) // Display speific type code values
332332
{
333333
case 3:
@@ -384,7 +384,7 @@ public static void ReplyPacket(ICMP packet, String address, int index, TimeSpan
384384

385385
// Print coloured type
386386
Console.BackgroundColor = packet.type > typeColors.Length ? ConsoleColor.Black : typeColors[packet.type];
387-
Console.ForegroundColor = ConsoleColor.Black;
387+
Console.ForegroundColor = ConsoleColor.Gray;
388388
switch (packet.type) // Display speific type code values
389389
{
390390
case 3:

src/PowerPing/Helper.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Collections;
23
using System.Xml;
34
using System.Net;
45
using System.Net.NetworkInformation;
@@ -54,12 +55,12 @@ public static string GetAddressLocation(string addr, bool detailed)
5455
}
5556
}
5657
}
57-
catch (WebException)
58+
catch (Exception)
5859
{
5960
loc = "[Location unavaliable]";
6061
Console.WriteLine("[Location unavaliable]");
6162
}
62-
63+
6364
Console.WriteLine(loc);
6465

6566
if (!Display.NoInput)

src/PowerPing/Ping.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ private PingResults SendICMP(PingAttributes attrs)
367367

368368
// Send ping request
369369
sock.SendTo(packet.GetBytes(), packetSize, SocketFlags.None, iep); // Packet size = message field + 4 header bytes
370-
responseTimer.Restart();
370+
responseTimer.Start();
371371
Results.Sent++;
372372

373373
// Wait for response

src/PowerPing/build.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
if [ $# -lt 1 ]; then
4+
echo "Not enough arguments: script [ dotnet OR mono ]";
5+
exit;
6+
else
7+
if [ $1 = "dotnet" ]; then
8+
9+
dotnet restore "PowerPing.csproj"
10+
11+
dotnet build "PowerPing.csproj"
12+
13+
dotnet publish "PowerPing.csproj" -c Release -r win-x64
14+
dotnet publish "PowerPing.csproj" -c Release -r win-x86
15+
dotnet publish "PowerPing.csproj" -c Release -r osx.10.12-x64
16+
dotnet publish "PowerPing.csproj" -c Release -r linux-x64
17+
18+
elif [ $1 = "mono" ]; then
19+
20+
# Unstable
21+
22+
nuget restore ..\..\PowerPing.sln
23+
24+
xbuild /p:Configuration=Release ..\..\PowerPing.sln
25+
26+
fi
27+
fi

src/PowerPing/properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
[assembly: ComVisible(false)]
1818
[assembly: Guid("4fa774f6-c5f6-4429-bf60-c3cfc61ec560")]
1919

20-
[assembly: AssemblyVersion("1.1.9.5")]//*")]
20+
[assembly: AssemblyVersion("1.2.0.*")]

0 commit comments

Comments
 (0)