以下是在 Ubuntu 系统中常用的网络相关命令及说明,按功能分类整理:
1. 查看网络信息
-
ip addr
或ip a
显示所有网络接口的详细信息(IP、MAC 地址等)。ip addr show eth0 # 查看指定网卡(如 eth0)的信息
-
ifconfig
传统工具(需安装net-tools
包),显示网络接口信息。sudo apt install net-tools # 安装 ifconfig ifconfig -a
-
hostname -I
快速查看本机所有 IPv4 地址。
2. 测试网络连通性
-
ping [IP/域名]
测试与目标主机的连通性(默认持续发送数据包,按Ctrl+C
停止)。ping 8.8.8.8 # 测试 Google DNS ping -c 4 example.com # 发送 4 个包后停止
-
traceroute [域名/IP]
跟踪数据包到目标的路由路径(需安装traceroute
包)。sudo apt install traceroute traceroute example.com
-
mtr [域名/IP]
实时显示网络延迟和丢包(需安装mtr
包)。sudo apt install mtr mtr example.com
3. 端口与网络服务
-
netstat
查看网络连接、路由表、接口统计等(需安装net-tools
)。netstat -tulnp # 显示所有监听端口及对应进程 netstat -an | grep ESTABLISHED # 查看已建立的连接
-
ss
现代替代工具(更高效,推荐使用)。ss -tuln # 查看所有监听端口 ss -tunap # 显示所有 TCP/UDP 连接及进程
-
lsof
查看文件或端口占用情况(需安装lsof
)。lsof -i :80 # 查看占用 80 端口的进程
4. 网络配置工具
-
nmcli
NetworkManager 命令行工具,管理网络连接。nmcli device show # 显示所有网络设备信息 nmcli connection up/down [连接名] # 启用/禁用连接
-
nmtui
文本界面网络配置工具(需安装network-manager
)。sudo nmtui
-
修改
/etc/network/interfaces
手动配置静态 IP(适用于传统网络配置)。auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1
5. DNS 相关
-
/etc/hosts
手动配置域名解析(优先级高于 DNS)。sudo nano /etc/hosts # 添加行:127.0.0.1 example.com
-
/etc/resolv.conf
查看 DNS 服务器配置(可能由systemd-resolved
管理)。cat /etc/resolv.conf
dig [域名]
查询 DNS 记录(需安装dnsutils
)。sudo apt install dnsutils dig example.com A # 查询 A 记录 dig example.com MX # 查询 MX 记录
nslookup [域名]
传统 DNS 查询工具。nslookup example.com
6. 下载与传输
-
curl [URL]
传输数据(支持 HTTP/FTP/SMTP 等协议)。curl -O https://example.com/file.zip # 下载文件 curl ifconfig.me # 查询本机公网 IP
-
wget [URL]
非交互式下载工具。wget https://example.com/file.zip
7. 其他实用工具
-
nc
(netcat)
网络调试工具(端口扫描、数据传输)。nc -zv 192.168.1.1 22-80 # 扫描端口 22-80
nmap
网络扫描工具(需安装nmap
)。sudo apt install nmap nmap 192.168.1.0/24 # 扫描局域网
-
arp
查看 ARP 缓存表。arp -a
-
route
查看路由表(或使用ip route
)。route -n
8. 防火墙配置
ufw
简单防火墙工具(基于iptables
)。sudo ufw enable # 启用防火墙 sudo ufw allow 22/tcp # 允许 SSH 端口
常用场景示例
-
检查公网 IP:
curl ifconfig.me
-
快速测试端口连通性:
telnet example.com 80 # 或使用 nc/nmap
-
查看实时网络流量:
iftop -i eth0 # 需安装 `iftop`
根据需求选择合适的工具,部分命令可能需要 sudo
权限或安装额外软件包。