리눅스

[인증 기간 확인] SSL 인증 체크 스크립트

박히응 2025. 4. 3. 14:41

실행 목적

resolve 옵션을 통해 'list' 내의 IP 대상 서버들을 일괄적으로 SSL 인증 체크

실제 경로 내 파일

[ph702@DA-CC-SC02 ssl_check]$ ls
list  result  script

선행 조건

  1. "list" 파일 내에 IP 주소 기입

실행 순서

  1. "sh script '도메인' '/컨텐츠' " 실행

작성 내용

#!/bin/bash

# 입력값 확인
if [ $# -lt 1 ]; then
    echo "사용법: $0 <도메인> [/컨텐츠]"
    exit 1
fi

domain=$1
content=${2:-"/"}  # 경로가 입력되지 않으면 기본값 "/"
result_file="result"

# 기존 결과 파일 삭제
rm -rf "$result_file"

# IP 리스트 파일 확인
if [ ! -f list ]; then
    echo "list 파일이 존재하지 않습니다."
    exit 1
fi

# IP 리스트를 사용하여 HTTPS 요청 수행
while read -r ip; do
    # 빈 줄 또는 주석 줄은 무시
    if [[ -z "$ip" || "$ip" =~ ^# ]]; then
        continue
    fi

    echo "검사 중: ${ip}"

    # HTTPS 요청 수행
    curl -vo /dev/null --resolve "${domain}:443:${ip}" "https://${domain}${content}" 2> stdout
    sleep 0.3

    # 인증서 만료 날짜 추출
    expire_date=$(grep -i "expire date" stdout)

    # 결과 저장
    {
        echo "${ip}  ${domain}"
        if [ -n "$expire_date" ]; then
            echo "*  ${expire_date}"
        else
            echo "*  인증서 정보 없음"
        fi
        echo ""
    } >> "$result_file"

done < list

# 임시 파일 삭제
rm -f stdout

echo "검사가 완료되었습니다. 결과는 '${result_file}' 파일을 확인하세요."

실행 결과

[ph702@DA-CC-SC02 ssl_check]$ ./script
사용법: ./script <도메인> [/컨텐츠]

[ph702@DA-CC-SC02 ssl_check]$ ./script edu2.sba.kr
검사 중: 114.108.156.38
검사 중: 114.108.157.34
검사 중: 114.108.158.72
검사 중: 182.162.107.44
검사 중: 182.162.14.6
검사 중: 211.237.6.32
검사가 완료되었습니다. 결과는 'result' 파일을 확인하세요.

[ph702@DA-CC-SC02 ssl_check]$ cat result
114.108.156.38  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

114.108.157.34  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

114.108.158.72  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

182.162.107.44  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

182.162.14.6  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

211.237.6.32  edu2.sba.kr
*  *  expire date: Apr 10 23:59:59 2026 GMT

'리눅스' 카테고리의 다른 글

[ISP 확인] IP에 해당하는 ISP(인터넷 서비스 제공자) 확인  (0) 2025.12.05
sed 스크립트  (0) 2025.04.10
IP 추출 스크립트  (0) 2025.04.10
멀티_커맨드  (0) 2025.04.08