Jak zrekonstruować strumień TCP z wielu pakietów IP?
Pracuję na serwerze VPN opartym na TUN, którego celem jest analiza otrzymywanych pakietów przed przekazaniem ich do miejsca przeznaczenia. Obecnie otrzymuję pakiety IP z interfejsu TUN i po prostu wysyłam je do miejsca docelowego bez modyfikacji.
Rozumiem, że analiza zawartości pakietów UDP byłaby tak prosta, jak usunięcie nagłówków IP i UDP. Aby jednak przeanalizować zawartość ruchu TCP, musiałbym zrekonstruować komunikat z wielu pakietów IP. Czy można to łatwo zrobić bez ponownego wdrażania TCP? Czy są jakieś łatwo dostępne biblioteki C / C ++ przeznaczone do tego zadania? Wolałbym biblioteki systemu Linux i / lub biblioteki open-source, nie-wirusowe / nie-copyleft.
Jedną z rzeczy, które już rozważałem, jest wykonanie kopii każdego pakietu IP i zmiana docelowego adresu IP kopii na localhost, tak aby inna część mojego serwera mogła otrzymywać te żądania i odpowiedzi TCP w pełni zrekonstruowane i bez nagłówków. Nie byłbym jednak w stanie skojarzyć docelowych adresów IP z treściami ruchu, czego pragnę.