dotpcap / sharppcap

Official repository - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets
1.33k stars 268 forks source link

SharpPcap for Net Core #86

Closed GhostlyRaven closed 4 years ago

GhostlyRaven commented 4 years ago

Hi! Why don't you use the NativeLibrary class to port the library to the net core? This class contains methods for loading native libraries and map method from dll (SetDllImportResolver), as in Mono. In my opinion, this will allow you to reduce the amount of wrapper classes, simplify interaction with the native library and get rid of Mono. I think this is a great solution that will allow you to transfer the library to the net core. My question was caused by a previously asked question: #39

chmorgan commented 4 years ago

Hello!

I’ve been one of the proponents of that library addition, it just landed with .net core 3.0 like a month ago?

I’m all for taking advantage of it and moving to .net core support but it would also force an upgrade to .net core 3.0 which may be fine.

Interested in pushing a pr for it?

Chris

GhostlyRaven commented 4 years ago

Hi, Chris! What kind of help would you like from me in the project? I am ready to help, but I do not fully understand the library device. Therefore, I am afraid that I will have difficulties writing code.

GhostlyRaven commented 4 years ago

Hi Chris!

As I said earlier, I have problems understanding the architecture library, so it’s hard for me to change the code.

However, I merged all versions of the SafeNativeMethods class into one class and I writed resolver for search library.

If you are interested, I can share the result or answer your questions.

Anton

chmorgan commented 4 years ago

Sure, it would be great to see what you’ve changed and to hear why.

On Tue, Nov 5, 2019 at 5:59 AM Anton notifications@github.com wrote:

Hi Chris!

As I said earlier, I have problems understanding the architecture library, so it’s hard for me to change the code.

However, I merged all versions of the SafeNativeMethods class into one class and I writed resolver for search library.

If you are interested, I can share the result or answer your questions.

Anton

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/chmorgan/sharppcap/issues/86?email_source=notifications&email_token=AAJH4AFOA7VVZQJKETCLJOLQSFGXZA5CNFSM4JIGHUUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDCOC2Y#issuecomment-549773675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJH4AAYJJVAK7VSRAN44ATQSFGXZANCNFSM4JIGHUUA .

GhostlyRaven commented 4 years ago

Hi Chris!

I created fork and made changes there: https://github.com/GhostlyRaven/sharppcap

You will be interested classes in the shared folder (SafeNativeMethods, LoadLibraryKeyType, LoadLibraryKey, PcapResolver).

If you have questions, ask me.

GhostlyRaven commented 4 years ago

Hi Chris!

To the changes I made earlier, I added creating function for native libraries in directory with wrapper library, but this works only Windows.

Anton.

Sure, it would be great to see what you’ve changed and to hear why. On Tue, Nov 5, 2019 at 5:59 AM Anton @.***> wrote: Hi Chris! As I said earlier, I have problems understanding the architecture library, so it’s hard for me to change the code. However, I merged all versions of the SafeNativeMethods class into one class and I writed resolver for search library. If you are interested, I can share the result or answer your questions. Anton — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#86?email_source=notifications&email_token=AAJH4AFOA7VVZQJKETCLJOLQSFGXZA5CNFSM4JIGHUUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDCOC2Y#issuecomment-549773675>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJH4AAYJJVAK7VSRAN44ATQSFGXZANCNFSM4JIGHUUA .

Hi Chris!

I created fork and made changes there: https://github.com/GhostlyRaven/sharppcap

You will be interested classes in the shared folder (SafeNativeMethods, LoadLibraryKeyType, LoadLibraryKey, PcapResolver).

If you have questions, ask me.

chmorgan commented 4 years ago

@GhostlyRaven are you pursuing these changes? If the changes were cross platform we could look to merge them in.

GhostlyRaven commented 4 years ago

Hi @chmorgan ! Yes, these changes are cross-platform. But I'm not sure that they are correctly integrated into the current project and they do not have critical errors. Therefore, it is better for you to use my code as an example for writing your implementation. I think you can easily understand how it works.

chmorgan commented 4 years ago

@GhostlyRaven thank you for the contribution here. At the moment I don't have the bandwidth or need to merge these changes in. If you'd like to continue pursing this as a PR that worked across all platforms that would be great. I'll close this thread out for now.