Linux作为开源操作系统,在网络管理领域应用广泛,其内置的命令行工具为网络配置、监控和故障排查提供了高效支持,掌握Linux网络常用命令是系统管理员和开发者的必备技能,这些命令涵盖了从网络状态查看、连接测试到数据包捕获等多个维度,能够帮助用户快速定位和解决网络问题,以下将详细介绍这些命令的功能、用法及实际应用场景。

网络状态查看命令
-
ifconfig
ifconfig是传统的网络接口配置工具,用于显示或修改网络接口的参数,在较新的Linux发行版中,其功能逐渐被ip命令取代,但部分系统仍保留该命令。- 基本用法:
ifconfig查看所有网络接口信息,ifconfig eth0查看指定接口(如eth0)的IP地址、MAC地址、子网掩码等。 - 高级用法:
ifconfig eth0 up/down启用或禁用接口,ifconfig eth0 192.168.1.100 netmask 255.255.255.0配置静态IP地址。
- 基本用法:
-
ip
ip命令是ifconfig的替代品,功能更强大,支持IPv4和IPv6。- 常用参数:
ip addr show:显示所有网络接口的IP地址信息。ip addr add 192.168.1.100/24 dev eth0:为eth0添加IP地址。ip link set eth0 up:启用接口。
- 常用参数:
-
netstat
netstat用于显示网络连接、路由表、接口统计等信息。- 常用选项:
netstat -tuln:显示所有监听的TCP和UDP端口。netstat -an:显示所有连接,包括监听和非监听状态。netstat -i:显示网络接口统计信息。
- 常用选项:
-
ss
ss是netstat的替代工具,速度更快,默认显示TCP套接字信息。- 常用选项:
ss -tuln:显示监听的TCP和UDP端口。ss -t:显示所有TCP连接。
- 常用选项:
网络连接测试命令
-
ping
ping用于测试与目标主机的连通性,通过发送ICMP报文并接收响应来判断网络延迟和丢包率。- 基本用法:
ping 192.168.1.1或ping www.baidu.com。 - 高级选项:
ping -c 4 192.168.1.1发送4个报文后退出,ping -i 2 192.168.1.1设置间隔时间为2秒。
- 基本用法:
-
traceroute/tracert
traceroute用于显示数据包到达目标主机所经过的路由路径。- Linux中常用
traceroute www.baidu.com,Windows中使用tracert。 - 选项:
traceroute -n直接显示IP地址,不进行DNS解析。
- Linux中常用
-
telnet
telnet用于测试远程服务器的端口是否可达,也可用于简单的远程登录。- 用法:
telnet 192.168.1.1 80测试目标主机的80端口是否开放。
- 用法:
-
nc/netcat
nc被称为“网络工具瑞士军刀”,用于创建TCP/UDP连接、传输数据等。- 常用场景:
nc -l 1234在本地1234端口监听连接。nc 192.168.1.1 1234连接远程主机的1234端口。
- 常用场景:
网络数据包分析命令
-
tcpdump
tcpdump是强大的网络抓包工具,用于捕获和分析网络数据包。- 基本用法:
tcpdump -i eth0捕获eth0接口的所有数据包。 - 高级选项:
tcpdump -i eth0 host 192.168.1.1捕获与指定主机通信的数据包。tcpdump -i eth0 port 80捕获80端口的数据包。tcpdump -w capture.pcap将捕获结果保存到文件。
- 基本用法:
-
wireshark
wireshark是图形化网络分析工具,功能比tcpdump更直观,但需要安装GUI环境。- 用法:通过命令行
wireshark启动,选择接口后即可开始抓包和分析。
- 用法:通过命令行
网络配置与管理命令
-
route
route用于显示和操作IP路由表。- 常用选项:
route -n显示路由表(以数字形式显示IP地址)。route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1添加静态路由。
- 常用选项:
-
hostname
hostname用于查看或设置系统的主机名。- 用法:
hostname查看当前主机名,hostname newname设置临时主机名。
- 用法:
-
nslookup/dig
nslookup和dig用于DNS查询,用于解析域名对应的IP地址。- nslookup用法:
nslookup www.baidu.com。 - dig用法:
dig www.baidu.com,提供更详细的DNS信息。
- nslookup用法:
-
iptables
iptables是Linux内核的防火墙工具,用于配置规则链。- 基本用法:
iptables -L列出所有规则。iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许22端口(SSH)的访问。
- 基本用法:
网络性能监控命令
-
iftop
iftop用于实时监控网络带宽使用情况,显示每个主机的流量。- 用法:
iftop -i eth0监控eth0接口的流量。
- 用法:
-
nethogs
nethogs按进程显示网络带宽使用情况,便于定位占用带宽的进程。- 用法:
nethogs启动监控。
- 用法:
-
sar
sar是系统性能监控工具,可监控网络接口的吞吐量。- 用法:
sar -n DEV 1 5每秒监控一次网络接口,共5次。
- 用法:
实际应用场景示例
-
排查无法上网问题
- 使用
ping 8.8.8.8测试外网连通性,若不通则检查ip addr确认IP配置,再用route -n查看网关是否正确。 - 若本地网络正常但无法解析域名,使用
nslookup www.baidu.com检查DNS配置。
- 使用
-
监控服务器端口状态
- 使用
ss -tuln查看所有监听端口,确认服务是否正常启动。 - 若发现异常端口,结合
tcpdump -i eth0 port 端口号抓包分析。
- 使用
-
优化网络带宽
- 使用
iftop和nethogs定位高流量进程,结合iptables限制异常IP的访问。
- 使用
相关问答FAQs
Q1: 如何在Linux中永久修改静态IP地址?
A1: 以Ubuntu系统为例,编辑/etc/netplan/01-netcfg.yaml文件,添加以下配置:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
保存后运行sudo netplan apply使配置生效,CentOS系统则需修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,设置BOOTPROTO=static并配置IP、网关和DNS。
Q2: 如何使用tcpdump捕获特定主机的HTTP流量?
A2: 使用以下命令捕获与目标主机(如192.168.1.100)的80端口(HTTP)相关的数据包:
tcpdump -i eth0 host 192.168.1.100 and port 80 -w http_capture.pcap
参数说明:-i eth0指定接口,host 192.168.1.100限制目标主机,port 80限制80端口,-w将结果保存为文件,捕获完成后,可用Wireshark打开http_capture.pcap文件进行详细分析。
