Re: traffic statistics by network connection

Thomas Haller wrote:
On Tue, 2021-07-20 at 16:26 -0400, David H Durgee via networkmanager-
list wrote:
How can I get traffic statistics by network connection?  Is there a
to retrieve this using nmcli?  Is there another tool that will do so?

I have looked around and the tools I see work at the interface level,
not at the connection level.

I am using nmcli 1.22.18 as distributed with linux mint 20.1 x64

a "connection" is a profile, that is a bunch of settings for
configuring a network interface. Basically, see the lower-case keys in
`nmcli connection show "$PROFILE". A profile has no traffic statstics,
nor would it make sense.

Well, that's not entirely correct and I guess it might make some sense
to collect statistics associated with a profile. NM associates
additional information to prfiles with "connection.timestamp" and
"wifi.seen-bssids" properties and there are also the lease files under
/var/lib/NetworkManager. But these are exceptions, usually a profile is
just the settings that the user configured. In particular traffic
statistics are not tracked or associated with connection profiles in
NetworkManager (yet).

On D-Bus,

  $ busctl -j call org.freedesktop.NetworkManager /org/freedesktop org.freedesktop.DBus.ObjectManager GetManagedObjects

you see the "org.freedesktop.NetworkManager.Device.Statistics"
interface (which is per-interface). That exposes the RX/TX bytes. That
is basically the same as kernel reports via netlink API. However, the
values are stale unless you RefreshRateMs to a positive value (which
causes NM to periodically poll the statistics from kernel).

There is no further magic with
"org.freedesktop.NetworkManager.Device.Statistics". You could just as
well read the information via netlink.

These statistics are ad-hoc, and will be lost after reboot (or when the
interface dispears). I guess you could build an interesting tool for
that. I am not aware that one exists. However, the API was added by
Ubuntu developers, and presumably the do have a use for it and a tool. 


My reason for asking about this was as a means of confirming proper operation of a strongswan VPN.  When activated this VPN does not create a tun interface as the VPN I was previously using did.  I had hoped to find some way to confirm that the traffic is indeed being routed via the VPN as opposed to going directly over the WiFi connection even when the VPN is active.

Perhaps I need to take another approach.  How difficult would it be for me to modify the connection to add a tun interface?  I see no way to specify this in the GUI, but inspecting the lapsed VPN connection shows a "dev=tun" statement in the VPN section of its nmconnection file.  Would manually adding such a statement to the strongswan VPN nmconnection file be sufficient?  Are other additional statements required that are not present by default?


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]