내가보기 엔 추천 에 대해 사용하여 ping
연결을 확인합니다. 네트워크 에서 시작된 플러드 공격 에 대한 우려로 인해 ICMP (사용하는 프로토콜) 를 비활성화하는 네트워크 관리자가 너무 많습니다 .
대신, 개방 된 포트에서 신뢰할 수있는 서버에 대한 빠른 테스트를 사용합니다.
if nc -zw1 google.com 443; then
echo "we have connectivity"
fi
이 용도 netcat을 ( nc
그것의) 포트 스캔 모드는 짧은 포크는 ( -z
인 [스캐닝 사용] 제로 I / O 모드 짧은 타임 아웃 ()와 -w 1
대기 최대 하나 초). 포트 443 (HTTPS)에서 Google을 확인합니다.
모든 호스트에 대해 포트 80 (HTTP)에서 응답 할 수있는 캡 티브 포털 및 투명한 프록시 로부터 보호하기 위해 HTTP 대신 HTTPS를 사용했습니다 . 인증서 불일치가 발생하기 때문에 포트 443을 사용할 때는 가능성이 적지 만 여전히 발생합니다.
이를 방지하려면 연결의 보안을 검증해야합니다.
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
이렇게하면 openssl이 시간 초과 될 때까지 기다리지 않고 연결을 확인한 다음 확인 단계를 수행하여 SSL 핸드 셰이크를 만듭니다. 확인이 "OK"이거나 오류 ( "false")와 함께 종료되면 자동으로 종료 ( "true")되고 결과를보고합니다.
$ ethtool <dev> | awk '$0 ~ /link detected/{print $3}'