Embora @Melebius já tenha mencionado que isso não é específico para o Ubuntu e você deve fazer a pergunta no fórum apropriado. No entanto, ainda tentarei ajudá-lo aqui (escrevendo um script, que deve ser aceitável neste fórum).
A maioria dos roteadores também suporta DHCP. Então, primeiro você pode configurar seu computador para adquirir um endereço IP usando DHCP. Em seguida, execute o seguinte script. Isso fornecerá a você todos os endereços IP que estão atualmente em uso. No entanto, não há como saber todos os endereços IP alocados pelo roteador, a menos que você seja o administrador do sistema / acesso à configuração do roteador (nesse caso, a resposta é trivial).
Para o script, primeiro crie um arquivo conf listando todos os IPs possíveis que você suspeita (um por linha), digamos pinglan.conf
e coloque-o em $HOME/bin
.
Em seguida, execute o seguinte script:
#!/bin/bash
#< Configurable script to ping my LAN
if [ "$#" -ne 0 ]; then
echo "Usage: 'basename $0'" && exit 1
fi
_TEMP_FILE=$HOME/tmp/pinglan.$$
trap 'rm -f $_TEMP_FILE; tput reset; exit 1' 1 2 3 15
clear
_GREEN='tput setf 2'
_RED='tput setf 4'
_BLUE='tput setf 1'
while read line
do
_IP_ADDR='echo $line | awk -F : '{ print $1 }''
_HOST_NAME='echo $line | awk -F : '{ print $2 }''
ping -w 1 $_IP_ADDR > $_TEMP_FILE 2>&1
grep "bytes from" $_TEMP_FILE > /dev/null 2>&1
if [ "$?" -eq 0 ]; then # host is up
echo "${_GREEN}$_HOST_NAME ($_IP_ADDR) is UP"
else
echo "${_RED}$_HOST_NAME ($_IP_ADDR) is DOWN"
fi
done < $HOME/bin/pinglan.conf
echo -e "\n\n${_BLUE}Press enter to continue..."
read dummy
# tput reset
rm -f $_TEMP_FILE
exit 0
Nota:
Este código não é meu original, mas está comigo há anos e eu modifiquei para as minhas necessidades! Não tem a fonte original. Graças ao o
Espero que isso ajude!
- Mike