Detectar conexão com a internet

5

No Windows, se não houver conectividade com a Internet por qualquer motivo e a conexão com a rede estiver perfeitamente bem, um pequeno ícone será exibido no ícone de rede na área de notificação. Existe alguma maneira de fazer o mesmo no Ubuntu?

Mesmo que isso não seja necessário, só quero saber que formas existem para descobrir se a conexão com a Internet está perdida ou não.

Sem ping para o site x , enfrentei alguns casos de interrupção do DNS e a falha do ping pode ser devida ao tempo de inatividade do DNS, não à conectividade com a Internet. / p>

UPDATE

Obrigado por todas essas respostas interessantes. Meu objetivo real desta questão era saber se havia um método para saber o status da minha conexão no nível local (conexão entre a máquina e o AP), e é por isso que eu disse no ping para x website por favor . O endereço privado da LAN mencionado por Alain é algo que chega perto. Se eu puder diagnosticar isso, posso descartar problemas de AP / rede e, em seguida, passar para o diagnóstico da conexão real com o meu provedor de serviços de Internet.

    
por Oxwivi 29.04.2011 / 14:01

5 respostas

4

O comando ip link show mostra o status das interfaces disponíveis. Pelo menos uma das interfaces precisa ser listada como UP para que você tenha alguma conectividade.

O comando ip neigh show mostra o estado do link local, assim:

192.168.0.1 dev eth0 lladdr 00:15:e9:ec:cc:80 REACHABLE

Você precisa de pelo menos um REACHHABLE para ter acesso à rede.

O comando ip addr show mostra todas as interfaces e seus endereços IP.

Quando você tiver um endereço IP local e um endereço IP do vizinho, poderá usar o ping ou outra ferramenta para verificar a conectividade IP local.

    
por koanhead 01.06.2011 / 00:48
2

Eu acho que a resposta curta que você está procurando é o comando dig , mas deixe-me dizer-lhe todos os comandos que eu uso, FWIW. Minha experiência é depurar uma configuração simples de rede doméstica, com meu computador, um roteador sem fio e um modem a cabo.

Primeiro, começo com dig website , que faz uma pesquisa de DNS.

LAN e DHCP Se a digitação expirar, provavelmente não tenho uma conexão adequada com a LAN. Para conexões com fio, apenas verifiquei as luzes piscando no modem. Eu não sei de um comando que verifica isso. Para conexões sem fio, eu uso iwconfig e verifico o valor do ESSID, certificando-me de que esteja configurado para a minha rede.

Uma vez que você tenha a peça de hardware registrada, a outra coisa para verificar a conectividade da LAN é o DHCP. Eu verifico ifconfig (que é semelhante ao windows ipconfig) para ver se eu tenho um endereço IP ou não. eth0 é sua conexão com fio e wlan0 é sua conexão sem fio. Olhe para a segunda linha para o valor chamado "inet addr". Esse é o endereço IP. Ter um endereço IP no formato 192.168.x.x ou 10.0.x.x significa que estou conectado à minha LAN e estou recebendo um endereço IP do roteador.

DNS e Internet Se o dig voltar com uma resposta, mas estiver vazio, provavelmente estou conectado ao meu roteador sem fio (ou seja, a LAN), mas há um problema com a minha conexão com a Internet (ou seja, o modem). Eu vou entrar na interface web do meu roteador e tentar depurar o problema lá. Ou, eu conectarei meu computador diretamente ao modem, e verifique novamente os comandos acima (dig e ifconfig. Note que o endereço IP não deve ser como descrito acima)

Conectado, mas ainda não está funcionando Por fim, se o dig retornar pelo menos um endereço IP (a maioria dos sites pequenos tem um único ip, enquanto sites grandes como o google têm vários ips), então acho que estou pelo menos conectado e o DNS está funcionando. O problema deve existir na internet em algum lugar.

Vou usar mtr website como um ping mais abrangente. Mtr é o mesmo que o comando windows tracert; Ele pinga o site junto com todos os nós intermediários e o exibe em tempo real no terminal, mostrando-me onde eu estou tendo problemas na internet.

Espero que seja útil!

    
por user1974 31.05.2011 / 16:43
0

Eu uso um pequeno utilitário (no repositório) chamado wmnetmon. Seu CPU amigável e muito personalizável. Ele usa muito pouco espaço na tela ou você pode encaixá-lo no painel com o Meta-Applet Swallower. Pode parecer muito trabalho configurá-lo, mas não é tão difícil. Estou incluindo minha configuração no final para você começar. Minha configuração monitora minha LAN e conectividade com a Internet. Eu estou usando 10.04, não tenho certeza se ele funciona em 11.04.


No painel ou na área de trabalho

Descrição - Um dockapp que mostrará um LED para cada serviço monitorado. LEDs verdes indicam que o serviço está ativo e funcionando, ao contrário de LED vermelho intermitente, que indica que o serviço não está respondendo corretamente.

Opções

wmnetmon [-d] [-t] [-y] [-r] [-c] [-h]

-h Mostra o resumo das opções.

-d ativa o debugmode

-c usa o arquivo de configuração especificado em vez de $ HOME / .wmnetmonrc

-t: especifica o tempo da pesquisa em segundos. O padrão é 30 segundos

-y: especifica o tempo de espera por uma resposta antes de ligar o led amarelo. O padrão é 60 segundos

-r: igual ao anterior para o led vermelho (intermitente). O padrão é 200 segundos.

Edite o .wmnetmonrc (no diretório do usuário) e inicie o wmnetmon. Os leds em breve ficarão verdes para hosts / serviços que respondem e desligam ou começam a piscar em vermelho para aqueles que não o fazem. Você pode especificar se ele piscará ou desligará. No primeiro caso, um comando será executado se você configurá-lo no arquivo rc. Isso é ótimo para tocar som. Sempre que você apontar para um led específico, a descrição correspondente aparecerá na parte superior do aplicativo. Se você clicar com o botão direito do mouse, o host / serviço ficará mudo e nenhum comando será executado quando esse sistema específico falhar. Também você pode configurá-lo no arquivo rc para parar de monitorá-lo quando estiver mudo. Se você fizer isso, o led desligará, caso contrário, ele ficará roxo ou azul, notificando se o sistema está funcionando ou não.

Minhas opções de inicialização estão definidas para (editar conforme necessário) .........

wmnetmon -t 10 -y 2 -r 2

Minha configuração (edita conforme necessário) .........

# WMNetMonrc for Version 0.1c/d
#
# Please change this file and copy it to your home directory and name it
# .wmnetmonrc
#
#
# D line
# Format - D:[w|d][i|m]
# Example - D:dm
#  - This line specifies the default behaviour of wmnetmonrc
#    The flags are:
#
#    w -> Warn when hosts/services stop responding. This is the default
#         behaviour. The led will turn red and flash, and (if specified)
#         an  external command will be executed.
#
#    d -> Don't warn. Led will be off if host/service stops responding.
#
#    i -> Ignore host/service (stop monitoring it) when muted. The led 
#         will be blue.
#
#    m -> Mute host/service (don't execute external program) but keep on
#         monitoring it. The led will be blue if the host/service 
#         responds or purple if it does not. This is the default.
#
D:dm
#
#
# P Line
# Format: P:[<path>]<command> [<args>]
# Example: P:/usr/bin/play
#  - This line specifies the program that will be run on special events.
#    * ONE LAST PARAMETER will be passed on to this program according to
#    event type, and will be specified in other configuration lines.
#
# P:/usr/bin/play
#
# S Line
# Format: S:<argument>
# Example: S:Siren.wav
#  - This is the argument will be passed to the program specified when 
#    hosts/services stop responding. 
#
# S:Siren.wav
#
#
# H Line
# Format: H:[tcp|udp/<servicename/portnumber>@]<host_ip_or_fqdn>:<hostname>[:flags]
# Examples: H:127.0.0.1:localhost:id
#           H:tcp/[email protected]:sendmain on localhost:w
#           H:udp/[email protected]:quake time
#       H:foo.bar.net:foobar
#
#
#  - This is the most important line. Just add the hosts/services you 
#    want to monitor. The flags are the same as for D line.
H:192.168.0.1:dsl:wi
H:192.168.10.1:router:wi
H:192.168.10.2:test:
H:192.168.10.100:localhost:
H:192.168.10.111:dave:wi
H:192.168.10.112:family:wi
H:192.168.10.113:media1:wi
H:192.168.10.114:media2:wi
H:192.168.10.115:n770a:wi
H:192.168.10.116:n770b:wi
H:192.168.10.117:localhost:
H:192.168.10.118:localhost:
H:192.168.10.119:localhost:
H:192.168.10.120:localhost:
H:8.8.8.8:google:wi
H:8.8.4.4:google:wi
#
# end
    
por deleted 12.06.2011 / 08:22
-1

Qual versão do Ubuntu você está usando? No Meerkat e Lynx há NetworkManager Applet que aparece no painel superior, lado direito, onde os indicadores estão. Deve estar lá por padrão. Não instalei nenhuma versão mencionada que não incluísse o applet de rede.

Se você não puder encontrá-lo, você deve tê-lo removido por engano. Você pode adicioná-lo novamente clicando com o botão direito do mouse no painel superior e selecionando Adicionar ao Painel , onde você encontrará uma lista de applets para escolher. Selecione o apropriado.

Agora, dependendo do seu tema de ícones, o ícone de indicação de que não há conexão varia. Tente clicar no applet e selecione desconectar, veja o que acontece. Quando não houver conexão com a Internet, ele mostrará esse ícone e indicará com uma mensagem que sua conexão foi perdida.

    
por Marky 29.04.2011 / 15:04
-1

Estou ciente da observação "por favor não ping para x site", e a pergunta "que maneiras estão lá". Mas como podemos dizer se a internet está disponível se não a testarmos? (Essa é a pergunta feita, eu sei). Bem, este é um caminho, e eu adicionarei outras maneiras assim que (e se) eu puder encontrar.

Podemos criar um script que mostrará a você (em um terminal) o estado de conectividade com a Internet fazendo ping em algum servidor confiável. Eu preciso pesquisar como fazer uma notificação do painel.

O script:

#!/bin/bash
#
# This script will check if you 
# have access to internet
#
# by desgua
#
#######################################
while [ "$var1" != "end" ]
do
pingtime=$(ping -w 1 8.8.8.8 | grep ttl)
if [ "$pingtime" = "" ] 
then 
   pingtimetwo=$(ping -w 1 74.125.91.105 | grep ttl) 
   if [ "$pingtimetwo" = "" ] 
   then 
       clear ; echo 'down'
   else
       clear ; echo 'up' 
   fi 
else
    clear ; echo 'up' 
fi
sleep 2
done 
    
por desgua 31.05.2011 / 02:11