100 个 Linux 网络命令(按使用频率排名)
以下是 100 个与网络相关的 Linux 命令,按使用频率从高到低大致排序。每条命令附带简短说明,部分高频命令包含示例。
高频命令(日常必备)
- ping - 测试网络连通性和延迟。
- 示例:
ping -c 10 google.com
- 示例:
- ip - 显示和配置网络接口、路由等(替代
ifconfig
)。- 示例:
ip addr show
- 示例:
- ifconfig - 查看或配置网络接口(较旧但仍常用)。
- 示例:
ifconfig eth0
- 示例:
- netstat - 显示网络连接、路由表和接口统计(部分系统已用
ss
替代)。- 示例:
netstat -tuln
- 示例:
- ss - 查看套接字统计信息,比
netstat
更快。- 示例:
ss -tuln
- 示例:
- route - 显示或操作路由表。
- 示例:
route -n
- 示例:
- traceroute - 追踪数据包路径。
- 示例:
traceroute google.com
- 示例:
- curl - 发送 HTTP 请求,下载数据或测试 API。
- 示例:
curl -I https://example.com
- 示例:
- wget - 下载文件。
- 示例:
wget https://example.com/file.tar.gz
- 示例:
- dig - 查询 DNS 记录。
- 示例:
dig google.com A
- 示例:
- nslookup - 查询 DNS(较简单但功能少于
dig
)。- 示例:
nslookup google.com
- 示例:
- hostname - 显示或设置主机名。
- 示例:
hostname -i
- 示例:
hostname -I
显示当前主机所有活动网络接口的 IPv4 地址
- 示例:
- arp - 查看或管理 ARP 缓存。
- 示例:
arp -n
- 示例:
- iwconfig - 配置无线网络接口。
- 示例:
iwconfig wlan0
- 示例:
- nmcli - 管理 NetworkManager(现代桌面和服务器常用)。
- 示例:
nmcli con show
- 示例:
中高频命令(网络管理与监控)
- tcpdump - 捕获网络数据包。
- 示例:
tcpdump -i eth0 port 80
- 示例:
- iftop - 实时监控网络带宽使用。
- 示例:
iftop -i eth0
- 示例:
- nethogs - 按进程显示网络带宽使用。
- 示例:
nethogs eth0
- 示例:
- mtr - 结合
ping
和traceroute
的实时诊断工具。- 示例:
mtr google.com
- 示例:
- nc (netcat) - 网络调试和数据传输工具。
- 示例:
nc -l 12345
- 示例:
- lsof - 列出打开的网络文件和端口。
- 示例:
lsof -i :80
- 示例:
- whoami - 查看当前用户(网络脚本中常用)。
- ifup - 启用网络接口。
- 示例:
ifup eth0
- 示例:
- ifdown - 禁用网络接口。
- 示例:
ifdown eth0
- 示例:
- dhclient - 获取 DHCP 租约。
- 示例:
dhclient eth0
- 示例:
- ethtool - 查看和配置网络接口参数。
- 示例:
ethtool eth0
- 示例:
- ip route - 显示或配置路由。
- 示例:
ip route add default via 192.168.1.1
- 示例:
- ip link - 管理网络接口状态。
- 示例:
ip link set eth0 up
- 示例:
- bmon - 带宽监控工具。
- 示例:
bmon
- 示例:
- vnstat - 统计网络流量。
- 示例:
vnstat -i eth0
- 示例:
中频命令(诊断与配置)
- tracepath - 类似
traceroute
,但更简单。- 示例:
tracepath google.com
- 示例:
- host - 简单 DNS 查询。
- 示例:
host google.com
- 示例:
- whois - 查询域名注册信息。
- 示例:
whois google.com
- 示例:
- nmap - 网络扫描和端口探测。
- 示例:
nmap 192.168.1.0/24
- 示例:
- iptables - 配置防火墙规则。
- 示例:
iptables -L
- 示例:
- ufw - 简化的防火墙管理工具。
- 示例:
ufw allow 22
- 示例:
- ip addr - 显示网络接口地址。
- 示例:
ip addr show eth0
- 示例:
- ip neigh - 查看 ARP 表。
- 示例:
ip neigh show
- 示例:
- iw - 配置无线网络(替代
iwconfig
)。- 示例:
iw dev wlan0 scan
- 示例:
- speedtest-cli - 测试网络速度。
- 示例:
speedtest-cli
- 示例:
- arp-scan - 扫描局域网中的设备。
- 示例:
arp-scan -l
- 示例:
- ipset - 管理 IP 集合(常与
iptables
配合)。- 示例:
ipset list
- 示例:
- ipcalc - 计算 IP 地址和子网。
- 示例:
ipcalc 192.168.1.0/24
- 示例:
- iptraf - 交互式网络监控工具。
- 示例:
iptraf-ng
- 示例:
- dstat - 实时系统资源统计(包括网络)。
- 示例:
dstat -n
- 示例:
中低频命令(高级管理与调试)
- hping3 - 高级数据包生成和测试工具。
- 示例:
hping3 -S google.com
- 示例:
- socat - 多功能网络工具,类似
netcat
。- 示例:
socat - TCP-LISTEN:12345
- 示例:
- iperf - 测试网络吞吐量。
- 示例:
iperf -s
- 示例:
- tc - 流量控制工具。
- 示例:
tc qdisc show
- 示例:
- wireshark - GUI 网络协议分析(CLI 模式用
tshark
)。- 示例:
tshark -i eth0
- 示例:
- tshark - Wireshark 的命令行版本。
- 示例:
tshark -i eth0
- 示例:
- nmap - 端口扫描和网络发现。
- 示例:
nmap -sP 192.168.1.0/24
- 示例:
- dnsmasq - 轻量级 DNS 和 DHCP 服务。
- 示例:
dnsmasq --test
- 示例:
- route add - 添加静态路由。
- 示例:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
- 示例:
- route del - 删除路由。
- 示例:
route del -net 192.168.2.0
- 示例:
- ip tunnel - 配置网络隧道。
- 示例:
ip tunnel show
- 示例:
- bridge - 管理网络桥接。
- 示例:
bridge link show
- 示例:
- conntrack - 查看连接跟踪表。
- 示例:
conntrack -L
- 示例:
- nft - 新一代防火墙工具(替代
iptables
)。- 示例:
nft list ruleset
- 示例:
- ip6tables - 配置 IPv6 防火墙规则。
- 示例:
ip6tables -L
- 示例:
低频命令(专业用途)
- arping - 发送 ARP 请求。
- 示例:
arping 192.168.1.1
- 示例:
- ndisc6 - IPv6 邻居发现工具。
- 示例:
ndisc6 eth0
- 示例:
- rdisc6 - IPv6 路由发现。
- 示例:
rdisc6 eth0
- 示例:
- ifstat - 简单接口流量统计。
- 示例:
ifstat -i eth0
- 示例:
- bwm-ng - 带宽监控工具。
- 示例:
bwm-ng
- 示例:
- slurm - 网络负载监控。
- 示例:
slurm -i eth0
- 示例:
- nload - 实时网络流量图。
- 示例:
nload eth0
- 示例:
- ipmaddr - 管理多播地址。
- 示例:
ipmaddr show
- 示例:
- ipvsadm - 管理 IP 虚拟服务器。
- 示例:
ipvsadm -L
- 示例:
- tcptrack - 监控 TCP 连接流量。
- 示例:
tcptrack -i eth0
- 示例:
- ngrep - 网络层的 grep。
- 示例:
ngrep -d eth0 port 80
- 示例:
- ethtool -S - 显示网络接口统计。
- 示例:
ethtool -S eth0
- 示例:
- ip rule - 管理路由策略。
- 示例:
ip rule show
- 示例:
- ip xfrm - 配置 IPsec 安全策略。
- 示例:
ip xfrm state list
- 示例:
- vlan - 配置 VLAN(需配合
ip link
)。- 示例:
ip link add link eth0 name eth0.10 type vlan id 10
- 示例:
- smcroute - 多播路由工具。
- 示例:
smcroute -d
- 示例:
- sipcalc - 子网计算工具。
- 示例:
sipcalc 192.168.1.0/24
- 示例:
- fping - 批量 ping 工具。
- 示例:
fping -c 10 192.168.1.1
- 示例:
- iptraf-ng - 增强版网络监控。
- 示例:
iptraf-ng
- 示例:
- iftop -F - 按子网过滤流量。
- 示例:
iftop -F 192.168.1.0/24
- 示例:
极低频命令(特定场景)
- mii-tool - 查看和配置网络接口状态(较旧)。
- 示例:
mii-tool eth0
- 示例:
- ipmonitor - 实时监控网络变化。
- 示例:
ipmonitor
- 示例:
- rarp - 反向 ARP(已过时)。
- tcpreplay - 重放捕获的流量。
- 示例:
tcpreplay --intf1=eth0 file.pcap
- 示例:
- tcpflow - 分析 TCP 流。
- 示例:
tcpflow -i eth0
- 示例:
- iftab - 管理接口表(较少使用)。
- ip6neigh - IPv6 邻居表管理。
- 示例:
ip -6 neigh show
- 示例:
- dnssec-keygen - 生成 DNSSEC 密钥。
- 示例:
dnssec-keygen -a RSASHA256 example.com
- 示例:
- dhcrelay - DHCP 中继服务。
- 示例:
dhcrelay -i eth0 192.168.1.1
- 示例:
- ipmroute - 多播路由管理。
- 示例:
ipmroute show
- 示例:
- packeth - 数据包生成工具。
- nstat - 显示网络统计。
- 示例:
nstat
- 示例:
- ifplugstatus - 检查网线插入状态。
- 示例:
ifplugstatus eth0
- 示例:
- tcpslice - 提取 TCP 数据包时间段。
- 示例:
tcpslice file.pcap
- 示例:
- netsniff-ng - 高性能网络分析工具。
- 示例:
netsniff-ng
- 示例:
- iputils-ping - 增强版 ping。
- 示例:
ping -6 google.com
- 示例:
- iptraf - 交互式流量监控(旧版)。
- flow-tools - 流量分析工具集。
- bandwhich - 带宽使用分析。
- lft - 高级 traceroute 替代工具。
- 示例:lft -D google.com
说明
- 排名依据:基于网络管理员日常任务(如连通性测试、接口配置、流量监控)和工具的流行程度。高频命令(如
ping
、ip
)几乎每天使用,低频命令(如lft
、flow-tools
)更适用于特定场景。 - 版本差异:某些命令在旧系统(如 6.x)或新系统(如 8.x)中可能行为不同,建议查阅
man
页面。 - 安装要求:部分命令(如
iftop
、nethogs
)可能需要额外安装,常见发行版可通过包管理器获取(apt
、yum
、dnf
)。