[命令] Linux 命令 dig (从 DNS 服务器获取主机信息)

内容一:dig 命令简介

dig 即 domain information groper,主要功能是从 DNS 服务器获取主机信息

内容二:dig 命令的使用案例

2.1 案例一:显示互联网上所有 DNS 根服务器的信息

# dig

2.2 案例二:直接通过域名获取主机信息

# dig eternalcenter.com

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

2.3 案例三:直接通过域名获取主机信息,但只显示最基础的内容

# dig eternalcenter.com +short

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

2.4 案例四:直接通过域名获取主机信息,并指定显示的内容

# dig eternalcenter.com +noall +answer

(补充:这里以通过 eternalcenter.com 域名获取主机信息,并显示 noall 和 answer 部分的内容为例)

2.5 案例五:从指定的 DNS 服务器和端口号通过域名获取主机信息

# dig @8.8.8.8 -p 53 eternalcenter.com

(补充:这里以通过 eternalcenter.com 域名从 IP 地址是 8.8.8.8 端口是 53 的 DNS 服务器获取主机信息为例)

2.6 案例六:通过 IP 地址获取主机信息

# dig -x 8.8.8.8

(补充:这里以通过 IP 地址 8.8.8.8 获取主机信息为例)

2.7 案例七:通过 IP 地址获得主机信息,但只显示最基础的内容

# dig -x 8.8.8.8  +short

(补充:这里以通过 IP 地址 8.8.8.8 获取主机信息为例)

2.8 案例八:直接通过域名获取主机信息,同时显示获取的过程

# dig eternalcenter.com +trace

(补充:这里以通过 eternalcenter.com 域名获取主机信息为例)

[排错] 解决 Linux 普通用户执行 ping 命令时报错 “ping: socket: Address family not supported by protocol” 或者 “Error: ping: socket: Operation not permitted”

解决方法一:修改 net.ipv4.ping_group_range 参数

1.1 确认文件功能没有参数

# getcap /usr/bin/ping

(补充:确认没有输出结果)

1.2 修改 net.ipv4.ping_group_range 参数

# sysctl net.ipv4.ping_group_range="0 2147483647"

解决方法二:设置文件功能参数

2.1 设置文件功能参数

# setcap cap_net_raw+eip /usr/bin/ping

2.2 确认文件功能参数已经设置

# getcap /usr/bin/ping
/usr/bin/ping = cap_net_raw+eip

[内容] Linux 网卡的显示

方法一:ip 命令

# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1c:42:c9:3c:81 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.129/24 brd 10.10.10.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fdb2:2c26:f4e4:0:55da:1265:541f:8007/64 scope global temporary dynamic 
       valid_lft 563315sec preferred_lft 44695sec
    inet6 fdb2:2c26:f4e4:0:21c:42ff:fec9:3c81/64 scope global dynamic mngtmpaddr 
       valid_lft 2591846sec preferred_lft 604646sec
    inet6 fe80::21c:42ff:fec9:3c81/64 scope link 
       valid_lft forever preferred_lft forever

方法二:ifconfig 命令

# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.129  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fdb2:2c26:f4e4:0:21c:42ff:fec9:3c81  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::21c:42ff:fec9:3c81  prefixlen 64  scopeid 0x20<link>
        inet6 fdb2:2c26:f4e4:0:55da:1265:541f:8007  prefixlen 64  scopeid 0x0<global>
        ether 00:1c:42:c9:3c:81  txqueuelen 1000  (Ethernet)
        RX packets 698666  bytes 485434755 (462.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 372557  bytes 699406543 (667.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 73792  bytes 394285172 (376.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 73792  bytes 394285172 (376.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

方法三:iwconfig 命令

# iwconfig 
lo        no wireless extensions.

eth0      no wireless extensions.