Muitos firewalls corporativos bloqueiam ICMP
- que é o protocolo usado pela ping
utility.
Melhor solução para isso é tentar TCP
conexão para google.com:80
.
A maneira mais fácil de verificar se há conectividade básica com a Internet no shell script é o utilitário nc
(ele deve estar facilmente disponível na maioria dos sistemas Linux):
nc -w 3 -z google.com 80
echo $?
Isso significa verificar se a porta 80
on google.com
está aberta e o tempo limite após 3
segundos. Se a conexão for bem-sucedida, imprimirá 0
e, se falhar, imprimirá 1
.
Se você deseja verificar a conectividade com a Internet sem verificar o DNS (que pode estar quebrado), é possível usar o servidor DNS preferencial do Google 8.8.8.8
, mas a única porta aberta é 53
(também conhecido como domain
):
nc -w 3 -z 8.8.8.8 53
echo $?
No entanto, a porta 53
também pode ser bloqueada pelo firewall corporativo (não é comum, mas é possível). As portas 80
e 443
, por outro lado, quase nunca são protegidas por firewall.