Linux 系统在网络管理和诊断中有着强大的工具支持。掌握 Linux 网络相关指令,对于开发者、运维工程师、以及网络管理员来说尤为重要。本文将详细介绍 Linux 下常用的网络命令及其使用场景,并结合实际案例进行分析。
ifconfig(已被 ip 替代)ifconfig 是早期用于配置网络接口的命令,但在现代 Linux 系统中已逐渐被 ip 命令替代。
功能:
基本用法:
# 查看所有网络接口
ifconfig
# 配置 IP 地址
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 禁用网络接口
sudo ifconfig eth0 downipip 是现代 Linux 系统的网络配置工具,更强大且灵活。
功能:
基本用法:
# 查看所有网络接口
ip addr show
# 分别显示 IPv4 和 IPv6 信息
ip -4 addr show
ip -6 addr show
# 添加 IP 地址
sudo ip addr add 192.168.1.100/24 dev eth0
# 删除 IP 地址
sudo ip addr del 192.168.1.100/24 dev eth0
# 查看路由信息
ip route showpingping 是最常用的网络连通性测试工具,通过发送 ICMP 数据包检查目标主机是否可达。
基本用法:
# 测试与目标主机的连通性
ping www.google.com
# 指定发送数据包数量
ping -c 4 www.google.com
# 指定数据包大小
ping -s 64 www.google.comtraceroutetraceroute 用于追踪数据包到达目标主机的路径。
基本用法:
# 查看数据包的跳跃路径
traceroute www.google.com
# 指定最大跳跃次数
traceroute -m 20 www.google.com常见场景: 用于分析网络故障时,判断网络拥堵或中断的具体位置。
netstat(已被 ss 替代)netstat 显示网络连接、路由表和网络接口统计信息。
基本用法:
# 显示所有活动连接
netstat -an
# 显示监听的端口
netstat -l
# 显示路由表
netstat -rssss 是 netstat 的替代工具,提供更快的网络连接统计信息。
基本用法:
# 显示所有 TCP 连接
ss -t
# 显示所有 UDP 连接
ss -u
# 显示监听状态的连接
ss -ltcpdumptcpdump 是 Linux 下强大的抓包工具,可实时捕获并分析网络流量。
基本用法:
# 捕获所有网络流量
sudo tcpdump
# 捕获特定接口的流量
sudo tcpdump -i eth0
# 保存抓包结果到文件
sudo tcpdump -w capture.pcap
# 从文件读取抓包数据
sudo tcpdump -r capture.pcapwireshark虽然 Wireshark 是 GUI 工具,但它的命令行工具 tshark 也非常实用。
基本用法:
# 捕获流量
sudo tshark -i eth0
# 指定过滤条件
sudo tshark -i eth0 -f "port 80"curlcurl 是用于网络请求的命令行工具,支持 HTTP、FTP 等协议。
基本用法:
# 发起 GET 请求
curl https://www.google.com
# 发起 POST 请求
curl -X POST -d "param=value" https://www.example.com
# 下载文件
curl -O https://example.com/file.zipwgetwget 是用于从网络下载文件的命令。
基本用法:
# 下载文件
wget https://example.com/file.zip
# 递归下载整个网站
wget -r https://example.comscpscp 基于 SSH 实现文件传输。
基本用法:
# 上传文件到远程服务器
scp file.txt user@remote:/path/to/destination
# 从远程服务器下载文件
scp user@remote:/path/to/file.txt /local/pathrsyncrsync 是高效的文件同步工具。
基本用法:
# 同步本地文件到远程服务器
rsync -avz file.txt user@remote:/path
# 同步远程文件到本地
rsync -avz user@remote:/path/file.txt /local/pathiptablesiptables 是 Linux 下的防火墙工具,用于设置规则来控制网络流量。
基本用法:
# 查看当前规则
sudo iptables -L
# 添加规则:允许指定端口的流量
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 删除规则
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPTnmclinmcli 是 NetworkManager 的命令行工具,用于管理网络连接。
基本用法:
# 查看网络连接
nmcli connection show
# 添加新的网络连接
nmcli connection add type wifi ifname wlan0 ssid "MyWifi" password "mypassword"
# 启用网络连接
nmcli connection up "MyWifi"使用 ping 检查与服务器的网络延迟:
ping -c 5 www.google.com使用 traceroute 检查数据包的传输路径:
traceroute www.example.com使用 ss 查看监听的端口和当前的连接:
ss -tuln使用 tcpdump 捕获 TCP 80 端口流量:
sudo tcpdump -i eth0 port 80Linux 提供了丰富的网络管理命令,可以满足各种场景需求。无论是基础的网络配置,还是高级的流量分析,这些工具都能帮助我们快速定位和解决问题。希望本文能够帮助你掌握 Linux 的网络相关指令,并在实际工作中得心应手。