Ну что тут скажешь ...
Если это курсовая или диплом, то неплохо бы получить постановку задачи, так как "желательно какой процесс" значительно усложняет задачу на Windows 2000.
Далее, C# отдыхает.  По-крайней мере, в области сбора данных.  Это делается на С/С++.  С помошью IP Filtering API можно считать объёмы проходящего трафика в обоих направлениях.  Правда, API документирован плохо, могут возникать разные затыки и проблемы с тем, что нифига не фильтруется.  Вызовы IP Filtering реализуются в нормальном Си, к С# они пока не прикручены, насколько я знаю.
Альтернативой Filtering API является откртый проект pcap.  Есть реализация pcap для Windows 98/NT под названием WinPcap, но интерфейс опять таки только на Си.  О том, как прикрутить winpcap к C# можно посмотреть на CodeProject: 
http://www.thecodeproject.com/csharp/pacanal.aspПочему информация о процессах усложняет дело: на Windows 2000 нет простого способа узнать какой процесс соответствует тому или иному TCP порту. В Windows XP  и старше ситуация попроще -- появилась недокументированная функция GetTCPTableFromStack, которая для каждого соединения сообщает идентификатор процесса, установившего соединение.