Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # host,port,san(あり、無),ast(あり、無),fqdn,resolv,judge(一致のため不出、不一致)
- logdir=./logs/domain_san
- ssldir=./ssl/sslscan
- if [ ! -e $logdir ];then
- mkdir $logdir
- fi
- # 1. sslscan.logのファイル名をリストアップ
- ls -1 $ssldir|grep log > $logdir/log_list.txt
- # 2. csvに列名を記載
- echo "Host","Port","SAN有無","アスタ有無","FQDN","正引き結果","指摘判断" >> $logdir/res.csv
- # 3. sslscan.logのリストを読み込み、ファイル名ごとに処理
- while read line
- do
- host=`echo $line|cut -d '_' -f1`
- port=`echo $line|cut -d '_' -f2`
- # 4. logにSANがあるか?
- #4.1 ない場合(処理終了)
- grep -i alternative $ssldir/$line
- ret=$?
- if [ $ret -eq 1 ]; then
- san="無"
- ast="-"
- fqdn="-"
- resolv="-"
- judge="SANなし"
- echo $host,$port,$san,$ast,$fqdn,$resolv,$judge >> $logdir/res.csv
- # 4.2 ある場合
- elif [ $ret -eq 0 ]; then
- # 4.2.1 SANの中にアスタがあるか?
- grep -i alternative $ssldir/$line -A1 |grep "*"
- ret2=$?
- # 4.2.1.1 ある場合(処理終了)
- if [ $ret2 -eq 0 ]; then
- san="あり"
- ast="あり"
- fqdn="-"
- resolv="-"
- judge="アスタありで不出"
- echo $host,$port,$san,$ast,$fqdn,$resolv,$judge >> $logdir/res.csv
- # 4.2.1.2 ない場合(正引きする)
- elif [ $ret2 -eq 1 ]; then
- # 正引き用にFQDNをリストアップ
- grep -i alternative -A1 $ssldir/$line|grep DNS:|sed -e s/DNS://g | tr ',' '\n' > $logdir/tmp2.txt
- cat tmp2.txt
- # FQDNリストを読み込み、それぞれnslookup
- while read line2
- do
- nslookup $line2|grep -i "NXDOMAIN"
- # 正引き不明の場合
- if [ $? -eq 0 ]; then
- san="あり"
- ast="無"
- fqdn=$line2
- resolv="NXDOMAIN"
- judge="正引き不明で不出"
- echo $host,$port,$san,$ast,$fqdn,$resolv,$judge >> $logdir/res.csv
- # 正引きができた場合
- elif
- nslookup $line2|grep -i answer -A2|grep -i address:
- [ $? -eq 0]; then
- san="あり"
- ast="無"
- fqdn=$line2
- resolv=`nslookup $line2|grep -i answer -A2|grep -i address|sed "s/Address: //g"`
- #ファイル名のロングホスト(host)と、正引き結果(resolv)のショートホストを比較する
- ip1=`echo $host |tr '.' '\n'|sed -e s/^00//g -e s/^0//g | tr "\n" ".";echo| sed s/\.$//g`
- ip2=`echo $resolv |sed s/$/\./g `
- if [ $ip1 = $ip2 ]; then
- judge="正引き一致で不出"
- else
- judge="不一致"
- fi
- echo $host,$port,$san,$ast,$fqdn,$resolv,$judge >> $logdir/res.csv
- fi
- done < $logdir/tmp2.txt
- fi
- fi
- done < $logdir/log_list.txt
- cat $logdir/res.csv |nkf -s > $logdir/result.csv
- cd $logdir
- rm log_list.txt res.csv
- if [ -e tmp2.txt ];then
- rm tmp2.txt
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement