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

从命令结果可以得出:

  1. DNS服务器是172.31.1.60,端口是默认的DNS服务端口:53
  2. www.baidu.com只是个别名,规范名称是www.a.shifen.com
  3. 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命令,输出结果如下:

通过这个命令可以得出如下信息:

  1. 以太网接口:

    • eth0表示网口的名字,eth是Ethernet(以太网)的简写,0是它的序号,从这个命令输出结果可以得出这台主机中,有且仅有一个以太网接口。
  2. 网口MAC地址:

    • link/ether表示网口的二层地址信息,link表示链路层,ether是以太网(Ethernet)的简写。
    • fa:20:20:33:f1:bf是网口的二层地址,即MAC地址。
    • brd是broadcast(广播)的简写,ff:ff:ff:ff:ff:ff是网口的二层广播地址。
  3. 网口IP地址:

    • inet表示网口的三层地址信息,inet是互联网协议(Internet Protocol)的简写。
    • 192.168.97.1是网口的三层地址,即IP地址。
    • /20表示子网掩码。
    • 192.168.111.255是网口的三层广播地址。

查询网络邻居信息

ip n s

等价于ip neigh show,可以用来代替arp命令,输出结果如下:

输出内容每一行代表一个和本机处于同一二层网络的设备信息:

查询路由表

ip r s

等价于ip route show,可以用来代替route命令,输出结果如下:

输出内容每一行代表一条路由,包含如下信息:

综上,这个命令的输出告诉我们:

  1. eth0所处二层网络的默认网关为192.168.96.1
  2. 本机发往192.168.96.0/20的消息,通过eth0网口发出。