睿诚科技协会

Linux网络命令有哪些常用技巧?

Linux 网络命令是系统管理员和开发人员日常工作中不可或缺的工具,它们用于诊断网络问题、配置网络接口、监控网络流量以及进行网络调试,以下将详细介绍常用的 Linux 网络命令,包括其功能、语法和实际应用场景。

Linux网络命令有哪些常用技巧?-图1
(图片来源网络,侵删)

基础网络配置与状态查询命令

  1. ifconfig
    ifconfig 用于显示或配置网络接口的参数,虽然在新版 Linux 发行版中逐渐被 ip 命令取代,但仍在许多系统中广泛使用。

    • 显示所有网络接口信息
      ifconfig
    • 启用或禁用网卡
      ifconfig eth0 up          # 启用 eth0 接口
      ifconfig eth0 down        # 禁用 eth0 接口
    • 配置 IP 地址
      ifconfig eth0 192.168.1.100 netmask 255.255.255.0
  2. ip
    ipifconfig 的替代品,功能更强大,支持 IPv4 和 IPv6。

    • 显示网络接口信息
      ip addr show
    • 添加或删除 IP 地址
      ip addr add 192.168.1.100/24 dev eth0  # 添加 IP 地址
      ip addr del 192.168.1.100/24 dev eth0  # 删除 IP 地址
    • 启用或禁用接口
      ip link set eth0 up
      ip link set eth0 down
  3. ping
    ping 用于测试与目标主机的连通性,通过发送 ICMP 回显请求包来检查网络延迟和丢包情况。

    ping -c 4 8.8.8.8  # 发送 4 个包后退出
    ping -i 2 192.168.1.1  # 每 2 秒发送一次包
  4. netstat
    netstat 用于显示网络连接、路由表、接口统计等信息。

    Linux网络命令有哪些常用技巧?-图2
    (图片来源网络,侵删)
    • 显示所有 TCP 连接
      netstat -t
    • 显示监听端口
      netstat -l
    • 显示进程 ID 和端口号
      netstat -tp
  5. ss
    ssnetstat 的替代品,速度更快,功能更丰富。

    • 显示所有 TCP 连接
      ss -t
    • 显示 UDP 连接
      ss -u
    • 显示监听端口
      ss -l

高级网络诊断与监控命令

  1. traceroute
    traceroute 用于显示数据包到达目标主机所经过的路由路径。

    traceroute -n 8.8.8.8  # 不解析主机名,直接显示 IP
    traceroute -T -p 80 8.8.8.8  # 使用 TCP 协议,目标端口 80
  2. nmap
    nmap 是一款强大的网络扫描工具,用于主机发现、端口扫描和服务检测。

    • 扫描指定主机的开放端口
      nmap 192.168.1.1
    • 扫描指定端口范围
      nmap -p 1-100 192.168.1.1
    • 进行 TCP SYN 扫描
      nmap -sS 192.168.1.1
  3. tcpdump
    tcpdump 用于捕获和分析网络数据包,是底层网络调试的重要工具。

    • 捕获 eth0 接口的所有数据包
      tcpdump -i eth0
    • 捕获目标主机为 192.168.1.1 的数据包
      tcpdump host 192.168.1.1
    • 捕获目标端口为 80 的 TCP 数据包
      tcpdump tcp port 80
  4. iptables
    iptables 是 Linux 系统的防火墙工具,用于配置 IPv4 数据包过滤、NAT 和端口转发。

    • 允许 HTTP 流量通过
      iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    • 拒绝所有入站流量
      iptables -P INPUT DROP
    • 删除规则
      iptables -D INPUT -p tcp --dport 80 -j ACCEPT
  5. route
    route 用于显示和操作 IP 路由表。

    • 显示路由表
      route -n
    • 添加静态路由
      route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

常用网络命令对比

命令 主要功能 替代工具 特点
ifconfig 配置网络接口 ip 传统工具,功能有限
ip 配置网络接口、路由、策略等 功能强大,支持 IPv6
netstat 显示网络连接、路由表等 ss 功能全面,但速度较慢
ss 显示网络连接 netstat 速度快,支持更多协议
ping 测试网络连通性 简单易用,基于 ICMP
traceroute 显示路由路径 mtr 逐跳分析网络延迟
nmap 网络扫描、端口检测 masscan 高度可定制,支持多种扫描方式
tcpdump 捕获网络数据包 wireshark 底层调试,支持复杂过滤条件
iptables 配置防火墙规则 nftables 功能强大,但配置复杂
route 显示和操作路由表 ip route 简单的路由管理工具

实际应用场景

  1. 网络故障排查
    当无法访问某个网站时,可以使用 ping 检查连通性,traceroute 定位问题节点,tcpdump 捕获数据包分析传输过程。

  2. 安全审计
    使用 nmap 扫描内网主机,发现开放端口和服务;通过 iptables 配置防火墙规则,限制非法访问。

  3. 性能监控
    使用 ss 监控网络连接数,iftopnethogs 分析带宽使用情况,及时发现网络瓶颈。

  4. 网络配置
    通过 ip 命令配置静态 IP 地址,route 添加静态路由,确保网络通信正常。

相关问答 FAQs

问题 1:如何查看 Linux 系统当前的网络连接数?
解答:可以使用 ssnetstat 命令查看当前的网络连接数。

ss -s          # 显示摘要信息,包括 TCP、UDP 连接数
netstat -an    # 显示所有连接,包括监听、已建立的连接

问题 2:如何限制某个 IP 地址的访问?
解答:可以使用 iptables 拒绝特定 IP 的访问。

iptables -A INPUT -s 192.168.1.100 -j DROP  # 拒绝来自 192.168.1.100 的所有流量
iptables -A INPUT -s 192.168.1.0/24 -j REJECT  # 拒绝整个网段的访问

保存规则可以使用 iptables-save,或根据发行版使用 service iptables save

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