Giter Site home page Giter Site logo

killeroo / powerping Goto Github PK

View Code? Open in Web Editor NEW
188.0 15.0 27.0 2.22 MB

Advanced command-line ping tool

License: MIT License

C# 89.27% Shell 0.26% Batchfile 0.70% PowerShell 9.76%
ping c-sharp console network-monitoring network network-admin icmp icmp-header windows

powerping's Issues

Add source address option

How to

            SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.NoChecksum, 1);
            sock.Bind((EndPoint)new IPEndPoint(attrs.Source, 0));

Fix Control C event handler

Event C handler currently not working properly, works with delay/lag

Responsiveness tested in:

  • Sending Normally (requires more testing)
  • Graph
  • Flood (requires more testing)
  • Scan

Port PowerPing to other platforms

  • Restructure project for dotnet and .net4.5 builds
  • Create Bash build script for building project with .netcore
  • Create Bash build script for building project with mono
  • Batch script for building standard windows binary
  • Travis CI yml script for .netcore and mono (couple of versions of each) (could use previous build script)
  • Add platform/build info to version text (also remove build date)
  • Make sure file versions persist with .net core builds
  • Installers for each build platform

Clean up scan

Check input and proper address finding in program.cs
Add to readme and help

Startup mischecks for inputted address

if (attributes.Address != "") throw new FormatException();
Is a false positive check, should be:
if (attributes.Address == "") throw new FormatException();

Add IPv6 support

Can maybe be done by changing port type depending on IP Version ping property (that would need to be added)

<1ms time being displayed after Timout

image

Seems to only occur after a timeout has occured and seems to stop after another timeout has occured, could be an error with timer or display function

Improve statistics

  • Display stats while ping is running by pressing a key
  • Add more stats
  • Make sure percentage lost is working

Top of columns persisting in graph view

image

Top of columns of a specific size (over about 500ms) are persistently being drawn on screen, is either due to:

  • Inadequate height being used in Graph.Clear()
  • Column arrays not being set properly in Graph.CreateColumn

Application crashes when ping is running and pc goes to to sleep

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:

Ping.cs

// 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++;

}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.