Day34-Linux网络管理4

news2024/10/3 6:35:32

Day34-Linux网络管理4

  • 1. IP地址分类与子网划分基础
    • 1.1 什么是IP地址
    • 1.2 十进制与二进制的转换
    • 1.3 IP地址的分类
    • 1.4 私网地址和局域网地址
  • 2. 通信类型
  • 3. 子网划分讲解
    • 3.1 为什么要划分子网?
    • 3.2 什么是子网划分?
    • 3.3 子网划分的作用?
    • 3.4 子网划分常见问题
      • 3.4.1 选定的子网掩码将创建多少个子网?
      • 3.4.2 每个子网可包含多少台主机?
      • 3.4.3 有哪些合法的子网?
      • 3.4.4 每个子网的广播地址是什么?
      • 3.4.5 每个子网可包含哪些主机地址?
  • 4. 虚拟局域网 VLAN
  • 5. Linux网络管理实践
    • 5.1 物理层及数据链路层
      • 5.1.1 查看网卡工作状态
      • 5.1.2 查看网络接口的协商状态
      • 5.1.3 更改网络接口的工作模式
      • 5.1.4 恢复网卡适应的工作状态
    • 5.2 查询及设置网卡参数ethtool
    • 5.3 什么是arp欺骗?如果解决arp欺骗。
  • 6. 网络层
    • 6.1 网络配置
    • 6.2 systemd-analyze
    • 6.3 网卡配置

使用wireshark查看tcp3次握手及四次断开细节实践。
wireshark抓包新手使用教程
链接: https://www.cnblogs.com/mq0036/p/11187138.html

1. IP地址分类与子网划分基础

1.1 什么是IP地址

  • 32位二进制数字序列组成的数字序列
  • 采用点将32位数字进行分割为4段,每段8位的二进制数,但二进制数不便于记忆,因此转换为10进制数显示,即点分十进制

在一个网络范围内,唯一标识一台主机。

1.2 十进制与二进制的转换

在这里插入图片描述
在这里插入图片描述

1.3 IP地址的分类

简单的说,IP地址分5类,常见的地址是A、B、C类
A 1.0.0.0 到 126.0.0.0 (0.0.0.0 和127.0.0.0保留)
B 128.1.0.0 到 191.254.0.0 (128.0.0.0和191.255.0.0保留)
C 192.0.1.0 到 223.255.254.0 (192.0.0.0和223.255.255.0保留)
D 224.0.0.0 到 239.255.255.255 用于多点广播
E 240.0.0.0 到 255.255.255.254 保留(255.255.255.255用于广播)

注意:
1)ABC三类分配给互联网用户所使用
2)D类型做为组播使用(keepalived,heartbeat多播)

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

3)E类型作为科学研究使用,进行保留

特殊地址:
127.0.0.1 —表示回环地址,进行测试使用,验证本地的TCP协议簇安装的是否正确
0.0.0.0 —主机位全为0的称为是网络地址
255.255.255.255 —主机位全为1的称为是广播地址,即向所有人发出信息

1.4 私网地址和局域网地址

在一个企业内部可以复用,局域网地址不能进入公网,路由器不转发。
数据包出网的时候路由器会用SNAT改变局域网的地址为路由器的公网地址。
数据包回来的时候路由器会用DNAT把路由器的公网地址改变局域网的地址。

NAT:
私网地址:下面的网络地址段就是分配给专用网络地址使用的。
10.0.0.0/8 (10.0.0.0到10.255.255.255)
172.16.0.0/12 (172.16.0.0到172.31.255.255)
192.168.0.0/16 (192.168.0.0到192.168.255.255) ###192.168.0.0/16
169.254.0.0/16 (169.254.0.0到169.254.255.255)*
其他地址:用于IDC机房,办公室场景中ISP给我们分配的外网地址。

说明:
划分私网ip地址的作用主要是避免地址的枯竭,对于一般不同局域网环境中,地址实际是可以重复使用的,不必要仍保持唯一性
就类似于人的身份证和护照的关系一样
默认私网地址只在本局域网中有效识别,但一旦出局域网到达公网,就没有任何意思了
因此未解决这种问题,就出现了一个技术NAT(SNAT和DNAT),即地址的映射技术

2. 通信类型

单播(点到点) 就是点到点的通讯,例如A-B的通信方式
组播(需要配地址)也是一对多的方式,但是可以根据需要进行接收,如果不想接收可以进行过滤掉
广播(广播域) 在一定的范围内,所有成员都会收到的信息,称为广播信息,并且每个成员都要收取,都要进行处理。

#heartbeat

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

#KeepAlived
MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供服务,从而实现高可用。

3. 子网划分讲解

3.1 为什么要划分子网?

  1. 会出现大量的局域网地址,同时向一个网关发送请求,引起网关设备的负载过高
  2. 会引起局域网内的大量广播数据传送,形成广播风暴
  3. 而且会非常的浪费地址空间,有可能只有两台主机或者一台,就分配一个C类地址

3.2 什么是子网划分?

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

3.3 子网划分的作用?

1.将一个大的广播域划分成几个小的广播域环境
2. 减少网关设备所承载的负载量
3. 有效的避免ip地址的浪费,使一个大的地址空间更加弹性和更加灵活的进行分配

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

链接: https://blog.csdn.net/dyyay521/article/details/94381876
链接: https://www.cnblogs.com/simon4you/p/11159102.html

3.4 子网划分常见问题

3.4.1 选定的子网掩码将创建多少个子网?

2^x个,其中x是子网掩码借用的主机位数。如:192.168.10.32/28,我们知道C类ip的默认子网掩码为:255.255.255.0,而由上文的CIDR知识,我们了解到这个ip的实际子网掩码是:255.255.255.240。原本最后一个字节应该是0(00000000),现在却是240(11110000)。故其借用了主机位4位来充当网络位。

3.4.2 每个子网可包含多少台主机?

2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址。

3.4.3 有哪些合法的子网?

算出子网的步长(增量)。一个例子是256-192 =64,
即子网掩码为192时,步长为64。从0开始不断增加剧,直到到达子网掩码值,中间的结果就是子网,即0、64、128和192,

3.4.4 每个子网的广播地址是什么?

主机位全为1就是该子网的广播地址。一般我们这样计算:广播地址总是下一个子网前面的数.前面确定了子网为0、64、128和192,例如,子网0的广播地址为63,因为下一个子网为64;子网64的广播地址为127,因为下一个子网为128,以此类推。请记住,最后一个子网的广播地址总是255

3.4.5 每个子网可包含哪些主机地址?

合法的主机地址位于两个子网之间,但全为0和全为1的地址除外。例如,如果子网号(网段号)为64,而广播地址为127,则合法的主机地址范围为65-126,即子网地址和广播地址之间的数字。

4. 虚拟局域网 VLAN

VLAN原理
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组

这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网

优点
(1)更有效地共享网络资源。如果用交换机构成较大的局域网,大量的广播报文就会使网络性能下降。
VLAN能将广播报文限制在本VLAN范围内,从而提升了网络的效能
(2)简化网络管理。当结点物理位置发生变化时,如跨越多个局域网,通过逻辑上配置VLAN即可形成网络设备的逻辑组,
无需重新布线和改变IP地址等。这些逻辑组可以跨越一个或多个二层交换机
(3)提高网络的数据安全性。一个VLAN中的结点接收不到另一个VLAN中其他结点的帧

虚拟局域网的实现技术
(1)基于端口的VLAN
(2)基于MAC地址的VLAN
(3)基于协议的VLAN
(4)基于网络地址的VLAN

5. Linux网络管理实践

5.1 物理层及数据链路层

(1)网卡检测命令mii-tool
mii-tool #是用于查看管理物理的网络接口的状态,还可以配置网卡需要的协商方式。

[root@oldboy ~]# mii-tool 
No interface specified
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [-p addr] <interface ...>
       -V, --version               display version information
       -v, --verbose               more verbose output
       -R, --reset                 reset MII to poweron state
       -r, --restart               restart autonegotiation
       -w, --watch                 monitor for link status changes
       -l, --log                   with -w, write events to syslog
       -A, --advertise=media,...   advertise only specified media
       -F, --force=media           force specified media technology
       -p, --phy=addr              set PHY (MII address) to report
media: 1000baseTx-HD, 1000baseTx-FD,
       100baseT4, 100baseTx-FD, 100baseTx-HD,
       10baseT-FD, 10baseT-HD,
       (to advertise both HD and FD) 1000baseTx, 100baseTx, 10baseT

5.1.1 查看网卡工作状态

mill-tool 【网卡名】 #查看物理网卡连接状态

-V 显示版本信息;
-v 显示网络接口的信息;
-R 重设MII到开启状态;
-r 重启自动协商模式;
-w 查看网络接口连接的状态变化;
-l 写入事件到系统日志;
-A 指令特定的网络接口;
-F 更改网络接口协商方式;

5.1.2 查看网络接口的协商状态

#mii-tool -v eth0

[root@oldboy ~]# mii-tool  eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

[root@oldboy ~]# mii-tool  -v eth0
eth0: negotiated 1000baseT-FD flow-control, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.3 更改网络接口的工作模式

-F选项后面接1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD等参数
#mii-tool -F media [interface]
例:置网卡工作在100M半双工模式

[root@oldboy ~]# mii-tool -F 100baseTx-HD eth0
[root@oldboy ~]# mii-tool  -v eth0
eth0: 1000 Mbit, half duplex, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   100 Mbit, half duplex ############
  basic status: link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.4 恢复网卡适应的工作状态

用-r选项:

#mii-tool -r eth0

5.2 查询及设置网卡参数ethtool

ethtool是用于查询及设置网卡参数的命令。
概要:

ethtool eth0       //查询eth0网口基本设置
ethtool –h         //显示ethtool的命令帮助(help)
ethtool –i eth0    //查询eth0网口的相关信息 
ethtool –d eth0    //查询eth0网口注册性信息
ethtool –r eth0    //重置eth0网口到自适应模式
ethtool –S eth0    //查询eth0网口收发包统计
ethtool –s eth0 [speed 10|100|1000]\         //设置网口速率10/100/1000M
[duplex half|full]\           //设置网口半/全双工
[autoneg on|off]\            //设置网口是否自协商
[port tp|aui|bnc|mii]\         //设置网口类型

举例:

1[root@oldboy ~]# ethtool eth1
2[root@oldboy ~]# ethtool -i eth1
3[root@oldboy ~]# ethtool -S eth1
4[root@oldboy ~]# ethtool -s eth1 autoneg off speed 100 duplex full

怎样使ethtool设置永久保存在网络设备中?
方法一:
ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-eth0文件保存,从而在设备下次启动时激活选项。
例如:

ethtool -s eth0 speed 100 duplex full autoneg off

此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

方法二:
将ethtool设置写入/etc/rc.local中。

(查看MAC地址) #ip命令趋势,尽量用。

[root@oldboy ~]# ip link  #ifconfig
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:a7 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:b1 brd ff:ff:ff:ff:ff:ff

(查看ARP缓存)

[root@oldboy ~]# ip neigh
10.0.0.254 dev eth1 lladdr 00:50:56:e8:46:33 REACHABLE
10.0.0.1 dev eth1 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.254 dev eth0 lladdr 00:50:56:e8:46:33 STALE

[root@oldboy ~]# arp -a
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth1
? (10.0.0.1) at 00:50:56:c0:00:08 [ether] on eth1
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth0

ARP缓存表就长这样!
接口: 192.168.14.251 — 0x12

Internet 地址物理地址类型
192.168.14.1dc-da-80-17-e7-ae动态
192.168.14.310-e7-c6-ec-28-23动态
192.168.14.654-05-db-f4-c5-b7动态
192.168.14.800-e0-99-00-0f-eb动态
192.168.14.900-0c-29-ac-d0-ff动态
192.168.14.1000-d8-61-87-1c-ad动态

维护系统的arp缓存命令arp
arp: 显示所有的表项。

arp  -d address # 删除一个arp表项。
arp  -s address hw_addr: #手工绑定arp地址和IP地址。

意义何在???

5.3 什么是arp欺骗?如果解决arp欺骗。

1)局域网内机器中毒,大量发广播包。说我是10.0.0.100,我的MAC是(05(网关的MAC))
2)局域网机器的ARP表里:

Internet 地址物理地址类型
10.0.0.100dc-da-80-17-e7-ad动态

#dc-da-80-17-e7-ad实际上真实网关的mac地址。
3)后果。PC上不了网了。
arp -s 10.0.0.254 dc-da-80-17-e7-ad: #手工绑定arp地址和IP地址。
解决办法:
PC arp防火墙。
清除中毒的机器,让大家重启电脑。
选项列表

-d     删除一个arp表项
-a     Use alternate BSD style output format (with no fixed columns).
-e     Use default Linux style output format (with fixed columns).
-n     使用数字方式显示
-v     显示执行过程

#查看arp表

[root@oldboy ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
gateway                  ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
gateway                  ether   00:50:56:e8:46:33   C                     eth0

#查看arp表,并且用ip显示而非主机名称:

[root@oldboy ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth0

添加一对IP和MAC地址的绑定:

#arp -s 10.1.1.1 00:11:22:33:44:55:66    #如果网络无法达到,那么会报告错误
ps:正常情况下无法成功,略鸡肋!!

删除一个arp表项:

#arp -d  10.0.0.54  
#arp -i eth1 -d 10.0.0.1  #指定网卡删除;

指定回复的MAC地址:

#arp -i eth0 -Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.

arp知识重点:

  1. arp原理
  2. arp欺骗及解决办法。
  3. 查看arp表

6. 网络层

6.1 网络配置

基本网络配置
将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

  • 主机名
  • IP/netmask
  • 路由:默认网关
  • DNS服务器
    主DNS服务器
    次DNS服务器

1.查看及修改主机名(/etc/hostname 主机名文件):
1)hostname

hostname        ##查看主机名(uname -n)
hostname oldboy ##设置主机名为oldboy,临时生效

2)vim /etc/hostname ##通过编辑配置修改主机名

3)hostnamectl

[root@oldboy ~]# hostnamectl set-hostname oldgirl  ##设置主机名永久生效
[root@oldboy ~]# cat /etc/hostname 
oldgirl

4)nmtui #图形设置主机名,永久生效

  ┌┤ 网络管理器文 ├┐                                
  │                │                                
  │ 请选择选项     │                                
  │                │                                
  │ 编辑连接       │                                
  │ 启用连接       │                                
  │ 设置系统主机名 │    #####                            
  │                │                                
  │ 退出           │                                
  │                │                                
  │         <确定> │                                
  │                │                                
  └────────────────┘      

C6/C7:可以关闭NetworkManager,C8主力。

systemd 入门教程:命令篇
链接: http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

6.2 systemd-analyze

systemd-analyze命令用于查看启动耗时。

#查看启动耗时
$ systemd-analyze                                                                                       

#查看每个服务的启动耗时
$ systemd-analyze blame

#显示瀑布状的启动过程流
$ systemd-analyze critical-chain

#显示指定服务的启动流
$ systemd-analyze critical-chain atd.service

查看linux字符集

[root@www ~]# localectl
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn
	  

linux字符集配置文件

[root@www ~]# cat /etc/locale.conf 
LANG="zh_CN.UTF-8"

配置linux字符集:

vim /etc/profile
export LANG="zh_CN.UTF-8"

查看与修改时区

[root@www ~]# timedatectl
      Local time: Sat 2030-06-22 07:02:58 CST
  Universal time: Fri 2030-06-21 23:02:58 UTC
        RTC time: Fri 2030-06-21 23:02:58
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@www ~]# timedatectl 
list-timezones  set-local-rtc   set-ntp         set-time        set-timezone    status          
[root@www ~]# timedatectl set-timezone Asia/Chongqing

6.3 网卡配置

接口命名方式:
CentOS6以前eth[0,1,2,…]
CentOS7开始ens[33,34,35,…]

#调整ens33为eth0方式

安装系统时:grep菜单内核后:biosdevname=0,net.ifnames=0
安装系统后:修改内核文件,然后重新加载内核文件。

启停网卡设备

ifdown eth0 ##停止网卡设备
ifup eth0   ##启动网卡设备
systemctl restart network  ##重启网络 /etc/init.d/network restart
/etc/init.d/network restart #和service network restart等价 #C6其他服务也是这么起。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文笔记】Language Models are Few-Shot Learners

Language Models are Few-Shot Learners 本部分是 GPT-3 技术报告的第一部分&#xff1a;论文正文、部分附录。 后续还有第二部分&#xff1a;GPT-3 的广泛影响、剩下的附录。 以及第三部分&#xff08;自己感兴趣的&#xff09;&#xff1a;GPT-3 的数据集重叠性研究。 回顾…

算法学习09:堆

算法学习09&#xff1a;堆 文章目录 算法学习09&#xff1a;堆前言一、例题1&#xff1a;堆排序二、例题2&#xff1a;模拟堆总结 前言 提示&#xff1a;以下是本篇文章正文内容&#xff1a; 一、例题1&#xff1a;堆排序 堆排序&#xff1a;输入一个长度为n的整数数列&#x…

面了美团大模型算法工程师,这次侥幸通过了!

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今天我介…

移动端uni-app小程序搜索高亮前端处理,同时可设置相关样式,兼顾性能

在uni-app中我们会遇到搜索高亮显示的需求 如下图&#xff1a; 起初用的是富文本实现 使用replaceAll方法取代搜索字段为一个 标签并设置相应的样式&#xff0c;但是小程序的并没有把 标签渲染出来&#xff0c;所以放弃了&#xff0c;下面原代码&#xff1a; /* 搜索字体变色…

算法(递归)黑盒思想

递归vs搜索vs回溯 递归的时候其实就是在搜索&#xff0c;递归返回的时候其实就是在回溯 常见的二叉树的题目基本都用到了递归&#xff1a; 求二叉树节点个数&#xff08;后序遍历&#xff09; int BinaryTreeSize(BTNode* root) {return root NULL ? 0 : BinaryTreeSize(roo…

HttpURLConnection详解及使用

HttpURLConnection 请求响应流程 设置连接参数的方法 setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCachessetDefaultAllowUserInteractionsetDefaultUseCaches 发送URL请求 建立实际连接之后&#xff0c;就是发送请求&#xff0c;把请求参数传到…

深度学习500问——Chapter02:机器学习基础(5)

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 2.14 贝叶斯分类器 2.14.1 图解极大似然估计 极大似然估计的原理&#xff0c;用一张图片来说明&#xff0c;如下图所示&#xff1a; 例&#xff1a;有两个外形完全相同的箱子&#xff0c;1号箱…

使用Migration升级数据库

使用Migration升级数据库 package com.tiger.room2;import android.content.Context;import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.room.migration.Migration; impo…

Linux系统下使用C++推流多路视频流

先看拉取的视频流效果&#xff1a; 代码如下&#xff1a; 一开始打算使用python写多路视频推流&#xff0c;但在ubuntu系统上搞了好久就是搞不定openh264导致的错误&#xff0c;然后改用c了&#xff0c;代码如下&#xff0c;我这里推了两路视频流&#xff0c;一路是网络摄像头&…

LabVIEW智能Modbus监控系统

LabVIEW智能Modbus监控系统 在自动化和信息化迅速发展下&#xff0c;传统的监控系统已无法满足现代工业对于数据通讯和处理的高效率和高可靠性要求。为了解决这一问题&#xff0c;设计了一套基于LabVIEW的智能Modbus监控系统。该系统利用LabVIEW的图形化编程环境和Modbus协议的…

QT给QLabel设置背景颜色

1.选中label 2.右键点击"改变样式表" 3.填写样式&#xff0c;点击apply,ok 注意 #{QLabel名称}&#xff0c;例如名称是label就是QLabel#label

Java两周半速成之路(第十二天)

一.泛型&#xff08;JDK1.5以后出现的机制&#xff09; 1.泛型由来 为什么会有泛型呢? 通过案例引入 早期的Object类型可以接收任意的对象类型&#xff0c;但是在实际的使用中&#xff0c;会有类型转换的问题。也就存在这隐患&#xff0c;所以Java提供了泛型来解决这个安全问…

【MySQL使用】show processlist 命令详解

show processlist 命令详解 一、命令含义二、命令返回参数三、Command值解释四、State值解释五、参考资料 一、命令含义 对于一个MySQL连接&#xff0c;或者说一个线程&#xff0c;任何时刻都有一个状态&#xff0c;该状态表示了MySQL当前正在做什么。SHOW PROCESSLIST 命令的…

浏览器与Node.js事件循环:异同点及工作原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

2024年目标检测研究进展

YOLOv9 图片来源网络 YOLO相关的研究&#xff1a;https://blog.csdn.net/yunxinan/article/details/103431338

【蓝桥杯-单片机】LED和按键小练习:Led彩灯控制系统

文章目录 【蓝桥杯-单片机】LED和按键小练习&#xff1a;Led彩灯控制系统01 题目描述02 题目解答03 本题总结整体逻辑框架&#xff08;详细版&#xff09;整体逻辑框架&#xff08;缩略版&#xff09;按键读取模块按键消抖模块流水灯显示模式&#xff08;1&#xff09;从上向下…

基于Java的高校实验室管理系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…

【Python】成功解决ModuleNotFoundError: No module named ‘matplotlib‘

【Python】成功解决ModuleNotFoundError: No module named ‘matplotlib’ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448…

Pygame教程07:键盘常量+键盘事件的2种捕捉方式

------------★Pygame系列教程★------------ Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;draw方法绘制矩形、多边形、圆、椭圆、弧…

数学建模-动态规划(美赛运用)

动态规划模型的要素是对问题解决的抽象&#xff0c;其可分为&#xff1a; 阶段。指对问题进行解决的自然划分。例如&#xff1a;在最短线路问题中&#xff0c;每进行走一步的决策就是一个阶段。 状态。指一个阶段开始时的自然状况。例如&#xff1a;在最短线路问题中&#xff…