这里直接给出脚本以及运行的效果图,主要推断了一下cdn然后能够直接过滤url。默认就是dig +域名 +short。

脚本qdig(随便能够取一个名字)例如以下:

#!/usr/bin/env bash
c=$(echo $1 | awk -F '://' '{print $1}')
if [ "$c" = "http" ] || [ "$c" = "https" ]; then
b=$(echo $1 | awk -F '://' '{print $2}' | awk -F '/' '{print $1}')
fi
if [ "$c" != "http" ] && [ "$c" != "https" ]; then
b=$(echo $1 | awk -F '/' '{print $1}')
fi a=$(dig $b +short) if [ "$a" = "" ]; then
echo ""
echo 'dig' $b '+short'
echo '域名还没有进行cname'
exit 1
else
echo ""
echo 'dig' $b '+short'
echo "$a"
echo ""
echo "$a" | awk -F "." '{if($(NF-2)=="wscdns"||$(NF-2)=="ourglb0"||$(NF-2)=="cdn20"||$(NF-2)=="lxdns"||$(NF-2)=="ourwebcdn"){print "网宿"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="cdnga"||$(NF-2)=="cdngc"||$(NF-2)=="cdnetworks"||$(NF-2)=="gccdn"){print "同兴"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="fastcdn"||$(NF-2)=="tlgslb"){print "帝联"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="ccgslb"){print "蓝汛"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="qingcdn"){print "白山"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="hadns"||$(NF-2)=="cloudcdn"||$(NF-2)=="hacdn"||$(NF-2)=="fastwebcdn"||$(NF-2)=="cloudglb"){print "快网"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="cdntip"||$(NF-2)=="qq"||$(NF-2)=="dnsv1"){print "腾讯"}}'
echo "$a" | awk -F "." '{if($(NF-2)=="lecloud"||$(NF-2)=="letv"||$(NF-2)=="leletv"){print "乐视"}}'
fi

完毕后将qdig增加环境变量。运行效果例如以下qdig链接和qdig域名效果一样:

~/tools » qdig http://static.alphadn.com/xxx/xxx.jpg                                                                                

dig static.alphadn.com +short
7fv9ur3h.https.z0.glb.qiniudns.com.
static.alphadn.com.cloudglb.com.
c06.i06.ctljs.lv3.cloudglb.com.
222.186.20.123
222.186.20.109
58.220.2.10
58.220.2.124 快网
快网

Linux---有关dig命令的有用脚本的更多相关文章

  1. Linux下dig命令使用

    Dig简介:   Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具.由于一直缺失Dig man page文档,本文就权当一个dig使用向导吧.   Dig的 ...

  2. linux命令总结之dig命令

    Dig简介: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具.Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内 ...

  3. 如何在java程序中调用linux命令或者shell脚本

    转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到ja ...

  4. Linux下解析域名命令-dig 命令使用详解

    Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息.dig 命令主要用来从 DNS 域名服务器查询主机地址信息.dig的全称是 (dom ...

  5. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  6. Linux命令之dig命令挖出DNS的秘密

    === [初次见面] 我相信使用nslookup的同学一定比使用dig的同学多,所以还是有必要花些时间给大家介绍一下dig的. dig,和nslookup作用有些类似,都是DNS查询工具. dig,其 ...

  7. nslookup、dig命令Linux安装包

    linux下提供nslookup,dig命令的软件就是 bind-utils yum install bind-utils -y

  8. 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析

    云服务器 ECS Linux 系统可以使用通常自带的 dig 命令来查询域名解析情况.本文对此进行简要说明. 查询域名 A 记录 命令格式: dig <域名> 比如,查询域名 www.al ...

  9. linux dig 命令使用

    linux dig 命令使用方法 2018.04.20 15:47 43101浏览   dig 命令主要用来从 DNS 域名服务器查询主机地址信息. 查询单个域名的 DNS 信息 dig 命令最典型的 ...

随机推荐

  1. 「Python调试器」,快速定位各种疑难杂症!!

    现在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要 ...

  2. SVG 浏览器支持

    可以参考以下链接: https://caniuse.com/#search=svg https://en.wikipedia.org/wiki/Comparison_of_layout_engines ...

  3. 【转】c语言中的定义和声明

    1. 变量的定义.声明 变量的声明有两种情况: 一种是需要建立存储空间的.例如:int  a.在声明的时候就已经建立了存储空间.这种声明是"定义性声明(defining declaratio ...

  4. android ViewPager实现的轮播图广告自定义视图,网络获取图片和数据

    public class SlideShowAdView extends FrameLayout { //轮播图图片数量    private static int IMAGE_COUNT = 3;  ...

  5. winfrom 多线程 并发 和定时任务

    static void Main(string[] args) { //多个线程修改同一个值,使用lock锁解决并发 for (int i = 0; i < 4; i++) { Task.Fac ...

  6. How To:利用frm和idb文件进行数据恢复.txt

    在另外一个机器上准备测试数据,并传输到dbadb05机器的/mysql/backup/reco/位置下.开始尝试恢复数据一.使用mysqlfrm获取表结构信息及DDL语句. [mysql@dbadb0 ...

  7. 启发式合并CodeForces - 1009F

    E - Dominant Indices CodeForces - 1009F You are given a rooted undirected tree consisting of nn vert ...

  8. 基于Docker Compose搭建mysql主从复制(1主2从)

    系统环境 * 3 Ubuntu 16.04 mysql 8.0.12 docker 18.06.1-ce docker-compose 1.23.0-rc3 *3 ==> PS  ###我用的是 ...

  9. MySQL的优化细节

    数据库设计 目的 结合DBMS(数据库管理系统)实现有效存储.高效访问.减少数据冗余,避免维护异常,节约存储空间. 大概的步骤 需求分析->逻辑设计->物理设计(考虑数据库系统的差异)-& ...

  10. buf.entries()详解

    buf.entries() 返回:{Iterator} 从当前 Buffer 的内容中,创建并返回一个 [index, byte] 形式的迭代器. const buf = Buffer.from('b ...