Вы можете использовать такую утилиту, как Wireshark (графическая, но не скриптовая из C #, AFAIK).Wireshare использует библиотеку WinPcap, которая осуществляет фактический мониторинг потоков TCP на компьютере.Декодирование заголовков HTTP должно быть выполнено в вашем приложении (это то, что должно уметь делать wireshark / tcpdump / windump).Вам нужно будет использовать PInvoke для вызова библиотеки WinPcap.Оболочки библиотеки можно найти, выполнив поиск в Интернете по запросу «WinPcap PInvoke».
Этот вопрос звучит очень похоже на следующее:
Есть ли способ в .NET для программного прослушиванияк HTTP-трафику?
Также Захват HTTP-запросов может помочь