码迷,mamicode.com
首页 > 其他好文 > 详细

【cdn节点状态简单查看】cdn_lookup.sh

时间:2014-12-24 18:35:01      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:cdn

【cdn节点状态简单查看】cdn_lookup.sh

#!/bin/bash
# 
# 2014/11/4

action=$1
[ -z $2 ] && hostname="example.com" || hostname=$2

function usage() {
    cat <<_EOF

usage: $0 [hh|vv|t1|t2]

        hh:                     轮训CDN的IP访问指定域名获取header
        vv:                     同上,显示详细内容
        t1 [hostname]:          使用当前DNS来分析指定域名
        t2 [hostname,ip]:       使用指定的域名和CDN节点IP来分析

_EOF
}

function cdn_ip() {
    nslookup ${hostname} |grep Address |grep -v "#53$" |cut -d " " -f2
}

function hh() {
    cdn_ip |xargs -i curl -I -H "Host:${hostname}" http://{}/ >hh.log 2>&1
    cat hh.log |grep -B3 -A11 ‘200 OK‘ |diff hh.log - |sed -e ‘1,4d‘ -e ‘s/-//g‘ -e ‘s/^[><]//g‘ 
}

function vv() {
    cdn_ip |xargs -i curl -o /dev/null -v -H "Host:${hostname}" http://{}/ >vv.log 2>&1
    cat vv.log |grep -B10 -A16 ‘200 OK‘ |diff vv.log - |sed -e ‘1d‘ -e ‘s/-//g‘ -e ‘s/^[><]//g‘
}

function t1() {
    curl -o /dev/null -v http://${hostname}
}

function t2() {
    [ -z $3 ] && ip=$(cdn_ip |head -n 1) || ip=$3
    curl -o /dev/null -v -H "Host:${hostname}" http://${ip}/ >${ip}.log 2>&1
    sed -i -e ‘s/* About to/\n+-----------------------------------------------------------------------------------+\n\0/g‘         -e ‘s/< HTTP\/1.1/\0===============================/g‘ ${ip}.log
    cat ${ip}.log
}


case ${action} in
    hh|vv|t1|t2)
        ${action}
        ;;
    *)
        usage
        echo "[-] 解析-- ${hostname} --对应的CDN_IP的列表:"
        cdn_ip ${hostname}
        echo ""
        ;;
esac


【cdn节点状态简单查看】cdn_lookup.sh

标签:cdn

原文地址:http://nosmoking.blog.51cto.com/3263888/1594727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!