So richtig sichergehen kannst du nur mit Bestätigungen auf Anwendungsebene.
Denn was nützt es dir, wenn
TCP bestätigt, aber die Anwendung nicht genug Speicher hat, um die Nachricht zu verarbeiten.
Ich glaube kaum, dass du was finden wirst, das ohne Treiber bzw. RAW-Sockets auskommt.
Also entweder
TCP selbst implementieren (~> bestehende Implementierung ändern) oder den Datenstrom abhören (WinCap).
Da klingt Protokoll auf Anwendungsebene ändern gar nicht mehr so kompliziert, oder?
Im "schlimmsten" Fall ist
TCP gar nicht im System implementiert, sondern läuft auf der
Netzwerkkarte.