killeroo / powerping Goto Github PK
View Code? Open in Web Editor NEWAdvanced command-line ping tool
License: MIT License
Advanced command-line ping tool
License: MIT License
for example
request timed out for icmp_seq=3
or for client profile
SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.NoChecksum, 1);
sock.Bind((EndPoint)new IPEndPoint(attrs.Source, 0));
Event C handler currently not working properly, works with delay/lag
Responsiveness tested in:
Make sure address returned from lookup is correct IP version.
Currently crashes when returned address is IPv6 (tries to send IPv4)
Check look up code in ping add sanity check
Check input and proper address finding in program.cs
Add to readme and help
Also display number of error ICMPs to results (look at .net implementation)
if (attributes.Address != "") throw new FormatException();
Is a false positive check, should be:
if (attributes.Address == "") throw new FormatException();
Display time stamp along with reply Eg 13:45:00
In program.cs
Get location once at start of ping sequence and go from there
Can maybe be done by changing port type depending on IP Version ping property (that would need to be added)
Background: https://en.wikipedia.org/wiki/ICMP_tunnel
UI: https://stackoverflow.com/a/7464499
Encryption: https://stackoverflow.com/a/10177020
https://www.codeproject.com/Articles/14150/Encrypt-and-Decrypt-Data-with-C
Different tunnel features:
make sure ping isn't sent if either arguments are used
Add more screenshots to repository and readme.md
SocketException thrown due to buffer overload?
Solution could be to move socket.sendto into try catch (check if this cause any adverse effects) maybe by changing:
// Send ping request
timer.Start();
sock.SendTo(packet.getBytes(), packetSize, SocketFlags.None, iep);
sent++;
try
{
// Try recieve ping response
byte[] buffer = new byte[1024];
recv = sock.ReceiveFrom(buffer, ref ep);
timer.Stop();
// Display reply packet
ICMP response = new ICMP(buffer, recv);
displayReplyPacket(response, ep, index);
recieved++;
}
To:
try
{
// Send ping request
timer.Start();
sock.SendTo(packet.getBytes(), packetSize, SocketFlags.None, iep);
sent++;
// Try recieve ping response
byte[] buffer = new byte[1024];
recv = sock.ReceiveFrom(buffer, ref ep);
timer.Stop();
// Display reply packet
ICMP response = new ICMP(buffer, recv);
displayReplyPacket(response, ep, index);
recieved++;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.