llz's zone
常用网络问题排查命令
Nov 10, 2024应用层
DNS
nslookup
% nslookup www.baidu.com
Server: 172.31.1.60
Address: 172.31.1.60#53
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 220.181.111.232
Name: www.a.shifen.com
Address: 220.181.111.1
从命令结果可以得出:
- DNS服务器是172.31.1.60,端口是默认的DNS服务端口:53
- www.baidu.com只是个别名,规范名称是www.a.shifen.com
- www.a.shifen.com的后端服务地址是220.181.111.232、220.181.111.1
dig
功能比nslookup更强一些
% dig www.baidu.com
; <<>> DiG 9.10.6 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13772
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
www.a.shifen.com. 67 IN A 220.181.111.1
www.a.shifen.com. 67 IN A 220.181.111.232
;; Query time: 8 msec
;; SERVER: 172.31.1.60#53(172.31.1.60)
;; WHEN: Sat Apr 05 22:14:44 CST 2025
;; MSG SIZE rcvd: 104
HTTP
telnet
建立tcp连接,然后发送字符串,例如下面的GET / HTTP/1.1是手动敲进去的,就会响应百度的首页
$ telnet www.baidu.com 80
Trying 183.2.172.185...
Connected to www.a.shifen.com.
Escape character is '^]'.
GET / HTTP/1.1
... 百度首页内容 ...
应用层之下
查询网口地址信息
ip a s
等价于ip addr show,可以用来替代ifconfig命令,输出结果如下:

通过这个命令可以得出如下信息:
-
以太网接口:
eth0表示网口的名字,eth是Ethernet(以太网)的简写,0是它的序号,从这个命令输出结果可以得出这台主机中,有且仅有一个以太网接口。
-
网口MAC地址:
link/ether表示网口的二层地址信息,link表示链路层,ether是以太网(Ethernet)的简写。fa:20:20:33:f1:bf是网口的二层地址,即MAC地址。brd是broadcast(广播)的简写,ff:ff:ff:ff:ff:ff是网口的二层广播地址。
-
网口IP地址:
inet表示网口的三层地址信息,inet是互联网协议(Internet Protocol)的简写。192.168.97.1是网口的三层地址,即IP地址。/20表示子网掩码。192.168.111.255是网口的三层广播地址。
查询网络邻居信息
ip n s
等价于ip neigh show,可以用来代替arp命令,输出结果如下:

输出内容每一行代表一个和本机处于同一二层网络的设备信息:
192.168.96.2表示其他设备的IP地址。dev是device(设备)的简写。eth0表示这个设备和网口eth0位于同一个二层网络。lladdr是link-layer address(链路层地址)的简写。fa:16:3e:06:78:d2表示这个设备的MAC地址。REACHABLE表示和这个设备网络可达。
查询路由表
ip r s
等价于ip route show,可以用来代替route命令,输出结果如下:

输出内容每一行代表一条路由,包含如下信息:
metric 100表示这条路由的优先级,数值越小优先级越高。proto表示这条路由是从哪来的,dhcp表示通过DHCP协议获取,kernal表示由内核自动生成。scope表示这条路由的作用范围,link表示仅作用于二层网络。192.168.96.0/20表示目的IP网段。dev eth0表示消息从eth0网口发出。via 192.168.96.1表示下一跳地址是192.168.96.1。src 192.168.97.1表示只有请求方IP地址是192.168.97.1的消息,这条路由才会生效。default表示默认网关配置,它等同于0.0.0.0,可以匹配任意接收方地址。
综上,这个命令的输出告诉我们:
eth0所处二层网络的默认网关为192.168.96.1。- 本机发往
192.168.96.0/20的消息,通过eth0网口发出。