Необходимо написать именно драйвер в Kernel Mode под Windows.
Это всё давно написано и присутствует в ядре - это тот механизм фильтрации в стеке IP, который и используют файерволы. И это одинаково выглядит, в принципе, архитектурно, что в Windows, что в Linux.
Зачем это ещё раз писать?