DNS 查询工具说明 - dig

dig 是 UNIX/BSD 系统都自带的 DNS 诊断工具,使用十分灵活,被很多 DNS 管理员用来做 DNS 诊断的工具。但在 Windows 系统中并没有提供 dig 程序,需要用户自行下载安装。

  • 用法
    dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt…]

    符号说明:”[]” 表明该选项是可选项。

    dig 是完全命令行的工具,使用者需要记得各个选项的用法。如果忘记可以使用 -h 选项查看所有的参数。以下就各个选项进行说明:

    • server
      指定 DNS Server 服务器。
    • name
      输入我们所要查询的域名,其意思与 [-q name] 相同。
    • type
      指定要查询的记录类型,其意思与 [-t type] 相同。type 类型有 a、any、mx、ns、soa、hinfo、axfr、txt 等,默认值为 a。
    • address
      指定要透过那一张网卡(IP 地址)进行查询,适用于多网卡环境下指定网卡。
    • -f filename
      指定 filename 文件做为 dig 批处理查询条件,该文件格式是一行一个查询,而在每行开头省略掉 “dig” 命令。
    • -k filename
      指定 filename 文件为 TSIG KEY,也可以使用 -y 直接使用 TSIG 的 key。
    • -p port
      指定 DNS Server 所使用的端口,可用於当服务器不是使用标准 DNS 端口的状况。
    • -x addr
      表示要进行反向查询。
    • -y [hmac:]name:key
      指定查询所用的 TSIG Key,基于安全考虑不建议在命令行使用 TSIG key。
    • queryopt…
      queryoptions,用以指定细步查询设置和显示项目,使用 “+” 来标识。

      1. +[no]tcp:是否使用 TCP 协议查询,一般情况下(不使用 AXFR 和 IXFR )都是用 UDP 协议。
      2. +[no]ignore :UDP 协议若没有响应,是否改用 TCP 协议重新查询,默认为 “是”。
      3. +[no]search:是否使用 resolv.conf 中定义的列表进行查询,默认为 “否”。
      4. +[no]defname:等同于 +[no]search,不提倡使用。
      5. +[no]cl :是否在查询结果中显示记录的类别。
      6. +[no]ttlid :是否在查询结果中显示 TTL 号。
      7. +[no]recurse:是否使用递归查询查询,默认为 “是”。但是当加入 +nssearch 或 +trace 选项时自动取消递归查询。
      8. +[no]nssearch:是否在查询结果中显示 SOA 记录和名称服务器。
      9. +[no]trace:是否在查询结果中显示查询中的跳转(根据根服务器提示查到合适的名称服务器)。
      10. +[no]cmd:是否在查询结果中显示 dig 版本和输入的命令。
      11. +[no]short:是否在查询结果中提供精简显示,默认为 “否”。
      12. +[no]comments:是否在查询结果中显示注释。
      13. +[no]stats:是否在查询结果中显示统计信息,默认为 “是”。
      14. +[no]question:是否在查询结果中显示查询内容。
      15. +[no]answer:是否在查询结果中显示应答段。
      16. +[no]authority:是否在查询结果中显示权威服务器信息。
      17. +[no]additional:是否在查询结果中显示附加段的内容。
      18. +[no]all:设置/取消所有显示标记。
      19. +time=T:设置查询超时时间,默认为 5 秒。
      20. +tries=T:设置查询重试次数,默认是 3,如果小于 1 则设置为1。
      21. +retry=T:设置 UDP 查询重试次数,默认为 2,不包括初次查询。
      22. +bufsize=B :设置查询是的高速缓冲区大小(0~65535)。
      23. +[no]multiline:是否在查询结果中显示一条记录为多行,默认为单行。
      24. +[no]fail:遇到服务器失败的时候是否查询下一个服务器。默认为 “是”。
      25. +[no]besteffort:是否显示不完整的应答信息。默认为 “是”。
      26. +trusted-key=####:指定包含有认证码的文件。如果没有指定,dig 会在当前目录中寻找 trusted-key.key,需要编译时使用 -DDIG_SIGCHASE 选项。
  • 实例介绍
    • 查询A记录:
      D:\greensoft\dig>dig @202.96.209.5 www.docutek.com.cn a
      ; <<>> DiG 9.3.2 <<>> @202.96.209.5 www.docutek.com.cn a
      ; (1 server found)
      ;; global options: printcmd
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 456
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

      ;; QUESTION SECTION:
      ;www.docutek.com.cn. IN A

      ;; ANSWER SECTION:
      www.docutek.com.cn. 259200 IN A 202.132.10.161

      ;; Query time: 124 msec
      ;; SERVER: 202.96.209.5#53(202.96.209.5)
      ;; WHEN: Wed Jan 07 19:30:56 2009
      ;; MSG SIZE rcvd: 52

      dig 的输出信息很详细,以下简单做个说明:

      1. 第一行:显示当前 dig 的版本和查询内容。
      2. 第三行:全局设置选项为直接在窗口显示结果。
      3. 第四行到第六行:显示查询结果的信息。
      4. QUESTION SECTION(查询段)
        显示查询条件,目前我们要查询的是 www.docutek.com.cn 的 A 记录。
      5. ANSWER SECTION(回应段)
        显示从服务器上面得到的回答 202.132.10.161。
      6. 最后面是其它信息,如查询花费 140 微秒、查询服务器为 202.96.209.5、何时进行查询时间、回应数据包大小。
  • 查询反向记录:
    D:\greensoft\dig>dig @192.168.8.246 -x 202.132.10.161 +short

    docutek.com.tw.

  • 查询 NS 记录:
    D:\greensoft\dig>dig @192.168.8.246 docutek.asia ns +short
    ns.docutek.asia.
    ns.docutek.com.cn.
    ns.docutek.com.tw.
  • 查询 MX 记录:
    D:\greensoft\dig>dig @192.168.8.246 docutek.asia mx +short
    10 mail.docutek.asia.
    20 smtp.docutek.com.cn.
  • 查看区域传送:
    D:\greensoft\dig>dig @192.168.8.246 docutek.local axfr;<<>> DiG 9.5.1 <<>> docutek.local axfr
    ;;global options: printcmd
    docutek.local. 28800 IN SOA ib42.docutek.asia. alvin.docutek.asia. 19 10800 3600 2592000 900
    docutek.local. 28800 IN NS ib42.docutek.asia.
    database.docutek.local. 28800 IN CNAME db.docutek.local.
    db.docutek.local. 28800 IN A 192.168.1.247
    db.docutek.local. 28800 IN A 192.168.1.248
    f.docutek.local. 28800 IN CNAME file.docutek.local.
    file.docutek.local. 28800 IN A 192.168.1.246
    finance.docutek.local. 28800 IN A 192.168.1.21
    financem.docutek.local. 28800 IN A 192.168.1.232
    manager.docutek.local. 28800 IN A 192.168.1.239
    marketm.docutek.local. 28800 IN A 192.168.1.231
    orcale.docutek.local. 28800 IN CNAME db.docutek.local.
    www.docutek.local. 28800 IN A 192.168.1.249
    docutek.local. 28800 IN SOA ib42.docutek.asia. alvin.docutek.asia. 19 10800 3600 2592000 900
    ;;Query time: 15 msec
    ;;SERVER: 192.168.8.246#53(192.168.8.246)
    ;;WHEN: Wed Jan 07 16:10:25 2009
    ;;XFR size: 15 records (messages 1, bytes 412)

PHP字符串截取

这段代码好像是Tp的,也不记得了,作用是字符串截取,很多同学在抄的过程中把16进制的\弄丢了,于是好多人拷贝回去的代码都是x01-x7f这样的。这样是不能正常截取的。。。

 

xl2tpd centos7 搭建,纯学习

这个并不是我一个人需要,所以我也没有从头开始研究

感谢 http://www.stunnel.info所写的文章及他的github代码:https://github.com/travislee8964/L2TP-VPN-installation-script-for-CentOS-7/

底部下载的源码里作者信息,我并没有更改,还是源作者的,我只是添加了epel源,修改了几处不兼容的地方

使用这份源码,表示新手使用起来可能会有些问题使用,因为centos官方源里并没有xl2tpd 这个软件。若原作者觉得不妥可联系: lovewy123@gmail.com 说明

先要添加epel:

要使用iptables,是需要iptables和iptables-service的

大概的改变就是这么多,另外有些小的配置修改,有兼容问题,或者部分处理有问题就不多说

本人修改后的源码下载:点击下载

近来挻忙

近来挻忙的,网络也各种抽风

最开始用的一香港vps,发现网络是不错,就是贵了点,再用下去估计得睡大街了。后来用softlayer,网络更快了,价格比之前的还便宜一些。可能树大招风,电信上海骨干网络死活不让softlayer的IP好过,隔几秒钟让你断一次,悲催。MTR看了,确定是上海电信骨干网络问题。目前来看,香港的vps网络带宽大的基本上被盯死了,带宽小的网络比较畅通,建议不购入香港的 vps。

这个周末,闲一点,换了服务器,更新了PHP,Nginx

PHP换到了7.0.1版本,Nginx换到了1.8

不得不说 ,PHP7.x确实快了许多,兼容性嘛,基本上没什么大问题,PHP 7是一个大改版本,但又兼容了老的版本这是比较好的,没有步Python的后尘。Python很不错,可惜了现在搞出来两个不兼容的版本,蛋疼…

Nginx目前最稳定的版本就是1.8了,不过下个版本1.9.x就不支持spdy而支持http2了,大家常用的nginx功能就那么几个,除非有特殊的需求才会去编译一个新版本,基本上1.8也能满足了

另外周末还发现一个问题,Filezilla连接SSL服务器,不管你的证书是不是CA认证过的,通通弹个框出来让你确定,特么敢情压根没判断证书啊,好不爽

golang json.Unmarshal里使用interface{}解析json字符串时int64位无法精确

先来看一段代码:

预期输出结果:

真实输出结果:

解决方法:

输出结果,符合预期

ueditor上传单张图片回调修改

找到 UE.plugin.register(‘simpleupload’, function (){ 这一行,我的当前版本在24404行

以下代码,是这个函数的拷贝:

 

Zend Framework 2 在viewhelper中获取 ServiceLocator

实现ServiceLocatorAwareInterface可以直接在viewHelper中访问ServiceLocator

这样我们可以直接在view中访问ServiceLocator对象