1 votes

test de blocage ICMP

Dans mes scripts bash, j'ai utilisé quelque chose comme :

until fping -u google.com; do echo "$0[$$] Network/DNS down?? $(date)" 1>&2 && sleep $(($RANDOM%(1 + ++trynum * 1) +1)).222; done

pour tester la connectivité en ligne.

Il s'arrête sur place, dormant à intervalles aléatoires, jusqu'à ce qu'il puisse à nouveau envoyer un ping à google.com.

Problème : Sur certains réseaux locaux, les pings ICMP sont totalement bloqués, bien que les pages web restent accessibles. Quel est le moyen le plus court de tester ce cas général (pare-feu vers l'extérieur) ?

Sur la base de ce test, je passerai à un test basé sur http, comme l'état de sortie de

curl -s google.com >/dev/null

si elle est bonne.

2voto

Keith Points 7743

L'utilisation de curl est plutôt gaspilleuse de bande passante. Il suffit d'utiliser tcping au lieu de cela.

D'autres options s'offrent à vous si vous n'avez pas cette possibilité :

curl -sI -m 2  http://www.google.com >/dev/null
echo 'HEAD / HTTP/1.0\r\nHost: www.google.com\r\n\r\n' | nc www.google.com 80 >/dev/null

L'idée de base est d'établir une connexion TCP au port 80 et de voir si elle réussit.

1voto

speakr Points 3727

Si un serveur bloque les requêtes ICMP, vous pouvez toujours vérifier si le serveur web est accessible par un balayage de port court, par exemple avec nmap :

nmap -PN -T4 -p 80 your_webserver 2>&1 | grep -wi open >/dev/null || date

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X