平时经常需要进行 DNS 查询,比如查询某个域名的解析是否是在我们这边,但是客户往往丢过来的都是以http://
开头的连接,而我使用 dig 查询的时候 是不可以直接加这样进行查询的
正常的查询
➜ wwwroot dig www.baidu.com
; <<>> DiG 9.8.3-P1 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50637
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 295 IN CNAME www.a.shifen.com.
www.a.shifen.com. 295 IN A 180.97.33.107
www.a.shifen.com. 295 IN A 180.97.33.108
;; Query time: 75 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Fri Jun 23 08:23:16 2017
;; MSG SIZE rcvd: 90
那么我们可以通过自定义shell 函数的方式来进行一些优化
jx () {
echo $1 | awk -F'[/:]' '{print $4}' | xargs dig
}
将上面的内容放在你的家目录的.zshrc
中,因为我用的是 zsh
,如过你是 bash
,就是 bashrc
。然后添加后记得让它立即生效
$source ~/.zshrc
然后就可以通过jx http://xxxxx.com
去进行解析了
➜ wwwroot jx http://awen.me
; <<>> DiG 9.8.3-P1 <<>> awen.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13337
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;awen.me. IN A
;; ANSWER SECTION:
awen.me. 125 IN CNAME awenblog.b0.aicdn.com.
awenblog.b0.aicdn.com. 125 IN CNAME nm.ctn.aicdn.com.
nm.ctn.aicdn.com. 125 IN A 58.222.18.24
;; Query time: 71 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Fri Jun 23 08:26:24 2017
;; MSG SIZE rcvd: 97
将base64字符串解码
de () {
echo "$1" | base64 -D;
}
将字符串编码成 base64
en () {
echo -n "$1" | base64;
}
获取 ip 归属地
需要安装 httpie
ip () {
http http://freeapi.ipip.net/$1
}
测试端口是否是通的
p () {
nc -zv $1 $2
}
10 进制时间转成可读时间
d () {
date -r $1
}
16 进制转成 10 进制
10j () {
echo $((0x$1))
}
解析带 http 开头的 url
jx () {
echo $1 | awk -F'[/:]' '{print $4}' | xargs dig
}
MD5 字符串
m5 () {
md5 -s $1
}
生成 hmac sha1 加密算法
sha1 (){
echo -n $1 | openssl sha1 -hmac $2
}
查询网址备案
ba (){
curl -X GET http://www.sojson.com/api/beian/$1
}