Como percorrer várias interfaces de rede no Linux (bash), executando um aplicativo usando cada uma separadamente?

0

Estou construindo um pequeno dispositivo baseado em Raspberry Pi que terá vários dongles 3G, cada um com um cartão SIM de provedor diferente. Eu quero rodar a versão cli do speedtest (speedtest-cli) através de cada interface, em intervalos de tempo, para que eu possa medir a qualidade do sinal e da conexão para cada provedor em determinados locais. O dispositivo é executado de forma autônoma e cada resultado de teste de velocidade é enviado para um documento do Google.
Eu estou tentando encontrar uma maneira de fazer isso em bash ou Python, onde eu posso mudar o sistema para usar uma interface de rede (um dos 3g Dongles ou Wifi por exemplo), executar o aplicativo, registrar o resultado e, em seguida, alternar para a próxima interface em linha. Qual é a melhor maneira de lidar com isso?

    
por Harel 10.11.2016 / 17:58

1 resposta

1

Gostaria de ver um script for in do como:

Ifconfig * down

for IFACE in (usb1 usb2 usb3 wlan0); do ifconfig $IFACE up && speedtest-google.script && ifconfig $IFACE down; done

Por favor, note que este é apenas conceito, sintaxe e & e vai precisar de ajustes para o seu ambiente.

-edit para maior clareza (em um computador agora)

#!/bin/bash

for IFACE in (usb1 usb2 usb3 wlan0)
 do
  ifconfig $IFACE up &&
  ./path/to/speedtest-google.script && 
  ifconfig $IFACE down
 done
    
por 10.11.2016 / 19:56