概述

本部分介绍Linux系统中用于网络配置、连接、监控和管理的命令。这些命令是网络管理员、系统管理员和开发人员的重要工具,用于网络故障排查、性能优化和安全配置。


1. ping - 网络连通性测试

命令语法

ping [选项] 目标主机

功能说明

测试网络连通性和延迟。

常用参数

  • -c: 指定发送包数量
  • -i: 设置发送间隔
  • -s: 设置包大小
  • -t: 设置TTL值
  • -W: 设置超时时间

实际案例

# 基本ping测试
ping google.com

# 发送5个包
ping -c 5 google.com

# 设置发送间隔
ping -i 2 google.com

# 设置包大小
ping -s 1000 google.com

# 设置超时时间
ping -W 3 google.com

执行结果

$ ping -c 3 google.com
PING google.com (142.250.191.14) 56(84) bytes of data.
64 bytes from 142.250.191.14: icmp_seq=1 ttl=57 time=12.3 ms
64 bytes from 142.250.191.14: icmp_seq=2 ttl=57 time=11.8 ms
64 bytes from 142.250.191.14: icmp_seq=3 ttl=57 time=12.1 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 11.800/12.067/12.300/0.200 ms

详细解析

ping命令通过发送ICMP回显请求包测试网络连通性,显示往返时间(RTT)和丢包率。


2. traceroute - 路由跟踪

命令语法

traceroute [选项] 目标主机

功能说明

显示数据包到达目标主机的路径。

常用参数

  • -n: 不解析主机名
  • -m: 设置最大跳数
  • -w: 设置超时时间
  • -q: 设置每跳查询次数
  • -I: 使用ICMP协议

实际案例

# 基本路由跟踪
traceroute google.com

# 不解析主机名
traceroute -n google.com

# 设置最大跳数
traceroute -m 10 google.com

# 设置超时时间
traceroute -w 2 google.com

# 使用ICMP协议
traceroute -I google.com

执行结果

$ traceroute google.com
traceroute to google.com (142.250.191.14), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.234 ms  1.123 ms  1.098 ms
 2  10.0.0.1 (10.0.0.1)  5.678 ms  5.432 ms  5.321 ms
 3  * * *
 4  142.250.191.14 (142.250.191.14)  12.345 ms  12.123 ms  12.098 ms

详细解析

traceroute命令显示数据包从源到目标的路径,帮助诊断网络路由问题。


3. mtr - 网络诊断工具

命令语法

mtr [选项] 目标主机

功能说明

结合ping和traceroute功能的网络诊断工具。

常用参数

  • -r: 报告模式
  • -c: 设置发送次数
  • -n: 不解析主机名
  • -s: 设置包大小
  • -i: 设置发送间隔

实际案例

# 基本mtr测试
mtr google.com

# 报告模式
mtr -r google.com

# 设置发送次数
mtr -c 10 google.com

# 不解析主机名
mtr -n google.com

# 设置发送间隔
mtr -i 2 google.com

执行结果

$ mtr google.com
HOST: ubuntu                    Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.1.1             0.0%    10    1.2    1.3   1.1   1.5   0.1
  2.|-- 10.0.0.1                0.0%    10    5.4    5.3   5.1   5.6   0.2
  3.|-- ???                     100.0   10    0.0    0.0   0.0   0.0   0.0
  4.|-- 142.250.191.14          0.0%    10   12.1   12.0  11.8  12.3   0.2

详细解析

mtr提供实时网络诊断,显示每跳的丢包率、延迟统计等信息。


4. netstat - 网络连接状态

命令语法

netstat [选项]

功能说明

显示网络连接、路由表和网络接口信息。

常用参数

  • -a: 显示所有连接
  • -t: 显示TCP连接
  • -u: 显示UDP连接
  • -n: 显示数字地址
  • -p: 显示进程信息
  • -l: 显示监听端口

实际案例

# 显示所有连接
netstat -a

# 显示TCP连接
netstat -t

# 显示监听端口
netstat -l

# 显示数字地址
netstat -n

# 显示进程信息
netstat -p

# 显示路由表
netstat -r

执行结果

$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:53              0.0.0.0:*

详细解析

netstat显示网络连接状态,包括协议、本地地址、远程地址、状态等信息。


5. ss - 套接字统计

命令语法

ss [选项]

功能说明

显示套接字统计信息,netstat的现代替代品。

常用参数

  • -a: 显示所有套接字
  • -t: 显示TCP套接字
  • -u: 显示UDP套接字
  • -n: 显示数字地址
  • -p: 显示进程信息
  • -l: 显示监听套接字

实际案例

# 显示所有套接字
ss -a

# 显示TCP套接字
ss -t

# 显示监听套接字
ss -l

# 显示数字地址
ss -n

# 显示进程信息
ss -p

# 显示UDP套接字
ss -u

执行结果

$ ss -tuln
Netid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port
udp    UNCONN     0      0      *:53                     *:*
tcp    LISTEN     0      128    *:22                     *:*
tcp    LISTEN     0      128    127.0.0.1:3306           *:*
tcp    LISTEN     0      128    *:80                     *:*

详细解析

ss命令比netstat更快,提供更详细的套接字信息。


6. curl - 下载工具

命令语法

curl [选项] URL

功能说明

传输数据的命令行工具,支持多种协议。

常用参数

  • -o: 保存到文件
  • -O: 使用远程文件名
  • -L: 跟随重定向
  • -H: 设置请求头
  • -d: 发送POST数据
  • -v: 显示详细信息

实际案例

# 下载文件
curl -O http://example.com/file.txt

# 保存到指定文件
curl -o output.txt http://example.com/file.txt

# 跟随重定向
curl -L http://example.com

# 设置请求头
curl -H "User-Agent: MyApp" http://example.com

# 发送POST数据
curl -d "name=value" http://example.com/api

# 显示详细信息
curl -v http://example.com

执行结果

$ curl -I http://example.com
HTTP/1.1 200 OK
Date: Sat, 15 Dec 2023 10:30:00 GMT
Server: Apache/2.4.41
Content-Length: 1234
Content-Type: text/html

详细解析

curl是强大的数据传输工具,支持HTTP、HTTPS、FTP等多种协议。


7. wget - 下载工具

命令语法

wget [选项] URL

功能说明

非交互式下载工具。

常用参数

  • -O: 指定输出文件名
  • -c: 断点续传
  • -r: 递归下载
  • -l: 设置递归深度
  • -p: 下载页面所需资源
  • -U: 设置用户代理

实际案例

# 下载文件
wget http://example.com/file.txt

# 指定输出文件名
wget -O output.txt http://example.com/file.txt

# 断点续传
wget -c http://example.com/largefile.zip

# 递归下载
wget -r http://example.com/

# 设置递归深度
wget -r -l 2 http://example.com/

# 下载页面资源
wget -p http://example.com/page.html

执行结果

$ wget http://example.com/file.txt
--2023-12-15 10:30:00--  http://example.com/file.txt
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1234 (1.2K) [text/plain]
Saving to: 'file.txt'

file.txt           100%[===================>]   1.21K  --.-KB/s    in 0s

详细解析

wget适合批量下载和网站镜像,支持断点续传功能。


8. ssh - 远程连接

命令语法

ssh [选项] [用户@]主机 [命令]

功能说明

安全Shell,用于远程登录和执行命令。

常用参数

  • -p: 指定端口
  • -i: 指定私钥文件
  • -X: 启用X11转发
  • -L: 本地端口转发
  • -R: 远程端口转发
  • -v: 显示详细信息

实际案例

# 远程登录
ssh user@server.com

# 指定端口
ssh -p 2222 user@server.com

# 使用私钥
ssh -i ~/.ssh/id_rsa user@server.com

# 启用X11转发
ssh -X user@server.com

# 本地端口转发
ssh -L 8080:localhost:80 user@server.com

# 执行远程命令
ssh user@server.com "ls -la"

执行结果

$ ssh user@server.com
user@server.com's password: 
Last login: Sat Dec 15 10:30:00 2023 from 192.168.1.100
[user@server ~]$

详细解析

ssh提供加密的远程连接,支持端口转发和X11转发。


9. scp - 安全复制

命令语法

scp [选项] 源文件 目标文件

功能说明

基于SSH的安全文件复制工具。

常用参数

  • -r: 递归复制目录
  • -p: 保持文件属性
  • -P: 指定端口
  • -i: 指定私钥文件
  • -v: 显示详细信息

实际案例

# 复制文件到远程主机
scp file.txt user@server.com:/home/user/

# 从远程主机复制文件
scp user@server.com:/home/user/file.txt ./

# 递归复制目录
scp -r directory/ user@server.com:/home/user/

# 保持文件属性
scp -p file.txt user@server.com:/home/user/

# 指定端口
scp -P 2222 file.txt user@server.com:/home/user/

# 使用私钥
scp -i ~/.ssh/id_rsa file.txt user@server.com:/home/user/

执行结果

$ scp file.txt user@server.com:/home/user/
user@server.com's password: 
file.txt                   100% 1024     1.0KB/s   00:01

详细解析

scp基于SSH协议,提供安全的文件传输功能。


10. sftp - 安全文件传输

命令语法

sftp [选项] [用户@]主机

功能说明

基于SSH的安全文件传输协议客户端。

常用参数

  • -P: 指定端口
  • -i: 指定私钥文件
  • -b: 批处理模式
  • -v: 显示详细信息

实际案例

# 连接SFTP服务器
sftp user@server.com

# 指定端口
sftp -P 2222 user@server.com

# 使用私钥
sftp -i ~/.ssh/id_rsa user@server.com

# 批处理模式
sftp -b commands.txt user@server.com

执行结果

$ sftp user@server.com
Connected to server.com.
sftp> ls
file1.txt    file2.txt    directory/
sftp> get file1.txt
Fetching /home/user/file1.txt to file1.txt
/home/user/file1.txt                   100% 1024     1.0KB/s   00:01
sftp> quit

详细解析

sftp提供交互式文件传输,支持目录浏览和文件操作。


11. rsync - 同步工具

命令语法

rsync [选项] 源 目标

功能说明

高效的文件同步和传输工具。

常用参数

  • -a: 归档模式
  • -v: 显示详细信息
  • -z: 压缩传输
  • -h: 显示人类可读的进度
  • --delete: 删除目标中多余的文件
  • --exclude: 排除文件

实际案例

# 同步目录
rsync -av source/ destination/

# 同步到远程服务器
rsync -avz /home/user/ user@server:/backup/

# 删除多余文件
rsync -av --delete source/ destination/

# 显示进度
rsync -avh --progress source/ destination/

# 排除文件
rsync -av --exclude '*.log' source/ destination/

# 同步时保持权限
rsync -avp source/ destination/

执行结果

$ rsync -av source/ destination/
sending incremental file list
./
file1.txt
file2.txt
directory/
directory/file3.txt

sent 2048 bytes  received 68 bytes  4232.00 bytes/sec
total size is 1024  speedup is 0.24

详细解析

rsync只传输变化的文件,大大提高同步效率。


12. telnet - 远程登录

命令语法

telnet [选项] [主机] [端口]

功能说明

远程登录工具,现在不推荐使用。

常用参数

  • -l: 指定用户名
  • -a: 自动登录
  • -e: 设置转义字符

实际案例

# 远程登录
telnet server.com

# 指定端口
telnet server.com 23

# 测试端口连通性
telnet server.com 80

# 指定用户名
telnet -l username server.com

执行结果

$ telnet server.com 80
Trying 192.168.1.100...
Connected to server.com.
Escape character is '^]'.

详细解析

telnet不加密,现在推荐使用ssh替代。


13. nc - 网络工具

命令语法

nc [选项] [主机] [端口]

功能说明

网络工具,用于网络连接和端口扫描。

常用参数

  • -l: 监听模式
  • -p: 指定端口
  • -v: 显示详细信息
  • -u: 使用UDP协议
  • -z: 扫描模式

实际案例

# 连接服务器
nc server.com 80

# 监听端口
nc -l -p 8080

# 扫描端口
nc -z server.com 80

# 使用UDP
nc -u server.com 53

# 显示详细信息
nc -v server.com 80

执行结果

$ nc -z server.com 80
Connection to server.com 80 port [tcp/http] succeeded!

详细解析

nc是强大的网络工具,可以用于端口扫描、文件传输等。


14. ncat - 网络工具

命令语法

ncat [选项] [主机] [端口]

功能说明

nc的改进版本,功能更强大。

常用参数

  • -l: 监听模式
  • -p: 指定端口
  • -v: 显示详细信息
  • -u: 使用UDP协议
  • -k: 保持监听

实际案例

# 连接服务器
ncat server.com 80

# 监听端口
ncat -l -p 8080

# 保持监听
ncat -k -l -p 8080

# 使用UDP
ncat -u server.com 53

# 显示详细信息
ncat -v server.com 80

执行结果

$ ncat -l -p 8080
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Listening on :::8080
Ncat: Listening on 0.0.0.0:8080

详细解析

ncat是nc的现代版本,支持更多功能和协议。


15. socat - 多用途网络工具

命令语法

socat [选项] 地址1 地址2

功能说明

多用途网络工具,可以建立各种网络连接。

常用参数

  • -d: 显示调试信息
  • -v: 显示详细信息
  • -x: 显示十六进制数据
  • -t: 设置超时时间

实际案例

# 端口转发
socat TCP-LISTEN:8080,fork TCP:server.com:80

# 文件传输
socat TCP-LISTEN:8080,fork OPEN:file.txt

# 显示十六进制数据
socat -x TCP-LISTEN:8080,fork TCP:server.com:80

# 设置超时
socat -t 30 TCP-LISTEN:8080,fork TCP:server.com:80

执行结果

$ socat TCP-LISTEN:8080,fork TCP:server.com:80
2023/12/15 10:30:00 socat[1234] N listening on AF=2 0.0.0.0:8080

详细解析

socat功能强大,可以建立各种网络连接和数据流。


16. tcpdump - 网络包捕获

命令语法

tcpdump [选项] [表达式]

功能说明

网络包捕获和分析工具。

常用参数

  • -i: 指定网络接口
  • -n: 不解析主机名
  • -c: 指定捕获包数量
  • -w: 保存到文件
  • -r: 从文件读取
  • -v: 显示详细信息

实际案例

# 捕获所有包
tcpdump

# 指定网络接口
tcpdump -i eth0

# 不解析主机名
tcpdump -n

# 捕获指定数量
tcpdump -c 100

# 保存到文件
tcpdump -w capture.pcap

# 从文件读取
tcpdump -r capture.pcap

# 过滤特定主机
tcpdump host 192.168.1.100

# 过滤特定端口
tcpdump port 80

执行结果

$ tcpdump -n -c 3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:30:00.123456 IP 192.168.1.100.12345 > 192.168.1.1.53: UDP, length 32
10:30:00.234567 IP 192.168.1.1.53 > 192.168.1.100.12345: UDP, length 48
10:30:00.345678 IP 192.168.1.100.12346 > 8.8.8.8.53: UDP, length 32
3 packets captured

详细解析

tcpdump是网络分析的重要工具,可以捕获和分析网络包。


17. tshark - 网络分析

命令语法

tshark [选项] [过滤器]

功能说明

Wireshark的命令行版本,用于网络包分析。

常用参数

  • -i: 指定网络接口
  • -c: 指定捕获包数量
  • -w: 保存到文件
  • -r: 从文件读取
  • -f: 设置捕获过滤器
  • -Y: 设置显示过滤器

实际案例

# 捕获网络包
tshark

# 指定网络接口
tshark -i eth0

# 捕获指定数量
tshark -c 100

# 保存到文件
tshark -w capture.pcap

# 从文件读取
tshark -r capture.pcap

# 设置捕获过滤器
tshark -f "host 192.168.1.100"

# 设置显示过滤器
tshark -Y "http"

执行结果

$ tshark -c 3
Capturing on 'eth0'
    1 0.000000000  192.168.1.100 → 192.168.1.1    DNS 74 Standard query 0x1234 A google.com
    2 0.012345678  192.168.1.1 → 192.168.1.100    DNS 90 Standard query response 0x1234 A google.com A 142.250.191.14
    3 0.023456789  192.168.1.100 → 142.250.191.14 TCP 74 1234580 [SYN] Seq=0 Win=65535 Len=0 MSS=1460
3 packets captured

详细解析

tshark提供强大的网络包分析功能,支持多种协议解析。


18. ngrep - 网络grep

命令语法

ngrep [选项] [表达式] [BPF过滤器]

功能说明

网络包内容搜索工具。

常用参数

  • -i: 忽略大小写
  • -d: 指定网络接口
  • -n: 显示包号
  • -t: 显示时间戳
  • -W: 设置显示格式

实际案例

# 搜索HTTP请求
ngrep "GET"

# 忽略大小写
ngrep -i "get"

# 指定网络接口
ngrep -d eth0 "GET"

# 显示包号
ngrep -n "GET"

# 显示时间戳
ngrep -t "GET"

# 搜索特定主机
ngrep "GET" host 192.168.1.100

执行结果

$ ngrep "GET"
interface: eth0 (192.168.1.0/255.255.255.0)
filter: (ip or ip6) and ( port 80 or port 8080 )
match: GET

T 192.168.1.100:12345 -> 192.168.1.1:80 [AP]
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0

详细解析

ngrep可以在网络包中搜索特定内容,类似grep的功能。


19. nmap - 网络扫描

命令语法

nmap [选项] 目标

功能说明

网络扫描和安全审计工具。

常用参数

  • -sS: SYN扫描
  • -sT: TCP连接扫描
  • -sU: UDP扫描
  • -O: 操作系统检测
  • -sV: 服务版本检测
  • -p: 指定端口范围

实际案例

# 扫描主机
nmap 192.168.1.1

# SYN扫描
nmap -sS 192.168.1.1

# 扫描端口范围
nmap -p 1-1000 192.168.1.1

# 操作系统检测
nmap -O 192.168.1.1

# 服务版本检测
nmap -sV 192.168.1.1

# 扫描网段
nmap 192.168.1.0/24

# UDP扫描
nmap -sU 192.168.1.1

执行结果

$ nmap 192.168.1.1
Starting Nmap 7.80 ( https://nmap.org ) at 2023-12-15 10:30 UTC
Nmap scan report for 192.168.1.1
Host is up (0.001s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 2.34 seconds

详细解析

nmap是强大的网络扫描工具,可以检测主机、端口、服务等信息。


20. masscan - 快速扫描

命令语法

masscan [选项] 目标

功能说明

高速网络扫描工具。

常用参数

  • -p: 指定端口
  • --rate: 设置扫描速率
  • -oG: 输出Grepable格式
  • -oL: 输出List格式
  • -oX: 输出XML格式

实际案例

# 扫描端口
masscan -p80 192.168.1.0/24

# 设置扫描速率
masscan --rate 1000 -p80 192.168.1.0/24

# 输出Grepable格式
masscan -p80 -oG results.txt 192.168.1.0/24

# 输出List格式
masscan -p80 -oL results.txt 192.168.1.0/24

# 输出XML格式
masscan -p80 -oX results.xml 192.168.1.0/24

执行结果

$ masscan -p80 192.168.1.0/24
Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2023-12-15 10:30:00 UTC
 -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 256 hosts [1 port/host]
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.100

详细解析

masscan比nmap更快,适合大规模网络扫描。


21. zmap - 网络扫描

命令语法

zmap [选项] 目标

功能说明

快速网络扫描工具。

常用参数

  • -p: 指定端口
  • -B: 设置带宽
  • -o: 输出文件
  • -b: 黑名单文件
  • -w: 白名单文件

实际案例

# 扫描端口
zmap -p 80 192.168.1.0/24

# 设置带宽
zmap -B 10M -p 80 192.168.1.0/24

# 输出到文件
zmap -p 80 -o results.txt 192.168.1.0/24

# 使用黑名单
zmap -p 80 -b blacklist.txt 192.168.1.0/24

# 使用白名单
zmap -p 80 -w whitelist.txt 192.168.1.0/24

执行结果

$ zmap -p 80 192.168.1.0/24
Banner: zmap 3.0.0
Output: stdout
Rate: 1000000 pps
Bands: 1

详细解析

zmap是高速网络扫描工具,适合大规模网络探测。


22. dig - DNS查询

命令语法

dig [选项] [域名] [类型]

功能说明

DNS查询工具。

常用参数

  • @: 指定DNS服务器
  • -t: 指定查询类型
  • -x: 反向DNS查询
  • +short: 简短输出
  • +trace: 跟踪查询路径

实际案例

# 查询A记录
dig google.com

# 指定DNS服务器
dig @8.8.8.8 google.com

# 查询MX记录
dig -t MX google.com

# 反向DNS查询
dig -x 8.8.8.8

# 简短输出
dig +short google.com

# 跟踪查询路径
dig +trace google.com

# 查询所有记录
dig -t ANY google.com

执行结果

$ dig google.com
; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             300     IN      A       142.250.191.14

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Dec 15 10:30:00 UTC 2023
;; MSG SIZE  rcvd: 55

详细解析

dig是强大的DNS查询工具,可以查询各种DNS记录类型。


23. nslookup - DNS查找

命令语法

nslookup [选项] [域名] [服务器]

功能说明

DNS查找工具。

常用参数

  • -type: 指定查询类型
  • -debug: 显示调试信息
  • -query: 指定查询类型

实际案例

# 查询域名
nslookup google.com

# 指定DNS服务器
nslookup google.com 8.8.8.8

# 查询MX记录
nslookup -type=MX google.com

# 显示调试信息
nslookup -debug google.com

# 查询PTR记录
nslookup -type=PTR 8.8.8.8

执行结果

$ nslookup google.com
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.191.14

详细解析

nslookup是传统的DNS查询工具,现在推荐使用dig。


24. host - DNS查找

命令语法

host [选项] 域名 [服务器]

功能说明

DNS查找工具。

常用参数

  • -t: 指定查询类型
  • -a: 显示所有信息
  • -v: 显示详细信息
  • -4: 只使用IPv4
  • -6: 只使用IPv6

实际案例

# 查询域名
host google.com

# 指定查询类型
host -t MX google.com

# 显示所有信息
host -a google.com

# 显示详细信息
host -v google.com

# 只使用IPv4
host -4 google.com

# 指定DNS服务器
host google.com 8.8.8.8

执行结果

$ host google.com
google.com has address 142.250.191.14
google.com has IPv6 address 2404:6800:4005:80e::200e
google.com mail is handled by 10 smtp.google.com.

详细解析

host命令提供简洁的DNS查询结果。


25. drill - DNS查询工具

命令语法

drill [选项] 域名 [类型]

功能说明

现代DNS查询工具。

常用参数

  • @: 指定DNS服务器
  • -T: 指定查询类型
  • -x: 反向DNS查询
  • -Q: 显示查询信息
  • -D: 显示调试信息

实际案例

# 查询域名
drill google.com

# 指定DNS服务器
drill @8.8.8.8 google.com

# 指定查询类型
drill -T MX google.com

# 反向DNS查询
drill -x 8.8.8.8

# 显示查询信息
drill -Q google.com

# 显示调试信息
drill -D google.com

执行结果

$ drill google.com
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 12345
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; google.com.    IN      A

;; ANSWER SECTION:
google.com.   300     IN      A       142.250.191.14

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 12 msec
;; SERVER: 192.168.1.1
;; WHEN: Sat Dec 15 10:30:00 2023

详细解析

drill是现代的DNS查询工具,输出格式类似dig。


总结

本部分介绍了Linux系统中用于网络配置、连接、监控和管理的核心命令。这些命令是网络管理员和系统管理员的重要工具。

主要命令分类:

  1. 网络连通性测试:ping、traceroute、mtr
  2. 网络连接监控:netstat、ss、lsof
  3. 文件传输:curl、wget、scp、sftp、rsync
  4. 远程连接:ssh、telnet
  5. 网络工具:nc、ncat、socat
  6. 网络分析:tcpdump、tshark、ngrep
  7. 网络扫描:nmap、masscan、zmap
  8. DNS查询:dig、nslookup、host、drill

使用建议:

  1. 使用ping测试网络连通性
  2. 使用traceroute诊断路由问题
  3. 使用netstat或ss查看网络连接
  4. 使用curl或wget下载文件
  5. 使用ssh进行远程连接
  6. 使用tcpdump分析网络包
  7. 使用nmap进行网络扫描
  8. 使用dig查询DNS记录

这些命令为Linux网络管理提供了全面的工具集。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务

更多推荐