Ben çok tavsiye karşı kullanarak ping
bağlantısı belirlemek için. Ağlarından kaynaklanan ping seli saldırılarıyla ilgili endişeler nedeniyle ICMP'yi (kullandığı protokol) devre dışı bırakan çok fazla ağ yöneticisi var .
Bunun yerine, açık olmasını bekleyebileceğiniz bir bağlantı noktasında güvenilir bir sunucuyu hızlı bir şekilde test ediyorum:
if nc -zw1 google.com 443; then
echo "we have connectivity"
fi
Bu nc
, port tarama modunda netcat ( ) işlevini kullanır ; hızlı bir zamanaşımı (hızlıca bir zaman aşımı -z
süresi olan hızlı bir dürtme ( sıfır-I / O modudur [tarama için kullanılır ) -w 1
). Google'ı 443 numaralı bağlantı noktasından (HTTPS) kontrol eder.
Herhangi bir ana bilgisayar için 80 numaralı bağlantı noktasında (HTTP) yanıtlayabilecek esir portallara ve şeffaf proxy'lere karşı koruma sağlamak için HTTP yerine HTTPS kullandım . Bu, 443 numaralı bağlantı noktasını kullanırken daha az olasıdır, çünkü bir sertifika uyuşmazlığı olacaktır, ancak yine de gerçekleşmektedir.
Kendinizi buna karşı kanıtlamak istiyorsanız, bağlantıdaki güvenliği doğrulamanız gerekir:
test=google.com
if nc -zw1 $test 443 && echo |openssl s_client -connect $test:443 2>&1 |awk '
handshake && $1 == "Verification" { if ($2=="OK") exit; exit 1 }
$1 $2 == "SSLhandshake" { handshake = 1 }'
then
echo "we have connectivity"
fi
Bu bir bağlantıyı denetler (openssl'nin zaman aşımına uğramasını beklemek yerine) ve doğrulama aşamasını girerek SSL anlaşmasını yapar. Doğrulama "Tamam" ise ya da bir hatayla ("yanlış") çıkarsa sessizce çıkar ("doğru"), sonra bulguyu bildiririz.
$ ethtool <dev> | awk '$0 ~ /link detected/{print $3}'