在 Ubuntu 系统中,网络管理、诊断和配置常用以下命令,涵盖接口配置、路由管理、DNS 查询、端口检测、网络统计等场景。以下是分类整理的常用命令及用法:
一、基础网络接口配置
1. ip
(现代网络工具,推荐替代 ifconfig
)
- 作用:查看/配置网络接口、路由、ARP 等。
- 常用子命令:
ip addr show
或ip a
:查看所有网络接口的 IP 地址。# 查看 eth0 接口的 IP ip addr show eth0
ip link show
或ip l
:查看网络接口的物理状态(如是否启用)。# 启用/禁用接口 sudo ip link set eth0 up # 启用 eth0 sudo ip link set eth0 down # 禁用 eth0
ip route show
或ip r
:查看路由表。
2. ifconfig
(传统工具,部分旧系统仍用)
- 作用:查看/配置网络接口(IP、子网掩码等)。
- 常用操作:
# 查看所有接口信息 ifconfig # 查看指定接口(如 eth0) ifconfig eth0 # 临时配置 IP(重启失效) sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
3. nmcli
(NetworkManager 命令行工具)
- 作用:管理网络连接(适合使用 NetworkManager 的系统)。
- 常用操作:
# 查看所有网络连接状态 nmcli dev status # 查看特定连接(如 eth0)的配置 nmcli con show eth0 # 启用/禁用连接 sudo nmcli con up eth0 # 启用 sudo nmcli con down eth0 # 禁用
二、网络连接测试
1. ping
- 作用:测试与目标主机的连通性(基于 ICMP 协议)。
- 常用选项:
-c <次数>
:指定发送包的数量。-i <间隔>
:指定发送间隔(秒)。
# 测试与 8.8.8.8(Google DNS)的连通性,发送 4 个包 ping -c 4 8.8.8.8
2. traceroute
或 tracepath
- 作用:追踪数据包到目标主机的路由路径(显示经过的路由器)。
- 用法:
# 追踪到 example.com 的路由 traceroute example.com # 更简洁的输出(不解析域名) traceroute -n example.com
3. mtr
(结合 ping
和 traceroute
的工具)
- 作用:实时显示路由路径及丢包率(需安装:
sudo apt install mtr
)。 - 用法:
mtr example.com
4. telnet
(测试端口连通性)
- 作用:测试目标主机的指定端口是否开放(需安装:
sudo apt install telnet
)。 - 用法:
# 测试 8.8.8.8 的 53 端口(DNS) telnet 8.8.8.8 53
三、路由与网关管理
1. route
(传统路由工具)
- 作用:查看/配置路由表。
- 常用操作:
# 查看路由表 route -n # -n 表示不解析域名,显示 IP # 添加默认网关(假设网关为 192.168.1.1) sudo route add default gw 192.168.1.1 eth0 # 删除默认网关 sudo route del default gw 192.168.1.1
2. ip route
(现代路由工具)
- 作用:替代
route
,更推荐使用。 - 常用操作:
# 查看路由表 ip route show # 添加默认网关 sudo ip route add default via 192.168.1.1 dev eth0 # 删除默认网关 sudo ip route del default via 192.168.1.1 dev eth0
四、DNS 相关命令
1. dig
(DNS 查询工具)
- 作用:查询 DNS 记录(A、MX、CNAME 等)。
- 常用选项:
@<DNS服务器>
:指定 DNS 服务器(如@8.8.8.8
)。+short
:简化输出。
# 查询 example.com 的 A 记录 dig example.com A # 查询 MX 记录(邮件服务器) dig example.com MX # 指定 DNS 服务器查询 dig @8.8.8.8 example.com A # 简化输出(仅显示结果) dig +short example.com A
2. nslookup
(交互式 DNS 查询)
- 作用:查询 DNS 信息(交互模式或命令行)。
- 用法:
# 查询 example.com 的 IP nslookup example.com # 指定 DNS 服务器(如 8.8.8.8) nslookup example.com 8.8.8.8
3. host
(简化 DNS 查询)
- 作用:查询 DNS 记录(类似
dig
但更简洁)。 - 用法:
host example.com host -t MX example.com # 查询 MX 记录
五、端口与服务监听
1. ss
(替代 netstat
的现代工具)
- 作用:查看网络连接、端口监听状态。
- 常用选项:
-t
:TCP 协议-u
:UDP 协议-l
:监听中的连接-n
:不解析服务名(直接显示端口号)-p
:显示进程信息
# 查看所有 TCP 监听端口 ss -tln # 查看所有 UDP 监听端口 ss -uln # 查看已建立的 TCP 连接 ss -tn state established # 查看指定端口的进程(如 80 端口) ss -tnp | grep :80
2. netstat
(传统工具,部分系统仍用)
- 作用:查看网络连接、路由表、接口统计等。
- 常用选项:
-a
:显示所有连接(包括监听和非监听)-n
:不解析服务名-t
:TCP-u
:UDP-r
:显示路由表
# 查看所有 TCP 连接 netstat -tn # 查看路由表 netstat -rn # 查看接口统计(流量、错误等) netstat -i
六、网络统计与诊断
1. ifstat
(网络接口流量统计)
- 作用:实时显示网络接口的流量(需安装:
sudo apt install ifstat
)。 - 用法:
# 实时显示 eth0 的流量(每秒刷新) ifstat -i eth0 1
2. ethtool
(网卡物理层信息)
- 作用:查看/配置网卡参数(如速度、双工模式)。
- 用法:
# 查看 eth0 的详细信息(速度、链路状态等) sudo ethtool eth0 # 设置网卡为全双工、1000Mbps(需管理员权限) sudo ethtool -s eth0 speed 1000 duplex full
3. mii-tool
(查看网卡链路状态)
- 作用:类似
ethtool
,但更简单(部分旧网卡适用)。 - 用法:
mii-tool eth0
七、无线网络相关
1. iwconfig
(无线接口配置)
- 作用:查看/配置无线网卡(SSID、加密等)。
- 用法:
# 查看无线接口信息 iwconfig # 连接到指定 WiFi(需先启用接口) sudo iwconfig wlan0 essid "WiFi名称" key "密码"
2. nmcli
(无线连接管理)
- 作用:通过 NetworkManager 管理无线连接。
- 用法:
# 扫描附近 WiFi nmcli dev wifi list # 连接到指定 WiFi(需已知密码) nmcli dev wifi connect "WiFi名称" password "密码"
八、其他常用工具
1. curl
(HTTP 请求工具)
- 作用:发送 HTTP 请求(测试网页、API 等)。
- 用法:
# 访问 example.com curl example.com # 显示请求头 curl -I example.com # 发送 POST 请求(带数据) curl -X POST -d "param=value" http://example.com/api
2. wget
(文件下载工具)
- 作用:从网络下载文件。
- 用法:
# 下载文件 wget http://example.com/file.zip # 后台下载(断点续传) wget -b http://example.com/largefile.zip
3. nmap
(网络扫描工具,需安装)
- 作用:扫描主机开放的端口、服务(需安装:
sudo apt install nmap
)。 - 用法:
# 扫描目标主机的常见端口 nmap example.com # 快速扫描(仅扫描常用端口) nmap -F example.com
总结
- 配置网络:优先用
ip
、nmcli
(适合桌面版);服务器环境可能直接编辑/etc/netplan/
配置(netplan
命令)。 - 诊断问题:用
ping
测连通性,traceroute
查路由,ss
/netstat
看端口,dig
查 DNS。 - 权限:修改网络配置(如
ip
、ifconfig
)通常需要sudo
。
根据场景选择工具,能高效排查网络问题!