[Специальный ответ для Windows]
В Windows вы можете рассмотреть ETW (Event Tracing for Windows).В целом, ETW - это технология, используемая для предоставления информации о трассировке / ведении журнала в Windows, и большинство программного обеспечения Microsoft уже оснащено поставщиками ETW, которые вы можете использовать.В вашем случае, я думаю, у провайдера Microsoft-Windows-TCPIP есть информация (например, локальный / удаленный адрес и порт, операция, отправленные / полученные байты и т. Д.), Которая может быть полезной для вас.
Например, я смог начать собирать события TCPIP в файл с помощью команды:
logman start MyTcpipLog -p Microsoft-Windows-TCPIP -ets
и остановиться с помощью
logman stop MyTcpipLog -ets
Затем файл MyTcipipLog.etl можно открыть с помощью ряда различных инструментов (например, xperf), но есть API, которые вы можете использовать для самостоятельного анализа этого файла.
Если выЕсли вы хотите сделать это во время выполнения, вы можете создать сеанс ETW "в реальном времени" для обработки событий по мере их поступления.
Если вы новичок в ETW, вот полезная статья о MSDN , которую я использовал.