首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >全面解读 Linux 的网络指令 (ifconfig,ping,traceroute,netstat,ss,tcpdump,wireshark,curl,wget,scp,iptables)

全面解读 Linux 的网络指令 (ifconfig,ping,traceroute,netstat,ss,tcpdump,wireshark,curl,wget,scp,iptables)

作者头像
用户8589624
发布2025-11-15 13:18:20
发布2025-11-15 13:18:20
3110
举报
文章被收录于专栏:nginxnginx
全面解读 Linux 的网络指令:从入门到精通

Linux 系统在网络管理和诊断中有着强大的工具支持。掌握 Linux 网络相关指令,对于开发者、运维工程师、以及网络管理员来说尤为重要。本文将详细介绍 Linux 下常用的网络命令及其使用场景,并结合实际案例进行分析。


1. 网络基础设置类指令
1.1 ifconfig(已被 ip 替代)

ifconfig 是早期用于配置网络接口的命令,但在现代 Linux 系统中已逐渐被 ip 命令替代。

功能:

  • 查看网络接口状态(IP 地址、子网掩码等)。
  • 激活或关闭网络接口。
  • 配置网络接口的 IP 地址。

基本用法:

代码语言:javascript
复制
# 查看所有网络接口
ifconfig

# 配置 IP 地址
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

# 禁用网络接口
sudo ifconfig eth0 down
1.2 ip

ip 是现代 Linux 系统的网络配置工具,更强大且灵活。

功能:

  • 配置和显示网络接口信息。
  • 管理路由表。
  • 查看链路状态。

基本用法:

代码语言:javascript
复制
# 查看所有网络接口
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 show

2. 网络诊断与监控类指令
2.1 ping

ping 是最常用的网络连通性测试工具,通过发送 ICMP 数据包检查目标主机是否可达。

基本用法:

代码语言:javascript
复制
# 测试与目标主机的连通性
ping www.google.com

# 指定发送数据包数量
ping -c 4 www.google.com

# 指定数据包大小
ping -s 64 www.google.com
2.2 traceroute

traceroute 用于追踪数据包到达目标主机的路径。

基本用法:

代码语言:javascript
复制
# 查看数据包的跳跃路径
traceroute www.google.com

# 指定最大跳跃次数
traceroute -m 20 www.google.com

常见场景: 用于分析网络故障时,判断网络拥堵或中断的具体位置。

2.3 netstat(已被 ss 替代)

netstat 显示网络连接、路由表和网络接口统计信息。

基本用法:

代码语言:javascript
复制
# 显示所有活动连接
netstat -an

# 显示监听的端口
netstat -l

# 显示路由表
netstat -r
2.4 ss

ssnetstat 的替代工具,提供更快的网络连接统计信息。

基本用法:

代码语言:javascript
复制
# 显示所有 TCP 连接
ss -t

# 显示所有 UDP 连接
ss -u

# 显示监听状态的连接
ss -l

3. 网络抓包与分析类指令
3.1 tcpdump

tcpdump 是 Linux 下强大的抓包工具,可实时捕获并分析网络流量。

基本用法:

代码语言:javascript
复制
# 捕获所有网络流量
sudo tcpdump

# 捕获特定接口的流量
sudo tcpdump -i eth0

# 保存抓包结果到文件
sudo tcpdump -w capture.pcap

# 从文件读取抓包数据
sudo tcpdump -r capture.pcap
3.2 wireshark

虽然 Wireshark 是 GUI 工具,但它的命令行工具 tshark 也非常实用。

基本用法:

代码语言:javascript
复制
# 捕获流量
sudo tshark -i eth0

# 指定过滤条件
sudo tshark -i eth0 -f "port 80"

4. 网络服务管理类指令
4.1 curl

curl 是用于网络请求的命令行工具,支持 HTTP、FTP 等协议。

基本用法:

代码语言:javascript
复制
# 发起 GET 请求
curl https://www.google.com

# 发起 POST 请求
curl -X POST -d "param=value" https://www.example.com

# 下载文件
curl -O https://example.com/file.zip
4.2 wget

wget 是用于从网络下载文件的命令。

基本用法:

代码语言:javascript
复制
# 下载文件
wget https://example.com/file.zip

# 递归下载整个网站
wget -r https://example.com

5. 网络文件传输类指令
5.1 scp

scp 基于 SSH 实现文件传输。

基本用法:

代码语言:javascript
复制
# 上传文件到远程服务器
scp file.txt user@remote:/path/to/destination

# 从远程服务器下载文件
scp user@remote:/path/to/file.txt /local/path
5.2 rsync

rsync 是高效的文件同步工具。

基本用法:

代码语言:javascript
复制
# 同步本地文件到远程服务器
rsync -avz file.txt user@remote:/path

# 同步远程文件到本地
rsync -avz user@remote:/path/file.txt /local/path

6. 高级网络管理类指令
6.1 iptables

iptables 是 Linux 下的防火墙工具,用于设置规则来控制网络流量。

基本用法:

代码语言:javascript
复制
# 查看当前规则
sudo iptables -L

# 添加规则:允许指定端口的流量
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 删除规则
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
6.2 nmcli

nmcli 是 NetworkManager 的命令行工具,用于管理网络连接。

基本用法:

代码语言:javascript
复制
# 查看网络连接
nmcli connection show

# 添加新的网络连接
nmcli connection add type wifi ifname wlan0 ssid "MyWifi" password "mypassword"

# 启用网络连接
nmcli connection up "MyWifi"

7. 实用案例
7.1 检查网络延迟

使用 ping 检查与服务器的网络延迟:

代码语言:javascript
复制
ping -c 5 www.google.com
7.2 诊断网络路径问题

使用 traceroute 检查数据包的传输路径:

代码语言:javascript
复制
traceroute www.example.com
7.3 分析网络连接

使用 ss 查看监听的端口和当前的连接:

代码语言:javascript
复制
ss -tuln
7.4 捕获特定流量

使用 tcpdump 捕获 TCP 80 端口流量:

代码语言:javascript
复制
sudo tcpdump -i eth0 port 80

总结

Linux 提供了丰富的网络管理命令,可以满足各种场景需求。无论是基础的网络配置,还是高级的流量分析,这些工具都能帮助我们快速定位和解决问题。希望本文能够帮助你掌握 Linux 的网络相关指令,并在实际工作中得心应手。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全面解读 Linux 的网络指令:从入门到精通
  • 1. 网络基础设置类指令
    • 1.1 ifconfig(已被 ip 替代)
    • 1.2 ip
  • 2. 网络诊断与监控类指令
    • 2.1 ping
    • 2.2 traceroute
    • 2.3 netstat(已被 ss 替代)
    • 2.4 ss
  • 3. 网络抓包与分析类指令
    • 3.1 tcpdump
    • 3.2 wireshark
  • 4. 网络服务管理类指令
    • 4.1 curl
    • 4.2 wget
  • 5. 网络文件传输类指令
    • 5.1 scp
    • 5.2 rsync
  • 6. 高级网络管理类指令
    • 6.1 iptables
    • 6.2 nmcli
  • 7. 实用案例
    • 7.1 检查网络延迟
    • 7.2 诊断网络路径问题
    • 7.3 分析网络连接
    • 7.4 捕获特定流量
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档