What I have read so far, winPcap allows you to bypass OS and bypass application and transport layer processing for TCP and provides direct access to the link layer.
I am planning to use winpcap for some critical information transfer and not just sniffing in order to reduce latency. I am currently doing it via sockets. Does bypassing OS, and according to my understanding application and transport layers on my side, involve any risks? Is it normally recommended to use winpcap for critical application information transfer or it is generally recommended for packet sniffing etc. >From another forum, I got the following response. - The OS won't know about your privately-managed TCP connections, so it won't know that the port(s) you've chosen is/are in use. This means that it might try to use the same port for another application's connection, leading to chaos. - The OS won't know about your privately-managed TCP connections, so unless you prevent it from seeing those packets, it will send RST packets to reset the apparently bogus connection. - Your application won't automatically be notified of changes to relevant OS-managed data, configured IP addresses and routing tables. You'll likely have to poll for updates. - Properly implementing the TCP protocol is non-trivial. Most implementations, even very well-used ones, had dormant bugs that weren't found for *years*. Not all the necessary information is in the RFCs, either; there are places where established practice differs from the documented behaviour, usually for good reason. There's also plenty of code in modern TCP stacks specifically to deal with historical buggy behaviour in other stacks, and replicating all that work isn't simple. - There's a substantial risk of bad interactions with third party network security software installed on the host, which will expect all TCP connections to be made via the OS. It seems like a support nightmare to me.
_______________________________________________ Winpcap-users mailing list [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users
