python: ancho de banda saliente para ips públicas
Aug 19 2020
Estoy usando la siguiente línea de código para verificar el total de bytes enviados desde mi caja de centos
import psutil
psutil.net_io_counters().bytes_sent
Quiero realizar esto solo para la IP pública. En otras palabras, quiero calcular el ancho de banda saliente solo para IP pública.
Respuestas
kerasbaz Aug 20 2020 at 03:11
import ipaddress
import psutil
net = psutil.net_io_counters(pernic=True)
for name, interface in psutil.net_if_addrs().items():
for address in interface:
try:
network = ipaddress.IPv4Network(f'{address.address}\{address.netmask}')
if not network.is_private and not network.is_reserved:
print(net[name].bytes_sent)
break
except ValueError as e:
# these would be eg MAC addresses or similar
pass