comando ip
Aqui está uma variação do ip addr
way.
A opção
ip
tem -o
, que permite colocar todas as informações em uma única linha - isso é útil para análise com ferramentas como awk
ou perl
. Em combinação com a opção -4
, veremos apenas endereços IPv4. Assim, a saída seria algo como isto (note - replace wlan7 com a interface que você deseja verificar):
$ ip -4 -o addr show wlan7
3: wlan7 inet 192.168.0.78/24 brd 192.168.0.255 scope global dynamic wlan7\ valid_lft 85654sec preferred_lft 85654sec
Como você pode ver, o endereço IP é a quarta coluna / palavra na saída. O resto, é simples exercício de análise através da ferramenta da sua escolha. Aqui estou usando python:
ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]"
A mesma coisa, somente com a string <<<
e a substituição de comandos $()
python -c "import sys;print sys.stdin.readlines()[0].split()[3]" <<< $(ip -4 -o addr show wlan7)
Pessoalmente, eu salvei isso como uma boa função no meu ~/.bashrc
, então menos digitação é feita.
wlan_ip() {
ip -4 -o addr show wlan7 | python -c "import sys;print sys.stdin.readlines()[0].split()[3]"
}
A versão de Perl e Ruby é um pouco mais curta:
$ ip -4 -o addr show wlan7 | perl -lane 'print $F[3]'
192.168.0.78/24
$ ip -4 -o addr show wlan7 | ruby -n -e 'print $_.split()[3]'
192.168.0.78/24
Wireshark
Se você estiver familiarizado com o uso de ferramentas de análise de rede, provavelmente sabe que, para obter seu endereço IP, tudo o que precisa é limpar o cache do navegador, iniciar a captura do Wireshark na interface específica e procurar por http GET
pacotes sendo transmitidos. A coluna de destino mostrará seu endereço IP