linux常用网络工具汇总二

linux常用网络工具汇总

导言:

接上期,本期将介绍DNS相关工具,路由及路由追踪,抓包工具等

5. DNS相关

5.1 dig

dig命令(Domain Information Groper命令)是常用的域名查询工具,通过此命令,你可以实现域名查询和域名问题的定位,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。。它提供了多种功能,可以用来获取域名的A记录CNAME记录MX记录TXT记录等。

  • 安装方式
sudo yum install bind-utils    #Centos系统
sudo apt-get install dnsutils  #Ubuntu系统
  • 基本格式
dig [@server]  [name] [type] [class] [queryopt...]
  • 常用选项
  -t <查询类型>:指定查询的类型。例如,-t A表示查询A记录,-t MX表示查询MX记录。
  -c <类别>:指定查询的类别。一般使用IN,默认是IN-x :进行逆向查询。例如,-x 8.8.8.8表示查询IP地址8.8.8.8对应的域名。
  -p <端口号>:指定查询DNS服务器的端口号,默认是53-f <文件名>:从指定文件中读取要查询的域名。
  -4:使用IPv4协议进行查询。					#默认
  -6:使用IPv6协议进行查询。
  • 查询选项:
 +trace:指示dig命令在查询过程中显示DNS服务器的路径。
 +nssearch:指示dig命令在查询过程中也执行NS记录的查询。
 +short:只显示查询结果的摘要信息,不包含详细的解析结果。
 +nocmd:在查询结果中不显示报头和查询命令。
 +noall:在查询结果中只显示回答部分,不显示其他信息。
  • 常见查询类型
  A记录:查询主机名对应的IPv4地址。
  AAAA记录:查询主机名对应的IPv6地址。
  CNAME记录:查询主机名的别名。
  MX记录:查询邮件服务器的地址。
  TXT记录:查询主机名的附加文本信息。
  NS记录:查询域名服务器的地址。
  SOA记录:查询域名的起始授权。
  • dig命令查询的结果包含了目标域名的各种DNS记录信息。其中,通常关注的信息有:
  – 响应状态码:查询是否成功。常见的响应状态码有:NOERROR、NXDOMAIN、SERVFAIL等。
  – 查询时间:从发送查询请求到接收到响应的时间。
  – 授权信息:查询的域名服务器的地址。
  – 回答部分:查询结果的详细信息,包括IP地址、CNAME记录、TXT记录等。		#关注
  • 常见的返回结果解释:
QUESTION SECTION:显示你查询的问题,即你要查询的域名和查询类型。
ANSWER SECTION:显示了你查询的答案,即返回的DNS记录。
AUTHORITY SECTION:显示了负责该域名的权威DNS服务器。
ADDITIONAL SECTION:显示了关于AWNER SECTION中提到的权威DNS服务器的额外信息。
QUERY TIME:显示了查询所需的时间。
SERVER:显示了你查询的DNS服务器的地址。
STATUS:显示了查询的状态,如:NOERROR(没有错误)。
COMMANDS:显示了你在查询中使用的额外的dig参数。
OPTIONS:显示了你在查询中使用的额外的服务器选项。

无参数

[root@node-252 ~]# dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34568			#响应状态码
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 1408
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:													#回答部分
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       5       IN      A       220.181.38.150
www.a.shifen.com.       5       IN      A       220.181.38.149

;; Query time: 22 msec
;; SERVER: 192.168.202.2#53(192.168.202.2)
;; WHEN: Thu Aug 08 16:14:07 CST 2024								
;; MSG SIZE  rcvd: 101
  • dig命令还提供了一些高级用法,用于特定的查询需求
  – 指定DNS服务器:通过@选项指定查询的DNS服务器。
  – 限制查询次数:使用+tries选项限制查询的次数。
  – 设置超时时间:使用+timeout选项设置查询的超时时间。

例如:

[root@node-252 ~]# dig @114.114.114.114 +timeout=5 +tries=5 www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> @114.114.114.114 +timeout=5 +tries=5 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46026
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          869     IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       54      IN      A       110.242.68.4
www.a.shifen.com.       54      IN      A       110.242.68.3

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Thu Aug 08 16:24:48 CST 2024
;; MSG SIZE  rcvd: 101

+trace查询DNS服务器路径

[root@node-252 ~]# dig +trace google.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> +trace google.com
;; global options: +cmd
.                       5       IN      NS      d.root-servers.net.
.                       5       IN      NS      e.root-servers.net.
.                       5       IN      NS      f.root-servers.net.
.                       5       IN      NS      g.root-servers.net.
.                       5       IN      NS      h.root-servers.net.
.                       5       IN      NS      i.root-servers.net.
.                       5       IN      NS      j.root-servers.net.
.                       5       IN      NS      k.root-servers.net.
.                       5       IN      NS      l.root-servers.net.
.                       5       IN      NS      m.root-servers.net.
.                       5       IN      NS      a.root-servers.net.
.                       5       IN      NS      b.root-servers.net.
.                       5       IN      NS      c.root-servers.net.
;; Received 239 bytes from 192.168.202.2#53(192.168.202.2) in 16 ms

com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A
com.                    86400   IN      RRSIG   DS 8 1 86400 20240821050000 20240808040000 20038 . hOA0XysK6RFsF+h5sos6vLx8JYq3gDlFrt0u3GwdiPIpasAhxRxzINQr c+H3DD2uFkLhhnjYU6wsBWjtXBcm9RExx388X4VoTC9EmVW4PMPECptb uU9Qh4R2cshLAsmqZzfD81bzTa4wJOewe4Vqwq0URW6u9Ym5YDI4V5rt udtPqcY9SJaKXKawxzk/237MQtyvYzpENNvy7SgcPYPEo47CJqIvFZ3H XKdo01Zz67Sho4d7yygUkygndXjyZtnyRTedw6oYBI+k9S5eI00lcCVX 76tJjBbXIqGKetLhg8ruh57i5npbr6mUiAMSgQaqYMG0PSATaGEKBWT2 COiQ9Q==
;; Received 1170 bytes from 192.5.5.241#53(f.root-servers.net) in 19 ms

google.com.             60      IN      A       8.7.198.46
;; Received 54 bytes from 192.33.14.30#53(b.gtld-servers.net) in 13 ms

可以看到我们查询google.com,会先从13个根服务器开始查询(. 5 IN NS d.root-servers.net.,路径中的点也称尾随点,代表根域),接着开始查询顶级域名服务器(com. 172800 IN NS i.gtld-servers.net..com),接着就查询到了google.com.

尾随点是DNS定义必要的一个知识点,它代表了一个域名的绝对路径。在 DNS 层次结构中,根域(root domain)被表示为一个空字符串。因此,一个完全合格的域名(FQDN)如 www.example.com 在技术上应该写作 www.example.com.,其中末尾的点代表了根域,每个点儿前边的部分都是域名的一个级别。

关于域名可以参考https://blog.csdn.net/u010230019/article/details/130195777

+short仅显示摘要信息

[root@node-252 ~]# dig +short jd.com
106.39.171.134
211.144.27.126
211.144.24.218
111.13.149.108

-t指定查询记录类型,当查询类型放在最后的时候可以省略-t

[root@node-252 ~]# dig jd.com TXT

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> jd.com TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 1408
;; QUESTION SECTION:
;jd.com.                                IN      TXT

;; ANSWER SECTION:
jd.com.                 5       IN      TXT     "v=spf1 include:a.spf.jd.com include:b.spf.jd.com include:c.spf.jd.com include:servers.mcsv.net -all"
jd.com.                 5       IN      TXT     "_globalsign-domain-verification=0vTdRGux-vwc4ntmDf3nbaKAN2EfJW0E-Fm5lUQMUW"

;; Query time: 16 msec
;; SERVER: 192.168.202.2#53(192.168.202.2)
;; WHEN: Thu Aug 08 16:47:05 CST 2024
;; MSG SIZE  rcvd: 234

-x反向解析

[root@node-252 ~]# dig -x 8.8.8.8

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> -x 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23785
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa.          IN      PTR

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa.   5       IN      PTR     dns.google.

;; Query time: 23 msec
;; SERVER: 192.168.202.2#53(192.168.202.2)
;; WHEN: Fri Aug 09 09:30:18 CST 2024
;; MSG SIZE  rcvd: 73

[root@node-252 ~]# dig -x 114.114.114.114

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> -x 114.114.114.114
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11884
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 1408
;; QUESTION SECTION:
;114.114.114.114.in-addr.arpa.  IN      PTR

;; ANSWER SECTION:
114.114.114.114.in-addr.arpa. 5 IN      PTR     public1.114dns.com.

;; Query time: 42 msec
;; SERVER: 192.168.202.2#53(192.168.202.2)
;; WHEN: Fri Aug 09 09:30:30 CST 2024
;; MSG SIZE  rcvd: 89

5.2 host

host 是常用的域名解析工具,可以用来测试域名系统工作是否正常。host 命令是一个用于执行 DNS 查找的简单实用程序。它通常用于将名称转换为 IP 地址,反之亦然。

[root@node-252 ~]# yum provides host
32:bind-utils-9.11.4-26.P2.el7.x86_64 : Utilities for querying DNS name servers
  • 命令格式
 host [-aCdlnrsTUwv] [-c class] [-N ndots] [-R number] [-t type] [-W wait] [-m flag] [[-4] | [-6]] [-v] [-V] {name} [server]
  • 常用参数
-a: 	显示详细的 DNS 信息。
-c <class>: 	指定查询类型,默认值为 IN(Internet)。
-C: 	查询指定主机的完整的 SOA 记录。
-r: 	不使用递归的查询方式查询域名。
-t <type>: 	指定查询的域名信息类型。
-v: 	显示指令执行的详细信息
-w: 	如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答。
-W <wait>: 	指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出。
-4: 	使用 IPv4 查询传输 (默认)。
-6: 	使用 IPv6 查询传输。

无参数

[root@node-252 ~]# host www.jd.com
www.jd.com is an alias for www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com is an alias for www.jd.com.s.galileo.jcloud-cdn.com.
www.jd.com.s.galileo.jcloud-cdn.com is an alias for wwwv6.jcloudimg.com.
wwwv6.jcloudimg.com has address 42.202.211.129
wwwv6.jcloudimg.com has IPv6 address 240e:90d:1101:201:8000::3

-v显示详细查询信息

[root@node-252 ~]# host -v www.jd.com
Trying "www.jd.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37236
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.jd.com.                    IN      A

;; ANSWER SECTION:
www.jd.com.             5       IN      CNAME   www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com. 5  IN      CNAME   www.jd.com.s.galileo.jcloud-cdn.com.
www.jd.com.s.galileo.jcloud-cdn.com. 5 IN CNAME wwwv6.jcloudimg.com.
wwwv6.jcloudimg.com.    5       IN      A       42.202.211.129

Received 158 bytes from 192.168.202.2#53 in 20 ms
Trying "wwwv6.jcloudimg.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5301
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;wwwv6.jcloudimg.com.           IN      AAAA

;; ANSWER SECTION:
wwwv6.jcloudimg.com.    5       IN      AAAA    240e:90d:1101:201:8000::3

Received 65 bytes from 192.168.202.2#53 in 21 ms
Trying "wwwv6.jcloudimg.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13950
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;wwwv6.jcloudimg.com.           IN      MX

;; AUTHORITY SECTION:
jcloudimg.com.          5       IN      SOA     ns5.jdgslb.com. apollo.jdgslb.com. 1723166023 10800 3600 604800 3600

Received 91 bytes from 192.168.202.2#53 in 84 ms

按指定类型查询记录

[root@node-252 ~]# host -t CNAME  www.jd.com
www.jd.com is an alias for www.jd.com.gslb.qianxun.com.

显示较为详细的DNS信息

[root@node-252 ~]# host -a www.baidu.com
Trying "www.baidu.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35404
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.                 IN      ANY

;; ANSWER SECTION:
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.

Received 58 bytes from 192.168.202.2#53 in 24 ms

使用指定的DNS服务器进行解析

[root@node-252 ~]# host jd.com. 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

jd.com has address 106.39.171.134
jd.com has address 211.144.27.126
jd.com has address 211.144.24.218
jd.com has address 111.13.149.108
Host jd.com not found: 3(NXDOMAIN)
jd.com mail is handled by 30 mx1.jd.com.
jd.com mail is handled by 5 mx.jd.com.

反向解析IP为域名

[root@node-252 ~]# host 8.8.8.8
8.8.8.8.in-addr.arpa domain name pointer dns.google.
[root@node-252 ~]# host 114.114.114.114
114.114.114.114.in-addr.arpa domain name pointer public1.114dns.com.
[root@node-252 ~]# host 223.6.6.6
6.6.6.223.in-addr.arpa domain name pointer public2.alidns.com.

host vs dig

  • host命令是一个执行DNS查找的简单实用程序,‌通常用于将名称转换为IP地址,‌反之亦然。‌它提供了将域名解析为IP地址的功能,‌也可以将IP地址反向解析为域名。‌此外,‌host命令还支持将域名解析为其他类型的记录,‌如MX记录、‌TXT记录等,‌这对于诊断和解决DNS问题非常有用1。‌
  • dig命令是一个功能强大的诊断工具,‌用于查询DNS(‌Domain Name System)‌以获得域名或IP地址的相关信息。‌dig命令可以显示DNS查询的完整过程,‌包括从根域名服务器到顶级域名服务器,‌再到权威域名服务器的整个查询过程。‌它提供了详细的查询结果,‌包括回答部分、‌授权部分和附加部分,‌这对于分析和调试DNS问题非常有用。‌通过使用dig命令,‌可以获取域名的DNS记录信息,‌包括A记录、‌MX记录、‌NS记录等,‌这对于网络管理员和开发者在诊断网络问题、‌检查DNS配置以及进行DNS安全审计等方面非常有用

5.3 nslookup

nslookup是一个网络工具,用于查询域名系统(DNS)中的记录。它可以帮助我们确定域名是否能够成功解析为IP地址,以及解析的过程是否正常。nslookup在Linux系统中十分常用,同时也是Windows系统中的默认工具之一。

  • 命令格式
nslookup [-option] [name | -] [server]
  • 常用选项
server <svr>: 指定DNS服务器
port <port>: 指定端口
type <type>: 指定查询类型
debug: 调试模式

无参数

[root@node-252 ~]# nslookup www.jd.com
Server:         192.168.202.2
Address:        192.168.202.2#53

Non-authoritative answer:
www.jd.com      canonical name = www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com     canonical name = www.jd.com.s.galileo.jcloud-cdn.com.
www.jd.com.s.galileo.jcloud-cdn.com     canonical name = wwwv6.jcloudimg.com.
Name:   wwwv6.jcloudimg.com
Address: 42.202.211.129
Name:   wwwv6.jcloudimg.com
Address: 240e:90d:1101:201:8000::3

nslookup会使用本地DNS服务器进行查询。如果需要使用其他DNS服务器进行查询,可以通过“server”选项来指定

[root@node-252 ~]# nslookup www.jd.com server 114.114.114.114
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
www.jd.com      canonical name = www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com     canonical name = www.jd.com.s.galileo.jcloud-cdn.com.
www.jd.com.s.galileo.jcloud-cdn.com     canonical name = wwwv6.jcloudimg.com.
Name:   wwwv6.jcloudimg.com
Address: 218.60.105.3
Name:   wwwv6.jcloudimg.com
Address: 2408:8730:500:10:8000::3

后面3个例子测试无效,不清楚是工具版本问题,还是系统问题,了解即可

默认情况下,nslookup使用DNS协议的53端口进行查询。如果需要使用其他端口进行查询,可以通过“port”选项来指定

nslookup example.com port 5353

默认情况下,nslookup使用A记录类型进行查询,即查询域名对应的IPv4地址。如果需要查询其他类型的记录,可以通过“type”选项来指定

nslookup example.com type AAAA

在进行复杂的查询时,我们可能需要查看更多的调试信息来确定问题的所在。通过“debug”选项可以开启调试模式

nslookup example.com debug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值