Develop a C/C++ application (running on Windows or Linux) capable of standing in between and application and a Microsoft SQL Server (must support 2005 to 2012) and parse communications packets as they transit to and from the SQL Server. Basically, a Microsoft SQL Proxy server. Interpretation of the wire protocol will allow for auditing/metering/performance monitoring. This job only requires for an interface to allow for hooks to be put in to react to different events (i.e. Logon/Logoff/Select, etc...) Actual auditing/metering/performance monitoring will be implemented later and is outside the scope of this job.
The core work is to create an interpreter for Microsoft SQL wire protocol. The engine will receive packets of data (as received at the network layer) and will be responsible for aggregating/interpreting the incoming stream of data in order to be able to trigger events (i.e. whenever an SQL command is sent over-the-wire).