Yang's blog Yang's blog
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xiaoyang

编程爱好者
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • System

    • HomeBrew介绍
  • Git

    • Git 命令入门指南
  • shell

    • shell编程中常用的符号
  • docker

    • Docker介绍
    • Dockerfile :构建自己的 Docker 镜像
    • Docker Compose :容器编排工具
  • Linux

    • Linux基础知识
    • Linux 文件系统
    • Linux 用户管理
    • Linux 权限与安全
    • Linux 网络管理
      • 1. 网络基本概念(IP, DNS, 网关, 子网掩码)
        • (1)IP 地址(Internet Protocol Address)
        • (2)DNS(Domain Name System)
        • (3)网关(Gateway)
        • (4)子网掩码(Subnet Mask)
      • 2. 网络命令(ifconfig, ip, netstat, ss, ping, traceroute, nc)
        • (1)查看网络接口
        • ifconfig(已被弃用)
        • ip(推荐)
        • (2)网络连接状态
        • netstat(已被 ss 替代)
        • ss(推荐)
        • (3)测试网络连接
        • ping(测试主机是否可达)
        • traceroute(跟踪网络路径)
        • nc(Netcat,测试端口连通性)
      • 3. Linux 网络配置(静态 IP / 动态 IP)
        • (1)动态 IP(DHCP)
        • (2)静态 IP 配置
      • 4. 端口管理(netstat, lsof, ss)
        • (1)使用 netstat
        • (2)使用 lsof
        • (3)使用 ss
      • 5. 使用 `tcpdump` 进行网络抓包
        • (1)基本用法
        • (2)保存抓包
        • (3)过滤特定数据
    • Linux 进程管理
    • Linux 常用命令
  • 命令手册
  • Linux
xiaoyang
2025-03-03
目录

Linux 网络管理

# Linux 网络管理

本章介绍 Linux 网络管理的基础知识,包括 IP 地址、DNS、网关、子网掩码等网络基本概念,常用的网络工具命令,Linux 网络配置(静态/动态 IP),端口管理,以及使用 tcpdump 进行网络抓包分析。

# 1. 网络基本概念(IP, DNS, 网关, 子网掩码)

# (1)IP 地址(Internet Protocol Address)

IP 地址用于标识网络中的设备,每个设备都有唯一的 IP 地址。

  • IPv4:如 192.168.1.1,由 4 组 8 位二进制(共 32 位)组成。
  • IPv6:如 2001:db8::1,采用 128 位,提供更大地址空间。

IP 地址分为两类:

  • 公网 IP:互联网中唯一,如 8.8.8.8(Google DNS)。

  • 私有 IP

    (局域网使用):

    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16

# (2)DNS(Domain Name System)

DNS 将域名(如 www.google.com)解析为 IP 地址(如 142.250.72.68)。
常见公共 DNS:

  • Google DNS:8.8.8.8 / 8.8.4.4
  • Cloudflare DNS:1.1.1.1
  • OpenDNS:208.67.222.222

查看 DNS 解析:

nslookup google.com
dig google.com
1
2

# (3)网关(Gateway)

网关是连接不同网络的设备(如路由器)。默认网关用于访问外部网络:

ip route show
1

示例输出:

default via 192.168.1.1 dev eth0 proto static
1

表示网关 IP 为 192.168.1.1。

# (4)子网掩码(Subnet Mask)

子网掩码用于区分网络部分和主机部分:

  • 255.255.255.0(/24):可容纳 254 个主机。
  • 255.255.0.0(/16):可容纳 65534 个主机。

计算子网:

ipcalc 192.168.1.0/24
1

# 2. 网络命令(ifconfig, ip, netstat, ss, ping, traceroute, nc)

# (1)查看网络接口

# ifconfig(已被弃用)

ifconfig eth0
1

# ip(推荐)

ip a  # 查看所有网络接口信息
ip link show  # 查看网络接口状态
1
2

# (2)网络连接状态

# netstat(已被 ss 替代)

netstat -tulnp  # 显示所有监听端口
1

# ss(推荐)

ss -tulnp  # 显示 TCP/UDP 监听端口
ss -s  # 显示连接统计信息
1
2

# (3)测试网络连接

# ping(测试主机是否可达)

ping -c 4 8.8.8.8
1

# traceroute(跟踪网络路径)

traceroute google.com
1

# nc(Netcat,测试端口连通性)

nc -zv 192.168.1.1 22
1

# 3. Linux 网络配置(静态 IP / 动态 IP)

# (1)动态 IP(DHCP)

dhclient eth0  # 获取 DHCP 分配的 IP
1

# (2)静态 IP 配置

编辑 /etc/network/interfaces(Debian/Ubuntu):

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
1
2
3
4
5
6

然后重启网络:

systemctl restart networking
1

在 RHEL/CentOS,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0:

BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
1
2
3
4
5
6
7

重启网络:

systemctl restart network
1

# 4. 端口管理(netstat, lsof, ss)

# (1)使用 netstat

netstat -tulnp  # 查看监听的端口
1

# (2)使用 lsof

lsof -i :80  # 查看占用 80 端口的进程
1

# (3)使用 ss

ss -tulnp  # 显示监听的 TCP/UDP 端口
ss -at | grep ESTAB  # 查看已建立的 TCP 连接
1
2

# 5. 使用 tcpdump 进行网络抓包

# (1)基本用法

tcpdump -i eth0
1

抓取 TCP 端口 80(HTTP)的数据包:

tcpdump -i eth0 port 80
1

# (2)保存抓包

tcpdump -i eth0 -w capture.pcap
1

使用 Wireshark 分析 capture.pcap 文件。

# (3)过滤特定数据

tcpdump -i eth0 src 192.168.1.1
tcpdump -i eth0 dst port 443
1
2
编辑 (opens new window)
上次更新: 2025/04/01, 01:48:12

← Linux 权限与安全 Linux 进程管理→

最近更新
01
操作系统
03-18
02
Nginx
03-17
03
后端服务端主动推送消息的常见方式
03-11
更多文章>
Theme by Vdoing | Copyright © 2023-2025 xiaoyang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式