目录
[编辑 路由表的信息组成](#编辑 路由表的信息组成)
[1.3.4 添加静态路由](#1.3.4 添加静态路由)
[1.4.1 netstat命令(不建议使用)](#1.4.1 netstat命令(不建议使用))
[1.4.2ss( socket statistics)命令](#1.4.2ss( socket statistics)命令)
[4.1 什么是bond](#4.1 什么是bond)
[4.2 Bonding 聚合链路工作模式](#4.2 Bonding 聚合链路工作模式)
[4.3 模拟实现bond mod=1](#4.3 模拟实现bond mod=1)
[五.tcpdump 抓包工具](#五.tcpdump 抓包工具)
[2. 过滤规则](#2. 过滤规则)
[(1)按 IP 过滤](#(1)按 IP 过滤)
[(2) 按端口过滤](#(2) 按端口过滤)
[(3) 按协议过滤](#(3) 按协议过滤)
[(4) 组合过滤](#(4) 组合过滤)
一.与网络配置相关的命令
1.1ifconfig命令
1.1.1作用
用于显示网络接口信息
1.1.2网络接口的信息
ifconfig #显示所有的已经开启的网络接口的信息

接口信息的组成
ens33
ens33: flags=4163<UP, BROADCAST,RUNNING,MULTICAST> mtu 1500
该接口 已启用,支持广播、 正在运行 支持组播 最大传输单元1500字节
inet 192.168.91.100 netmask 255.255.255.0 broadcast 192.168.91.255
inet6 fe80::fe7:ca03:81f:2887 prefixlen 64 scopeid 0x20<link>
IPV6地址 子网长度 作用域 link表示仅该接口有效
ether 00:0c:29:fe:e5:bf txqueuelen 1000 (Ethernet)
mac地址 传输队列长度(传输缓存大小) 接口类型
RX packets 2211 bytes 182146 (177.8 KiB)
接收 报文个数 总和字节数
RX errors 0 dropped 0 overruns 0 frame 0
接收 错误 丢弃 溢出 冲突帧数
TX packets 1317 bytes 294334 (287.4 KiB)
发送 报文个数 总字节数
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
错误 丢失 溢出 载荷数 冲突数
补充:ens33:第一块以太网卡的名称详解
"ens33"中的
-
"en"是"EtherNet"的缩写,表示网卡 类型为以太网,
-
"s" 表示热插拔插槽上的设备(hot-plug Slot),
-
数字"33"表示插槽 编号
lo回环接口(与ens33相似部分不在重复描述)
inet 127.0.0.1 netmask 255.0.0.0
#本地回环接口的IP地址是 127.0.0.1,网络掩码是 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
#inet6 ::1 表示IPv6下的本地回环地址
#prefixlen 128 表示网络前缀的长度为 128,全部地址都被视为主机标识。
#scopeid 0x10<host> 表示该地址的作用域 ID 是 0x10,标识为主机(host)级别的地址
loop txqueuelen 1 (Local Loopback)
可缓存一个数据包 本地环回接口
virbr0 虚拟网络接口
ther 52:54:00:74:e7:a9 txqueuelen 1000 (Ethernet)
MAC地址 可以缓存1000个数据包 以太网
1.1.3显示所有网卡包括没有启动的网卡
ifconfig -a

1.1.4查看指定网络接口
ifconfig 接口名 #显示指定网络接口的详细配置信息

1.1.5开启或关闭网卡
ifconfig 网卡名称 [up|down]

1.1.6设置临时虚拟网卡
ifconfig 网卡名称:0 地址

1.1.7网络通讯情况
ifconfig -s
1.1.8临时修改网卡属性
ifconfig ens33 192.168.2.122 255.255.255.0 #临时修改IP地址和子网掩码

1.2hostname命令
1.2.1作用
hostname命令用于显示或设置系统的主机名。主机名是标识网络上计算机的名称。
hostname #显示当前主机名

1.2.2永久修改主机名
hostnamectl set-hostname 新主机名

1.2.3临时修改主机名
hostname 2025 #将主机名临时修改为2025,2025为自定义,重启后修改失效

1.3route命令
1.3.1作用
用于查看或设置系统的IP路由表。
1.3.2查看IP路由表
route
路由表的信息组成
#路由表主要构成:
#Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路
由,优先级最低
#Genmask:目标网络对应的netmask
#Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
#Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
#Metric: 开销cost,值越小,路由记录的优先级最高
1.3.3让路由表信息以数字形式显示
route -n

1.3.4 添加静态路由
route add -net 目标网段地址 子网掩码 gw 下一跳IP地址 [下一跳网关 下一跳IP地址的端口]
route add -net 192.168.100.0/24 gw 192.168.52.2
#给192.168.100.0/24段添加静态路由
1.3.5删除现有的路由
route del -net 目标网段 子网掩码 [gw 下一跳IP地址]
route del -net 192.168.100.0/24
#删除添加路由

1.3.6删除默认的网关记录
route del default gw IP地址
1.3.7添加默认网关记录
route add default gw IP地址
1.4查看网络连接情况
1.4.1 netstat命令(不建议使用)
1.4.1.1作用
netstat命令用于显示与网络相关的统计信息,包括连接状态、网络接口的活动情况、路由表等。

#命令格式
netstat [选项]
#常用选项:
-a 显示所有活动连接和监听端口
-n 直接使用IP地址和端口号显示网络连接,而不进行DNS解析
-o 显示与每个连接关联的进程ID
-p 显示与每个连接关联的程序名称或进程名称
-s 显示不同协议的统计信息,例如TCP、UDP和ICMP
1.4.2ss**( socket statistics)命令**
1.4.2.1作用
也可以查看网络连接情况, 相较于netstat,提供了更快速和更详细的统计数据。
#命令格式
ss [选项]
#常用选项
-t: tcp协议相关
-u: udp协议相关
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称
# 一般用 ss -natp
二.网络测试
2.1ping命令
作用:测试网络连通性
#命令格式
ping [选项] 目标主机 #检查能否连通目标主机,默认是长ping
#常用选项
-c 数字 代表发几个包
-w 数字 表示如果ping不通多久后返回,不会再ping
-W 10 表示如果ping不通10秒后返回
#ping使用icmp协议
2.2traceroute命令
作用:用于跟踪 IP 数据包从源地址到目标地址的路径
traceroute IP地址

2.3nslookup命令
作用:用于查询域名系统(DNS)记录
nslook 域名

三.永久修改网络相关配置文件
3.1网卡
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
NAME=ens33 //网卡名称
BOOTPROTO=static //网卡获取地址模式 none dhcp
ONBOOT=yes //开机是否自启动
IPADDR=192.168.52.105 //配置你自己的IP地址子网网关还有dns服务器
NETMASK=255.255.255.0 //PREFIX=24
GATEWAY=192.168.52.2
DNS1=8.8.8.8
DNS2=114.114.114.114
// IPADDR= 设置静态IP地址。
NETMASK= 设置子网掩码。
GATEWAY= 设置默认网关。
DNS1= 设置首选DNS服务器。
DNS2= 设置备用DNS服务器。 //
[root@localhost ~]# systemctl restart network //重启网卡服务
[root@localhost ~]# ping 192.168.52.1 //测试网络是否通顺
PING 192.168.52.1 (192.168.52.1) 56(84) bytes of data.
64 bytes from 192.168.52.1: icmp_seq=1 ttl=128 time=0.871 ms
64 bytes from 192.168.52.1: icmp_seq=2 ttl=128 time=0.487 ms
64 bytes from 192.168.52.1: icmp_seq=3 ttl=128 time=0.347 ms
3.2添加新网卡


cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
将已有的网卡配置导入

只需进行少量修改

systemctl restart network #重启网络服务

四.多网卡绑定bond
4.1 什么是bond
bond(网络绑定或链路聚合),将多个网络接口绑定在一起,形成一个虚拟的网络接口。
bond技术可以增加带宽、提高连接可靠性和实现负载均衡。
4.2 Bonding 聚合链路工作模式
模式 | 名称 | 工作原理 | 适用场景 |
---|---|---|---|
mode=0 |
balance-rr | 轮询(Round Robin):数据包依次从每个网卡发送。 | 负载均衡,但可能乱序(不推荐 TCP) |
mode=1 |
active-backup | 主备模式:只有一个网卡活跃,其他备用,故障时自动切换。 | 高可用性(默认推荐) |
mode=2 |
balance-xor | XOR 哈希:根据源/目标 MAC/IP/端口计算哈希,固定流走固定网卡。 | 负载均衡(需交换机支持) |
mode=3 |
broadcast | 广播:所有数据包从所有网卡发送。 | 冗余性(极少使用) |
mode=4 |
802.3ad | LACP 动态聚合:需交换机支持 802.3ad,自动协商聚合链路。 | 企业级负载均衡 + 冗余 |
mode=5 |
balance-tlb | 自适应发送负载均衡:根据当前负载分配流量,接收仅走主卡。 | 无需交换机支持 |
mode=6 |
balance-alb | 自适应负载均衡:发送和接收都智能分配(需 ARP 协商)。 | 智能负载均衡(家用/小型网络) |
4.3 模拟实现bond mod=1
1)添加网卡

ifconfig #查看是否添加成功新网卡

2)编辑网卡配置文件
cd /etc/sysconfig/network-scripts #切换到配置文件所在目录 方便编辑
##添加ifcfg-bond0文件##
vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.91.22
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,
如果有一条线路不通就转入另一条线路
#fail_over_mac=1" 永远使用活着的 网卡的mac地址
##修改ifcfg-ens33文件##
vim ifcfg-ens33
BOOTPROTO=static #none=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0 #主网卡为bond0
SLAVE=yes #自身为备网卡
vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
systemctl restart network #重启网络服务,应用修改
3)查看bond0状态,看看是否配置成功
cat /proc/net/bonding/bond0 #查看bond0状态

ifconfig ens33 down #关闭ens33接口 模拟出错

cat /proc/net/bonding/bond0 #查看bond0状态

五.tcpdump 抓包工具
5.1命令格式
//格式
tcpdump option proto dir type
选项 协议 数据的方向 抓取的数据类型
proto(协议):
1. tcp udp icmp
2. ip ipv6
3. arp
dir(方向):
1. src
2. dst
3. src and dst
type(类型):
1. host 主机
2. net 网段
3. port 端口
4. port range 端口范围
常见选项
选项 | 说明 |
---|---|
-i <网卡> |
指定监听的网卡(如 eth0 , wlan0 , any ) |
-n |
禁用 DNS 解析(直接显示 IP,提升速度) |
-nn |
禁用端口解析 (不显示 http /ssh 等协议名)直接显示ip和端口号 |
-c <数量> |
抓取指定数量的包后停止 (如 -c 10 抓 10 个包) |
-w <文件> |
保存抓包数据到 pcap 文件(可用 Wireshark 分析) |
-r <文件> |
读取 pcap 文件(分析已保存的数据) |
-v |
显示详细信息(TTL、校验和等) |
-C | 需要与w 配合使用 指定单个文件的大小 百万字节 |
-Q | 过滤数据包的方向 in out inout |
-s | 指定数据包的大小 |
-D | 显示所有可用的列表 |
-q | 简洁的输出 |
-t | 在每行的输出中,不显示时间 |
-tt | 输出一个时间戳 |
-ttt | 每行之间的时间间隔 |
-tttt | 详细日期 |
(1) 指定网卡抓包
tcpdump -i eth0 # 监听 eth0 网卡
tcpdump -i any # 监听所有网卡

输出格式讲解:
第一列:时分毫秒 11:53:55.288476
第二例:网络协议ip
第三列:发送方IP地址+端口号 ip地址:192.168.91.1 端口号:47496 >表示数据流向
第四列:主机名协议 主机名:localhost.localdomain 协议:ssh
第五列: seq号 ack号 win窗口长度 tcp的标志位
#查看网卡
[root@centos8 ~]#tcpdump -D
1.eth0 [Up, Running]
2.lo [Up, Running, Loopback]
3.any (Pseudo-device that captures on all interfaces) [Up, Running]
4.bluetooth-monitor (Bluetooth Linux Monitor) [none]
5.nflog (Linux netfilter log (NFLOG) interface) [none]
6.nfqueue (Linux netfilter queue (NFQUEUE) interface) [none]
7.usbmon0 (All USB buses) [none]
8.usbmon1 (USB bus number 1)
9.usbmon2 (USB bus number 2)
#不指定任何参数,监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡。
tcpdump
#监听特定网卡
tcpdump -i enth0
#监听特定主机,监听主机10.0.0.100 的通信包,注意:出、入的包都会被监听。
tcpdump host 10.0.0.100
#特定来源、目标地址的通信
#特定来源
tcpdump src host hostname
#特定目标地址
tcpdump dst host hostname
#如果不指定src跟dst,那么来源或者目标是hostname的通信都会被监听
tcpdump host hostname
#面试题
请抓取源地址是10.0.0.6目的地址是10.0.0.7经过eth0网卡的icpm协议包
[root@centos8 ~]#tcpdump -i eth0 -nn icmp and src host 10.0.0.6 and dst host 10.0.0.7
tcpdump -i ens33 -nn icmp and src host 10.0.0.6 and dst host 10.0.0.7
//
参数/过滤条件 作用
-i ens33 监听网卡 ens33(通常是 Linux 的默认以太网接口)
-nn 禁用 DNS 和端口解析,直接显示 IP 和端口号(提升可读性和性能)
icmp 只捕获 ICMP 协议 的数据包(如 Ping 请求/响应)
src host 10.0.0.6 只显示 源 IP 为 10.0.0.6 的包
dst host 10.0.0.7 只显示 目标 IP 为 10.0.0.7 的包
and 逻辑与,组合多个过滤条件
这条命令通常用于:
监控两台主机间的 Ping 通信(如 10.0.0.6 Ping 10.0.0.7)。
排查网络连通性问题(检查 ICMP 包是否能正常到达目标)。
分析 ICMP 包的往返时间(RTT)。
//
#特定端口
tcpdump port 3000
#监听TCP/UDP,服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包
tcpdump tcp
#来源主机+端口+TCP,监听来自主机10.0.0.100在端口22上的TCP数据包
tcpdump tcp port 22 and src host 10.0.0.100
#监听特定主机之间的通信
tcpdump ip src host 10.0.0.101 and 10.0.0.102
#10.0.0.101和除了10.0.0.1之外的主机之间的通信
tcpdump ip host 10.0.0.101 and ! 10.0.0.1
2. 过滤规则
(1)按 IP 过滤
tcpdump host 192.168.1.1 # 抓取与 192.168.1.1 相关的流量
tcpdump src 192.168.1.1 # 仅抓取来源 IP
tcpdump dst 192.168.1.1 # 仅抓取目标 IP
(2) 按端口过滤
tcpdump port 80 # 抓取 80 端口(HTTP)
tcpdump src port 22 # 抓取来源 22 端口(SSH)
tcpdump dst port 443 # 抓取目标 443 端口(HTTPS)
(3) 按协议过滤
tcpdump icmp # 抓取 ICMP(Ping 包)
tcpdump tcp # 抓取 TCP 流量
tcpdump udp # 抓取 UDP 流量
(4) 组合过滤
tcpdump "host 192.168.1.1 and port 80" # 抓取 192.168.1.1 的 80 端口流量
tcpdump "tcp and src 192.168.1.1" # 抓取来自 192.168.1.1 的 TCP 流量