placas de redes

1. placas de redes

migues
migues

(usa CentOS)

Enviado em 28/01/2013 - 11:30h

bom dia com uma duvida
estou fazendo um scrip que leias as placas de rede de uma maquina e me mostre as configuraçoes dela
pensei 1 lear as placas
/sbin/ip -o link show | awk -F ": " ' { print $2 }'
no meu caso mostra
lo
eth0
eth2
bom gostaria que o scrip verificase se tiver 3 ou 4 placas de rede mostrasse todas e suas
configuraçoes tipo ip,mascara,enf fisico,e esta ativa ,marca,bom tudo que essa placa tiver de informaçoes seria interessante ter , esses comando eu ate ja descobri alguns mas a minha grande duvida e como trabalhar com o resultado da lista de placas
e como faço a checagem tipo se tem eth0,eth1,eth2.e assim por diante,


  


2. Re: placas de redes

cr0n
_di0

(usa FreeBSD)

Enviado em 28/01/2013 - 14:16h

Mais simples:

http://search.cpan.org/~lds/IO-Interface-0.98/Interface.pm


3. Re: placas de redes

migues
migues

(usa CentOS)

Enviado em 28/01/2013 - 14:46h

eu ate tentei entender o que estava no link nem traduzindo
nao ajudou estou como disse oo comando para pega as eth comando pra listar ver ip,mac dns,gateway eu sei minha duvida e o scrip vai receber as infomalçoes de 1,2 ou 3 ou 4 placas de rede e depois ir mostrando os resultados


4. Re: placas de redes

cr0n
_di0

(usa FreeBSD)

Enviado em 28/01/2013 - 16:48h

Não entendi nada do seu texto e consequentemente nada à respeito da dúvida. Qual a dificuldade? Você só precisa extrair de maneira correta, fazendo com que os dados de todos os dispositivos ativos sejam carregados. Usando o módulo Perl do link passado, além de mais simples, é possível abstrair melhor o que deseja, porém, é possível através do comando sugerido via linha de comando/script shell, algo como:


/sbin/ip -o -f inet address show | awk '{print "Placa -> " $2 "\tIP Address -> " $4}' | cut -d/ -f1


A tabulação foi utilizada para melhorar o output, talvez sendo-a obsoleta para o script.

Explique melhor caso a dúvida persista.


5. Re: placas de redes

Jonathan Wolff Andrade
jwolff

(usa Kali)

Enviado em 28/01/2013 - 16:54h

Cara. Acredito que você esteja ingressando no Shell Script ou não se expressou bem. Mas isto pra mim não importa,vou te ajudar e te mostrar algumas técnicas por tabela. E de graça ;)

Utilize esta pequena brincadeira no Script

#!/bin/bash
cmd=$('ifconfig')

rel(){
echo "$cmd" >> relatorio.txt
echo -n "Pressione qualquer tecla para finalizar..."
read
exit
}

mostra(){
echo "$cmd"
echo -n "Pressione qualquer tecla para finalizar..."
read
exit
}

echo "Menu"
echo "1. para gerar relatório"
echo "2. para apenas mostrar"
echo -n "Choose your destiny:"
read decisao

case $decisao in
1) rel ;;
2) mostra ;;
*) echo "opcao invalida" ;;
esac


__________________________________________________________________________________________________________________________
Fim do programa só compile até o esac

Então,se observar utilizei a variável global: cmd e efetuei o tratamento dela de formas diferentes,para mostrar o resultado do comando ifconfig. Se você quer aprimorar mais,é só criar novas funções e adicionar no menu. Dá pra aprender bastante assim;

Espero ter ajudado.


6. Re: placas de redes

migues
migues

(usa CentOS)

Enviado em 29/01/2013 - 15:26h

opa e mas o menos isso mesmo to iniciando no shell e apanhando muito
a ideia e com o comando abaixo listar as redes da maquina
/sbin/ip -o -f inet address show | awk '{print "Placa -> " $2 "\tIP Address -> " $4}' | cut -d/ -f1

Placa -> lo IP Address -> 127.0.0.1
Placa -> eth0 IP Address -> 172.16.1.30
Placa -> eth1 IP Address -> 172.17.1.31

aqui que nao consigui entender bem como checar se tem eth0 eth1 eth2 eth3 eth4 se tiver mostras
mascara, mac, ip bcast das devidas placas

variaveis
bcast=`ifconfig $eth | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | tail -2 | head -1`
mask=`ifconfig $eth | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | tail -1 | head -1`
mascara=`ifconfig $eth | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | tail -3 | head -1`
mac=`ifconfig $eth | grep -o "[0-9A-F]\{2\}.[0-9A-F]\{2\}.[0-9A-F]\{2\}.[0-9A-F]\{2\}.[0-9A-F]\{2\}.[0-9A-F]\{2\}\{1,2\}"`

resultado
echo $eth?(quais tiver na maquina ex se tiver eth0 eth 2 mostras delas) $bcsat $mak $mac #ip

bom e mas o menos isso ,







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts