在Linux系统中,掌握常用的上网命令是进行网络配置、诊断和管理的基础,这些命令不仅适用于服务器运维,也对日常开发和使用具有重要意义,以下将详细介绍Linux中常用的上网命令,包括其功能、用法及实例。

网络连接检测命令
ping命令是最基础的网络连通性测试工具,通过向目标主机发送ICMP回显请求并接收响应,来判断网络是否可达,其基本用法为ping [目标IP或域名]
,例如ping www.baidu.com
会持续发送数据包并显示往返时间(RTT)和丢包率,可通过ping -c [次数]
指定发送次数,如ping -c 4 8.8.8.8
仅发送4次数据包。
traceroute(或Windows下的tracert
)用于显示数据包到达目标主机所经过的路由路径,其原理是通过发送TTL(生存时间)递增的UDP包,逐跳记录路由节点的响应,例如traceroute -n 8.8.8.8
中的-n
参数表示以数字形式显示IP地址,避免DNS解析延迟。
网络配置命令
ifconfig(传统工具)或ip(现代推荐工具)用于查看和配置网络接口。ifconfig eth0
显示以太网接口的IP、MAC地址等信息;ip addr show
功能类似,但语法更统一,若需配置静态IP,可通过ip addr add 192.168.1.100/24 dev eth0
添加地址,并用ip link set eth0 up
启用接口。
route或ip route
命令用于管理路由表。ip route add default via 192.168.1.1
添加默认网关,ip route del 192.168.1.0/24
删除特定路由。

DNS解析与域名查询
nslookup和dig是DNS查询工具。nslookup www.baidu.com
直接返回域名对应的IP地址;而dig www.baidu.com
提供更详细的DNS记录信息,包括权威服务器、TTL等。host
命令则介于两者之间,用法为host www.baidu.com
。
网络状态与端口监控
netstat和ss用于查看网络连接状态。netstat -tuln
显示所有监听的TCP(-t
)和UDP(-u
)端口,-n
避免域名解析;ss -tuln
功能类似,但性能更优,若需查看特定进程的端口占用,可使用netstat -tulpn | grep :80
或ss -tulpn | grep :80
。
lsof(list open files)也可用于端口查询,例如lsof -i :80
显示占用80端口的进程。
网络数据捕获与分析
tcpdump是强大的网络抓包工具,可实时捕获和分析网络数据包。tcpdump -i eth0 -nn 'port 80'
捕获eth0接口上HTTP(80端口)的流量,-nn
避免IP和端口解析,通过-w
参数可将数据包保存到文件,如tcpdump -i eth0 -w capture.pcap
,后续使用Wireshark分析。

高级网络工具
wget和curl是常用的文件传输工具。wget https://example.com/file.zip
直接下载文件,支持断点续传(-c
参数);curl -O https://example.com/file.zip
功能类似,但更灵活,可结合-L
参数跟随重定向。curl
还支持发送HTTP请求,如curl -X POST -d "data" https://api.example.com
。
nmap用于端口扫描和网络探测,例如nmap -sS -O 192.168.1.1
进行TCP SYN扫描并检测操作系统类型。
防火墙与安全配置
iptables和firewalld是Linux防火墙管理工具,通过iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许SSH(22端口)访问,-A
表示添加规则,-j ACCEPT
为动作,firewalld则采用区域(zone)管理,例如firewall-cmd --permanent --add-service=http
开放HTTP服务。
常用命令对比表
命令 | 功能 | 常用参数示例 |
---|---|---|
ping | 测试网络连通性 | ping -c 4 8.8.8.8 |
traceroute | 路由跟踪 | traceroute -n 8.8.8.8 |
ip | 网络接口与路由配置 | ip addr add 192.168.1.100/24 dev eth0 |
nslookup | DNS查询 | nslookup www.baidu.com |
netstat/ss | 查看网络连接与端口 | ss -tuln |
tcpdump | 网络抓包 | tcpdump -i eth0 -nn 'port 80' |
wget/curl | 文件传输与HTTP请求 | wget https://example.com/file.zip |
nmap | 端口扫描 | nmap -sS 192.168.1.1 |
iptables | 防火墙规则管理 | iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
相关问答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、网关等参数。
Q2: 如何解决Linux无法解析域名的问题?
A2: 首先检查/etc/resolv.conf
中的DNS服务器配置,确保包含有效DNS(如nameserver 8.8.8.8
),若配置正确但无法解析,可能是网络服务问题,可通过systemctl restart NetworkManager
(Ubuntu)或systemctl restart network
(CentOS)重启网络服务,检查防火墙是否拦截DNS请求(如iptables -L | grep 53
),或使用dig @8.8.8.8 www.baidu.com
直接测试DNS服务器响应。