Você não está autenticado.

Anúncio

Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal.

Para mais informações: contato at archlinux-br.org.

#1 02/07/2020 19:54:47

willianholtz
Membro
De: Três Barras - SC
Registrado: 23/08/2009
Mensagens: 384

Script rede!

Pessoal preciso de uma dica para conseguir pegar os nomes das placa de rede de um computador.

Tenho que criar um script para ele jogar na variável as placas disponíveis e dizer quem é a WAN, não necessariamente preciso dizer quem é, mas que pelo menos consiga o nome delas já estaria ótimo!

Por exemplo:

Se o PC tiver duas placa de rede, ele precisa jogar na variável do script os nomes de cada placa:

Variável A <= enp1s0 (pode ser eth0)
Variável B <= enp2s0 (pode ser eth1)

ou vice e versa, até porque as vezes ele nem vai saber qual está procurando, vai colocar na variável a primeira que achar, mas a ideia é essa!

Quase como jogar em uma variável o nome da maquina, que no caso ficaria assim:

Variável A <= uname

Espero que tenham entendido! Se puderem me ajudar, ficaria agradecido!


Vostro 1520 = CPU:Core 2 Duo P8600 2.4GHz 3MB | GPU:NVidia GeForce 9300M GS de 512MB | HD: 360GB | RAM:4GB | Arch-Linux

Offline

#2 24/09/2020 17:01:40

rafaelff
Admin
Registrado: 24/10/2018
Mensagens: 6

Re: Script rede!

Você poderia fazer uma expressão usando a ferramenta ip, do pacote iproute2, para listar todas as interfaces de rede disponíveis em um vetor, excluindo aquela(s) que não lhe interessa. Por exemplo, você poderia listar todas, exceto a interface de rede de loopback ("lo"), desta forma:

net=($(ip addr | grep '^[0-9]*:' | cut -d' ' -f2 | cut -d: -f1 | grep -v lo))

Assim, ${net[0]} seria a primeira interface de rede, ${net[1]} seria a segunda, etc. Da mesma forma, ${net[@]} listaria todos as interfaces encontradas e ${#net[@]} retornaria a quantidade de itens no seu vetor de interfaces de rede. Tente executar echo nessas formas de escrever a variável de vetor e ver como sai o resultado.

Para saber qual interface de rede lhe dá conexão com a internet, o routel, do mesmo pacote, lhe retorna isso fácil:

routel | grep default | awk '{print $4}'

Offline

Rodapé do site