Como listar todos os endereços IP de um servidor

2

Quando eu digito ifconfig, vejo que meu servidor tem um novo endereço IP a cada dia. Os endereços IP pertencem a um conjunto de endereços IP.
Como faço para descobrir todos os endereços IP do meu servidor?

    
por Anonymous 31.05.2009 / 00:11

6 respostas

4

Pergunte às pessoas que administram o servidor dhcp que atribui endereços ao seu servidor, é a única maneira de saber com certeza.

Você pode supor relativamente seguramente que o seu ipaddress sempre estará dentro da máscara de rede binária e de endereço ip, mas não há garantia desse comportamento, e é provável que o pool de endereços dhcp-servers seja um subconjunto do ipaddress & netmask.

Agora, extrapolando, se você quiser descobrir todos os endereços IP possíveis para o seu servidor, porque você quer encontrá-lo mesmo depois de ter alterado o endereço IP, sugiro verificar um dos provedores dinâmicos de DNS na internet.

    
por 31.05.2009 / 00:37
3

Estou assumindo que você quer dizer que o endereço IP do seu servidor é atribuído dinamicamente a cada dia e você deseja saber o conjunto de endereços possíveis que seu servidor pode ter. Nesse caso, você pode entrar em contato com quem estiver gerenciando o servidor DHCP que atribui endereços em sua rede (ou seu ISP se o servidor estiver diretamente conectado à Internet). Se você quiser saber todos os IPs que o seu servidor já passou, você pode colocar a resposta de Lennart em um cronjob.

ifconfig | grep inet | awk '{print $2}' >> .iplog

Ou algo assim.

    
por 31.05.2009 / 00:11
3

Ou

# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:cc:ae:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.123/24 brd 192.168.0.255 scope global eth0
    inet6 fe80::20c:29ff:fecc:ae67/64 scope link
       valid_lft forever preferred_lft forever
    
por 31.05.2009 / 00:11
0

Uma maneira muito simples que imprime todos os seus endereços IPv4 e IPv6:

ifconfig | grep inet | awk '{print $2}'
    
por 31.05.2009 / 00:11
0

ou:

#!/usr/bin/env bash

OS='uname'
case $OS in
   Linux) IP='ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'';;
   Darwin|FreeBSD|OpenBSD) IP='ifconfig  | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'' ;;
   SunOS) IP='ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2} '' ;;
   *) IP="Unknown";;
esac
echo "$IP"

encontrado aqui.

    
por 31.05.2009 / 00:11
0

Isto irá imprimir todos os ip's, exceto o 127.0.0.1 para o host local.

ifconfig | awk -F "[: ]+" '/inet addr:/ { if ($4 != "127.0.0.1") print $4 }'

    
por 07.10.2014 / 20:24