- Create simple TCP based client-server application.
- Create a proxy application (that is in the middle).
- Application logic:
- Client sends data to Proxy.
- Option1: Proxy just forwards it to the server.
- Option2: Proxy does modifications in payload and resend them to server.
For Option2: Server must figure out that data has been changed in the middle (calculating packet checksum).
- Build with cmake
cmake CMakeLists.txt
- Build application with make
make
- Run (sudo usage is mandatory since raw sockets require root privileges)
sudo ./packets_checker