Как использовать функцию сетевого пространства имен linux для измерения байтов, отправленных / полученных по сети процессом?
У меня есть такая ситуация, когда мне нужно измерить байты, отправленные / полученные во время его выполнения. ПК будет иметь обычный интерфейс Ethernet (eth1) для взаимодействия с другими людьми в сети. Я провел небольшое исследование пространства имен сети Linux и cgroups, учитывая, что я пришел к этому подходу, чтобы выполнить меры.
- создать новое сетевое пространство имен.
- создайте виртуальную сеть Ethernet с интерфейсами veth0 и veth1.
- присвойте veth1 ранее созданному пространству имен, оставив veth0 в пространстве имен по умолчанию.
- настроить виртуальные интерфейсы и создать мост между veth0 и eth1.
Учитывая это, я выполню свой процесс в новом пространстве имен и приму значения из veth1 как байты, отправленные / полученные для процесса. Я знаю, что могу использовать iproute2 и bridge-utils для вышеуказанных шагов, но правильно ли это? или есть другой способ сделать такую меру?