Computer Network Programming Project – Network Monitoring

I require a client – server program. The project mainly involves a server which keeps track of all the packets received and sent. In detail we can say that a single server can get multiple requests from clients. So, in this project the server should have a record of what packets have been received and what packets have been responded. It will be storing every bit of information in a separate log. The log information consists of every bit of information like what kind of packet it is and its time stamp i.e when it has been received and when it is responded. It will also get a record of some statistics such as packet rate and average delay.
Client Functions:
The client will be sending the packets of requests to the server and also will be receiving responses from the server.
Server Functions:
The server will be receiving requests from the client. It keeps a track on how many packets it has received and how many packets it has responded and this will be measured using packets per hour measure. It also should measure statistics such as packet rate and average delay.
Protocol Details:
Please use Transmission control protocol (TCP) for this project.