菜鸟科技网

Linux网络命令大全有哪些必备命令?

Linux网络命令是系统管理员和开发人员日常工作中不可或缺的工具,涵盖了网络配置、连接测试、数据监控、路由管理等多个方面,这些命令不仅功能强大,而且灵活高效,能够帮助用户快速诊断网络问题、优化网络性能或进行网络调试,以下将详细介绍常用的Linux网络命令,并附上具体用法和示例。

Linux网络命令大全有哪些必备命令?-图1
(图片来源网络,侵删)

网络连接测试与诊断命令

  1. ping
    用于测试与目标主机的连通性,通过发送ICMP回显请求包并接收响应来判断网络是否可达。

    ping -c 4 192.168.1.1  # 发送4个包后停止  
    ping -i 2 8.8.8.8       # 每隔2秒发送一次请求  
  2. traceroute/tracert
    跟踪数据包到目标主机所经过的路由路径,帮助定位网络延迟或中断点。

    traceroute -n 8.8.8.8  # 不进行DNS解析,直接显示IP  
    traceroute -I 192.168.1.1  # 使用ICMP代替UDP  
  3. mtr
    结合了ping和traceroute的功能,实时显示网络路径的每一跳延迟和丢包情况。

    mtr --report-cycles 5 192.168.1.1  # 运行5个测试周期  

网络配置与接口管理命令

  1. ifconfig(传统工具)或ip(现代推荐)
    查看或配置网络接口信息。

    Linux网络命令大全有哪些必备命令?-图2
    (图片来源网络,侵删)
    ifconfig eth0 up          # 启用eth0接口  
    ifconfig eth0 192.168.1.100 netmask 255.255.255.0  # 设置IP  
    ip addr add 192.168.1.101/24 dev eth0  # 使用ip命令添加IP  
    ip link show              # 显示所有接口状态  
  2. nmcli
    NetworkManager的命令行工具,适用于管理网络连接(尤其是动态IP、Wi-Fi等)。

    nmcli con show            # 显示所有连接  
    nmcli con mod "eth0" ipv4.addresses 192.168.1.102/24  # 修改IP  
    nmcli con up "eth0"       # 启用连接  

网络数据监控与分析命令

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

    netstat -tuln              # 显示所有监听的TCP/UDP端口  
    netstat -an | grep ESTAB   # 查看已建立的连接  
    netstat -s                 # 显示网络协议统计信息  
  2. ss(替代netstat)
    更快速地显示套接字统计信息,支持更多过滤选项。

    ss -tulnp                 # 显示监听端口及进程ID  
    ss - state established     # 查看已建立的连接  
  3. tcpdump
    抓取和分析网络数据包,适用于深度网络调试。

    Linux网络命令大全有哪些必备命令?-图3
    (图片来源网络,侵删)
    tcpdump -i eth0 -nn port 80  # 抓取eth0上80端口的HTTP流量  
    tcpdump -w capture.pcap      # 将抓包结果保存到文件  

路由与DNS管理命令

  1. route(传统)或ip route
    查看或管理路由表。

    route -n                  # 显示路由表(不解析DNS)  
    ip route add 10.0.0.0/24 via 192.168.1.1  # 添加静态路由  
  2. nslookup/dig
    查询DNS记录,前者交互式,后者功能更强大。

    nslookup www.baidu.com  
    dig +short www.google.com  # 仅返回IP地址  

文件传输与远程管理命令

  1. scp/rsync
    安全复制文件,支持本地与远程主机之间的数据传输。

    scp -r /local/path user@remote:/remote/path  # 递归复制目录  
    rsync -avz --progress /local/ user@remote:/remote/  # 增量同步  
  2. ssh
    安全远程登录,也可执行远程命令。

    ssh -p 22 user@192.168.1.1  # 指定端口登录  
    ssh-keygen -t rsa          # 生成SSH密钥对  

网络服务与安全命令

  1. iptables
    配置Linux内核防火墙规则。

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH访问  
    iptables -L -n --line-numbers  # 列出规则并显示行号  
  2. firewall-cmd
    CentOS/RHEL系统的防火墙管理工具(基于firewalld)。

    firewall-cmd --add-service=http --permanent  # 永久允许HTTP  
    firewall-cmd --reload                        # 重新加载防火墙  

其他实用工具

  • nmap:端口扫描与主机发现。
    nmap -sT -p 1-1000 192.168.1.1  # 扫描指定范围的TCP端口  
  • curl/wget:下载文件或测试HTTP服务。
    curl -I http://example.com       # 查看HTTP响应头  
    wget -c http://example.com/file.zip  # 断点续传下载  

相关命令对比表格

功能分类 命令 现代替代工具 主要用途
路由管理 route ip route 查看/添加静态路由
网络状态 netstat ss 显示连接、端口、路由统计
接口配置 ifconfig ip addr 配置网络IP和接口状态
防火墙 iptables firewall-cmd 管理包过滤规则
DNS查询 nslookup dig 解析域名到IP

相关问答FAQs

Q1: 如何快速定位网络延迟高的节点?
A1: 使用mtr命令结合目标主机IP,例如mtr --report-cycles 10 8.8.8.8,该命令会实时显示每一跳的延迟、丢包率和节点IP,通过观察中间节点的延迟值可快速定位瓶颈。

Q2: 为什么推荐使用ss替代netstat
A2: ss是Linux内核从3.17版本后引入的工具,相比netstat,它直接从内核获取套接字信息,速度更快且支持更丰富的过滤选项(如按状态、端口、协议等),在大量连接的场景下,ss的性能优势尤为明显。

分享:
扫描分享到社交APP
上一篇
下一篇