当前位置: 首页 > news >正文

Linux网络配置与测试

 

目录

一.与网络配置相关的命令

1.1ifconfig命令

1.1.1作用

1.1.2网络接口的信息

接口信息的组成

1.1.3显示所有网卡包括没有启动的网卡

 1.1.4查看指定网络接口

1.1.5开启或关闭网卡  

 1.1.6设置临时虚拟网卡

1.1.7网络通讯情况

​编辑

1.1.8临时修改网卡属性 

 1.2hostname命令

 1.2.1作用

1.2.2永久修改主机名  

1.2.3临时修改主机名

1.3route命令

1.3.1作用

1.3.2查看IP路由表

​编辑 路由表的信息组成

1.3.3让路由表信息以数字形式显示

1.3.4 添加静态路由

1.3.5删除现有的路由 

1.3.6删除默认的网关记录 

1.3.7添加默认网关记录

1.4查看网络连接情况 

1.4.1 netstat命令(不建议使用)

1.4.1.1作用 

1.4.2ss( socket statistics)命令

1.4.2.1作用

二.网络测试

2.1ping命令

2.2traceroute命令 

2.3nslookup命令 

三.永久修改网络相关配置文件 

 3.1网卡

3.2添加新网卡

 四.多网卡绑定bond

4.1 什么是bond

4.2 Bonding 聚合链路工作模式

4.3 模拟实现bond mod=1 

五.tcpdump 抓包工具

5.1命令格式

常见选项

2. 过滤规则

(1)按 IP 过滤

(2) 按端口过滤

 (3) 按协议过滤

(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=0balance-rr轮询(Round Robin):数据包依次从每个网卡发送。负载均衡,但可能乱序(不推荐 TCP)
mode=1active-backup主备模式:只有一个网卡活跃,其他备用,故障时自动切换。高可用性(默认推荐)
mode=2balance-xorXOR 哈希:根据源/目标 MAC/IP/端口计算哈希,固定流走固定网卡。负载均衡(需交换机支持)
mode=3broadcast广播:所有数据包从所有网卡发送。冗余性(极少使用)
mode=4802.3adLACP 动态聚合:需交换机支持 802.3ad,自动协商聚合链路。企业级负载均衡 + 冗余
mode=5balance-tlb自适应发送负载均衡:根据当前负载分配流量,接收仅走主卡。无需交换机支持
mode=6balance-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 <网卡>指定监听的网卡(如 eth0wlan0any
-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 流量

 

 

 

相关文章:

  • 鸿蒙小案例-京东登录
  • 记录IBM服务器检测到备份GPT损坏警告排查解决过程
  • 信息系统项目管理师-第十四章-项目沟通管理
  • 收敛算法有多少?
  • 一周学会Pandas2 Python数据处理与分析-Pandas2一维数据结构-Series
  • k8s创建一个pod,查看状态和详细信息,进入pod,以及删除这个pod
  • 智能指针C++11
  • Spring Boot 通过全局配置去除字符串类型参数的前后空格
  • 遵循IEC62304YY/T0664:确保医疗器械软件生命周期合规性
  • 【Hadoop入门】Hadoop生态之MapReduce简介
  • 25.4.8学习总结
  • 自定义实现C++拓展pytorch功能
  • 无标记点动作捕捉方案:偃动坊无标记动作捕捉系统,解锁无穿戴动捕体验
  • 浅谈类的复制构造函数和赋值运算符
  • 今日行情明日机会——20250408
  • Java 设计模式:工厂模式详解
  • 前端实现docx格式word文件预览,可以兼容原生、vue2、以及uni-app 项目,详细步骤。
  • 3月AI论文精选十篇
  • 遍历集合list工具
  • C++学习day8
  • 西南大学教授、重庆健美运动奠基人之一李启圣逝世
  • 大四本科生已发14篇SCI论文?重庆大学:成立工作组核实
  • 陕西澄城樱桃在上海推介,向长三角消费者发出“甜蜜之邀”
  • AI智能体,是不是可以慢一点? | ToB产业观察
  • 两国战机均未侵入对方领空,巴方公布对印回击细节
  • 马克思主义理论研究教学名师系列访谈|鲍金:给予学生一碗水、自己就要有一桶水