실행 목적
resolve 옵션을 통해 'list' 내의 IP 대상 서버들을 일괄적으로 SSL 인증 체크
실제 경로 내 파일
[ph702@DA-CC-SC02 ssl_check]$ ls
list result script
선행 조건
- "list" 파일 내에 IP 주소 기입
실행 순서
- "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 |