网络工具
# dig 命令
# TTL
在缓存服务器上的缓存时间
# 常见 DNS 记录的类型
| 类型 | 目的 |
|---|---|
| A | 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录。 |
| AAAA | 用来指定主机名(或域名)对应的 IPv6 地址记录。 |
| CNAME | 如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。 |
| MX | 如果需要设置邮箱,让邮箱能够收到邮件,需要添加 MX 记录。 |
| NS | 域名服务器记录,如果需要把子域名交给其他 DNS 服务器解析,就需要添加 NS 记录。 |
| SOA | SOA 这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。 |
| TXT | 可以写任何东西,长度限制为 255。绝大多数的 TXT记录是用来做 SPF 记录(反垃圾邮件)。 |
# 使用示例
## 跟踪解析过程
dig www.google.com +trace
## 精简输出,只保留解析结果
dig i.camsea.top +short
# lsof 命令
显示所有打开的网络连接
-i
扩展参数: [46][protocol][@hostname|hostaddr][:service|port]
显示所有打开的网络连接以及正在使用该连接的进程的名称
-n
禁止将网络号转换为主机名
-P
禁止将端口号转换为端口名
-s
通常强制lsof显示文件大小。但是,当与-i标志配对时,-s的工作方式有所不同。相反,它允许用户指定要返回的命令的协议和状态。
-r
扩展参数:[t[m<fmt>]]
重复显示。示例:-r10 每 10 秒打印一次,-r10"m==== %T ====" 每 10 秒打印一次,并以自定义分隔符显示
# 使用示例:
## 只看 IPV6 的连接
lsof -i6
## 查询 TCP 协议并且 端口是 25 的连接
lsof -iTCP:25
## 查看 指定地址的连接
lsof -i @82.156.91.132
## 查询 TCP 协议且端口是 433 或 80 的连接
lsof -nP -iTCP:443,80
## 查询 TCP 协议且端口是 433 或 80 LISTEN 状态的连接
lsof -nP -iTCP:443,80 -sTCP:LISTEN
## 可以直接按 域名 查询
lsof -nP -i @www.1970unix.com:443,80
## 每 5 秒打印一次
lsof -nP -i @www.1970unix.com:443,80 -r5"m==== %T ===="
## 查看哪些进程打开了某个目录下的文件,不递归
lsof +d /var/log
## 查看哪些进程打开了某个目录下的文件,递归
lsof +D /var/log
## 查看某个进程打开的所有文件
lsof -p 1152
# netstat 命令
展示当前网络状态
# 参数:
-a
展示所有 sockets (默认展示所有已连接的)
-l
展示 listening 状态的 sockets
-p
展示 sockets 对应的 PID 或者应用程序的名字
-n
以 IP:PORT 的形式展示,不转换为服务名 (以端口号展示,例如:iZj6c8612hylinkc0:https 展示为 172.17.29.239:443)
-t
tcp 服务
-u
udp 服务
# 使用示例
## 展示 tcp udp 的状态
netstat -aultnp
## 连接最多的前 10 个 IP
netstat -aultnp | grep -niv -E 'and|address|0.0.0.0' | awk '{print $5}' | awk -F: '{print $1}'| sort | uniq -c | sort -nr | head -10
# tcpdump 命令
监控网络流量
# 参数:
-i
指定网络接口,any 表示所有接口,示例 tcpdump -i pktap,lo0,en0
-nn
不解析 IP 地址和端口号的名称
-c
限制要抓取的网络包的个数,示例:tcpdump -c 5
-w
保存到指定文件,示例:tcpdump -i en5 -w /tmp/tcpdump.pcap
# 使用示例:
## 监视 www.1970unix.com 这个地址的通信数据包,包括进入 和 离开的数据
tcpdump -i en5 -nn host www.1970unix.com
## 监视 node1 发出去的数据包
tcpdump -i en5 -nn src host node1
## 监视 node1 接收到的数据包
tcpdump -i en5 -nn dst host node1
## 抓取到本机 22 端口的数据包
tcpdump -i en5 -nn tcp dst port 22
# Wireshark
上次更新: 2024/11/05, 03:15:29