Is there any possibility of ethernet frames capturing under windows 10 in C?

ED 0 Reputation points
2023-12-28T06:28:39.23+00:00

I am currently working on implementing IEC 61850 GOOSE, IEEE 802.1q, publisher and subscriber under a Windows environment in C. The GOOSE transmits within the OSI layer 2, meaning I must capture the Ethernet frames. However, I have found that WinPcap is no longer supported after Windows 8, and Npcap requires a commercial license, which makes these two libraries unusable for my purposes. I have been unable to find any other libraries suitable for my needs.

Should I change the OS to Linux if it is not achievable in Windows?

If anyone has any suggestions or ideas for the implementation, I would greatly appreciate it.

Windows for business | Windows Client for IT Pros | Networking | Network connectivity and file sharing
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Dikky Ryan Pratama 1,470 Reputation points
    2023-12-28T06:33:30.75+00:00

    Hi ED,

    It seems like you are facing a challenge in implementing IEC 61850 GOOSE, IEEE 802.1q, publisher, and subscriber functionalities under a Windows environment in C, particularly due to the limitations of WinPcap and Npcap. Switching to Linux might indeed be a viable option, as the open-source nature of many Linux distributions allows for more flexibility in terms of network programming.

    Before making a decision to switch the operating system, consider the following alternatives or suggestions:

    1. Use a Virtual Machine (VM): You could run a Linux VM on your Windows machine and perform the network-related tasks within the VM. This way, you can keep your development environment in Windows and still leverage Linux tools for networking.
    2. Explore Other Packet Capture Libraries: While WinPcap and Npcap are popular choices, there might be other libraries that suit your needs. For example, you could explore libraries like npcap-sdk (the SDK version of Npcap), Win10Pcap, or RawCap. Keep in mind the licensing and compatibility aspects.
    3. Consider Using Raw Sockets: In Windows, you can use raw sockets to capture and send raw Ethernet frames. This approach might require more low-level programming, but it can be done. However, raw sockets have certain limitations and may require administrative privileges.
    4. Check for Updates: Library support and development often evolve over time. Periodically check for updates to WinPcap, Npcap, or other relevant libraries. Developers may release new versions that address compatibility issues.
    5. Community Support: Engage with the developer community and forums related to network programming on Windows. Other developers may have faced similar challenges and might offer alternative solutions or workarounds.

    If none of the above options are satisfactory and Linux is a viable alternative for your project, switching to Linux could provide you with more straightforward solutions, as Linux has better support for low-level networking operations and a wide range of open-source tools.

    Remember to consider factors such as the learning curve, compatibility with other software components, and potential impacts on your development workflow before making a decision to switch operating systems.

    Regards,

    4 people found this answer helpful.
    0 comments No comments

  2. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.