-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add source address option #8
Comments
is this feature comming soon? |
I know how this could be implemented, will try out some implementations when I get around to working on the next version. |
thank you very much i would love to help too if you like to share your plans. |
So the basic plan that I can see, would be to implement our own IPv4 header (something like this, probably with less of the abstration, idealy laid out how we implement ICMP at the moment). Using this implementation we can alter the source address and because we are using RawSockets we can send this and use it as our IP implementation as opposed to the one in .NET. I have recently been refactoring the actual core ping class so hopefully it can be more easily extended and understood. There is still some refactoring that needs to be done in other places but the core networking stuff is looking good. So if you want to help and you can do some coding you could experiment to see if the above implementation could work and see if you could get it working within PowerPing. If you don't feel like it then you could help out with testing whenever I get round to implementing it or you could have a look around and see if there are any other low effort ways this could be achieved in standard C# (idealy would rather have a solution that doesn't rely on a third party library). I can give you some directions and help with getting setup if you do want to help. In any case, I will work on this at some point but there is also alot of other stuff that also needs to be done for this release so I can't really say with certainly when I will get around to it. Whatever the case any help is welcome and I appreciate the offer regardless. |
yes i would like to help. i will mostly work on my weekend. i have been developing on Linux platform recently so a direction on what i need and required will be helpful. such as the best IDE and i will mostly use GCC for compilation. don't know what is the best way of communication inform me on what best work for you. |
So the project is made with C# using .NET framework 4.5, which is Windows based, so you won't really be able to use GCC for compilation. The project can be developed and run on linux however using .Net Core which is a cross platform version of .NET framework. Once you have the sdk downloaded and installed you will be able to compile the project, have a look at this script to get an idea of what dotnet commands you will need to run. I haven't really tested the project within dotnet core for a while but it should work and function pretty similar to the Windows version (I know cursor operations can mess up sometimes). You might get an error with the settings stuff which I can help walk you through. In terms of IDEs, the choice is yours. Visual Studio Code might be a good choice and would have some good dotnet core and c# integration, but it is primarily up to you. I have been meaning to get .NET core builds and development working again so this might be a good time. In terms of communication, you can find my email on my profile, just drop me an email if you need anything and we can go from there. |
i managed to debug and build it on my linux machine with .netcore 3.1 but i had to ditch some functionality as System.Configuration seems to differ in .net core for instance .ApplicationSettingsBase does not exist. After all the application runs and i was able to use it. now i will focus on debugging it and understand the overall functionality of the application. |
Cool, good stuff 👍 Yeah I know that issue, if you find a solution to it that put in a pull request because that error has been stopping me from releasing/making dotnet core builds. Ok excellent, give me an email or message here if you need help with anything |
How to
The text was updated successfully, but these errors were encountered: