Linux网络配置与抓包工具介绍

news2024/11/24 18:40:23

目录

一、配置命令

1. ifconfig

1.1 概述信息解析

1.2 常用格式 

2. ip

2.1 ip link 数据链路层

2.2 ip addr 网络层

2.3 路由

3. hostname

3.1 临时修改主机名

3.2 永久修改主机名

4. route

5. netstat

6. ss

7. ping

8. traceroute

9. nslookup

10. 永久修改网络相关配置

11. 双网卡配置

12. bond 网卡绑定

12.1 概述

12.2 案例环境:mod=1,主备模式:可以解决单点故障

12.2.1 创建bonding设备的配置文件

12.2.2 修改从设备配置文件 

12.2.3 查看目前bonding的状态 

12.2.4 断开网络适配器1连接,重新查看bonding的状态  

12.2.5 重新开启网络适配器1,查看bonding的状态

12.2.6 删除bond0

二、tcpdump 抓包工具 

1. 概述

2. 参数说明

3. 示例 

4. 抓包文件导出


一、配置命令

1. ifconfig

1.1 概述信息解析

查看网卡配置详情信息,在不带任何选项和参数执行ifconfig命令时,将显示当前主机中已启用(活动)的网络接口信息。

[root@localhost ~]# ifconfig
#“ens33”中的“en”是“EtherNet”的缩写,表示网卡以太网(局域网中的一种)                                                                                          互联网类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          该接口已启用,支持广播、正在运行 支持组播  最大传输单元1500字节
        inet 192.168.190.100  netmask 255.255.255.0  broadcast 192.168.190.255
           IP地址                    子网掩码                广播地址
        inet6 fe80::e743:cb44:9825:6230  prefixlen 64  scopeid 0x20<link>
        IPV6地址                            子网长度    作用域 link表示仅该接口有效
        ether 00:0c:29:e1:cb:86  txqueuelen 1000  (Ethernet)
        mac地址             传输队列长度(传输缓存大小)  接口类型
        RX packets 963  bytes 73900 (72.1 KiB)
        接收      报文个数    总和字节数 
        RX errors 0  dropped 0  overruns 0  frame 0
        接收 错误       丢弃        溢出     冲突帧数
        TX packets 334  bytes 37113 (36.2 KiB)
        发送     报文个数     总字节数
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            错误       丢失        溢出       载荷数      冲突数
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
回环测试、本地主机名解析和网络服务的访问权限控制等功能
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
虚拟的网络连接端口

1.2 常用格式 

  • ifconfig 具体网卡名称:只显示具体网卡的详细信息(无论该网卡是否使用)
  • ifconfig -a:表示显示所有网卡包括没有启动的网卡
  • ifconfig 网卡名称 [up|down]:表示开启或关闭网卡,也可以写成if up/down 网卡名称
  • ifconfig ens33:0 地址:表示设置虚拟网卡 
[root@localhost ~]# ifconfig ens33 down  或者 ip link set ens33 down
#关闭网卡
[root@localhost ~]# ifconfig ens33 up    或者 ip link set ens33 up
#开启网卡
[root@localhost ~]# ifconfig ens33:0 192.168.190.200 | ifconfig ens33:0
#设置临时虚拟网卡
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.190.200  netmask 255.255.255.0  broadcast 192.168.190.255
        ether 00:0c:29:e1:cb:86  txqueuelen 1000  (Ethernet)
[root@localhost ~]#ifconfig ens33:0 down
#关闭虚拟网卡
[root@localhost ~]# ifconfig -a
#查看所有网卡包括未开启的
[root@localhost ~]# ifconfig -s
#查看络通讯情况,跟ifconfig显示信息相似,一个横着一个竖着
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33     1500     1844      0      0 0           615      0      0      0 BMRU
ens33:0   1500      - no statistics available -                        BMRU
lo       65536       80      0      0 0            80      0      0      0 LRU
virbr0    1500        0      0      0 0             0      0      0      0 BMU

2. ip

2.1 ip link 数据链路层

[root@localhost ~]# ip link
#可以看到网卡状态

相关功能(临时):

  • ip link set ens33 down/up:关闭网卡/开启网卡
  • ip link set ens33 newname:修改网卡名,需要先关闭网卡

2.2 ip addr 网络层

[root@localhost ~]# ip addr
#可以写成ip a,更高端的查看网卡信息
[root@localhost ~]# ip address add 172.19.8.211/16 dev ens33
#添加新的虚拟ip地址
[root@localhost ~]# ip address add 10.0.0.88/24 dev ens33    #临时添加IP
[root@localhost ~]# ip address del 10.0.0.8/24 dev ens33

2.3 路由

[root@localhost ~]# ip route 
#查找默认网关ip地址
default via 192.168.190.2 dev ens33 proto static metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
192.168.190.0/24 dev ens33 proto kernel scope link src 192.168.190.100 metric 100

3. hostname

查看或设置当前主机名

3.1 临时修改主机名

hostname [主机名],临时修改。

3.2 永久修改主机名

通过修改/etc/hostname文件来修改主机名

[root@localhost ~]# vim /etc/hostname
localhost.localdomain    #修改第一行有效
~

通过hostnamectl来修改主机名  

[root@localhost ~]# hostnamectl set-hostname newname

4. route

查看或设置主机中路由表信息

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.190.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.190.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
#将路由记录中的地址信息显示为数字形式

路由表主要构成:

  • Destination:目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
  • Gateway:到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
  • Genmask:目标网络对应的netmask
  • Metric:开销cost,值越小(经过的路由器少),路由记录的优先级最高 
  • Iface:到达对应网络,应该从当前主机哪个网卡发送出来 

相关功能:

route -n:显示路由表,-n以数字形式显示路由表

route add -net 10.0.0.0/8 gw 192.168.190.2:添加一条去往10.0.0.0段的路由,通过网关192.168.190.2 转发

route del -net 10.0.0.0/8 gw 192.168.190.2:删除去往10.0.0.0段的路由

route add -net 0.0.0.0(default) gw 192.168.190.2:添加默认路由

route del -net 0.0.0.0(default) gw 192.168.190.2:删除默认路由

临时添加路由示例: 

[root@localhost ~]# route add -net 10.0.0.0/8 gw 192.168.190.2  
#临时添加一条去往10.0.0.0网段的路由器,通过192.168.190.2转发
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.190.2   0.0.0.0         UG    100    0        0 ens33
0.0.0.0         192.168.190.2   0.0.0.0         UG    101    0        0 ens36
10.0.0.0        192.168.190.2   255.0.0.0       UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.190.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.190.0   0.0.0.0         255.255.255.0   U     101    0        0 ens36

永久添加路由: 

[root@localhost ~]# vim /etc/sysconfig/network-scripts/route-ens33
10.0.0.0/24 via 192.168.190.100
[root@localhost ~]# systemctl restart network

5. netstat

查看网络连接情况

  • -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
  • -n:以数字的形式显示相关的主机地址、端口等信息 
  • -r:显示路由表信息
  • -l:显示处于监听(Listening)状态的网络连接及端口信息 
  • -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 
  • -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
  • -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -ntap | grep 80
tcp        0      0 192.168.190.100:34062   39.155.141.16:80        TIME_WAIT   -                   
tcp        1      1 192.168.190.100:52916   35.180.43.213:80        LAST_ACK    -                   
tcp        0      0 192.168.190.100:34066   39.155.141.16:80        TIME_WAIT   -                   
tcp        0      0 192.168.190.100:34844   202.38.97.230:80        TIME_WAIT   -                   
tcp        0      0 192.168.190.100:22      192.168.190.1:8071      ESTABLISHED 3557/sshd: root@pts 
tcp6       0      0 :::80                   :::*                    LISTEN      38702/httpd

6. ss

也可以查看网络连接情况,主要用于获取socket统计信息,它可以显示和netstat命令类似的输出内容。但ss的优势(更靠近内核)在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

选项:

  • -t:tcp协议相关
  • -u:udp协议相关
  • -w:裸套接字相关
  • -x:unix sock相关
  • -l:listen状态的连接
  • -a:所有
  • -n:数字格式
  • -p:相关的程序及PID
  • -e:扩展的信息
  • -m:内存用量
  • -o:计时器信息
  • -r: --resolve 把IP解释为域名,把端口号解释为协议名称。 dns服务
[root@localhost ~]# ss -natp | grep 80
LISTEN     0      128         :::80                      :::*                   users:(("httpd",pid=1850,fd=4),("httpd",pid=1849,fd=4),("httpd",pid=1848,fd=4),("httpd",pid=1847,fd=4),("httpd",pid=1846,fd=4),("httpd",pid=1844,fd=4))

7. ping

测试网络连通性,ping [选项] 目标主机;-c选项是发送多少个包,-w表示等待10秒。

8. traceroute

路由追踪,traceroute IP地址。

[root@localhost ~]# traceroute 192.168.190.101
traceroute to 192.168.190.101 (192.168.190.101), 30 hops max, 60 byte packets
 1  192.168.190.101 (192.168.190.101)  3.411 ms !X  3.252 ms !X  3.206 ms !X

9. nslookup

域名解析,验证dns服务器是否可以解析域名;dns域名解析的作用是:将域名翻译成ip地址。同时其他命令也可以查看,比如:dig,host,ping等。

[root@localhost ~]# nslookup www.baidu.com
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 180.101.50.242
Name:	www.a.shifen.com
Address: 180.101.50.188

10. 永久修改网络相关配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet              #网卡的类型 网口
BOOTPROTO=static           #ip地址获取方式 dhcp static (none)
NAME=ens33                 #网卡的描述一般和 DEVICE一样
DEVICE=ens33               #网卡的名称,必须和 ifconfig 中看到的一样
ONBOOT=yes                 #开机自启动
IPADDR=192.168.190.100     #ip地址
NETMASK=255.255.255.0      #子网掩码,PREFIX=24
GATEWAY=192.168.190.2      #网关
DNS1=114.114.114.114       #dns服务器1
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.50.188) 56(84) bytes of data.
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=1 ttl=128 time=2.17 ms

11. 双网卡配置

可手动添加网络适配器,参考ens33网卡配置,适当修改

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.190.136
NETMASK=255.255.255.0
GATEWAY=192.168.190.2
DNS1=114.114.114.114
[root@localhost network-scripts]# systemctl restart network

12. bond 网卡绑定

12.1 概述

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。

12.2 案例环境:mod=1,主备模式:可以解决单点故障

12.2.1 创建bonding设备的配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-bond0
[root@localhost network-scripts]# vim ifcfg-bond0
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.190.200
NETMASK=255.255.255.0
GATEWAY=192.168.190.2
DNS1=114.114.114.114
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
            主备模式 每100ms检测一次 使用活着的mac地址
12.2.2 修改从设备配置文件 
[root@localhost network-scripts]# vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0    #主人
SLAVE=yes

[root@localhost network-scripts]# vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none  #静态
MASTER=bond0
SLAVE=yes
PNBOOT=yes

[root@localhost network-scripts]# systemctl restart network
12.2.3 查看目前bonding的状态 

12.2.4 断开网络适配器1连接,重新查看bonding的状态  

12.2.5 重新开启网络适配器1,查看bonding的状态

12.2.6 删除bond0
[root@localhost ~]# ifconfig bond0 dow
或者rmmod bonding

二、tcpdump 抓包工具 

1. 概述

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。

[root@localhost ~]# tcpdump -D   #列出当前所有网卡
1.virbr0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.usbmon1 (USB bus number 1)
5.usbmon2 (USB bus number 2)
6.ens33
7.any (Pseudo-device that captures on all interfaces)
8.lo [Loopback]
[root@localhost ~]# tcpdump      #默认抓第一块网卡数据,虚拟网卡没有流量
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on virbr0, link-type EN10MB (Ethernet), capture size 262144 bytes
[root@localhost ~]# tcpdump -i ens33     #指定网卡抓包
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:15:51.137151 IP localhost.localdomain.ssh > 192.168.190.1.8018: Flags [P.], seq 3160869659:3160869847, ack 1773325442, win 261, length 188
21:15:51.137618 IP 192.168.190.1.8018 > localhost.localdomain.ssh: Flags [.], ack 188, win 4095, length 0
21:15:51.138171 IP localhost.localdomain.40820 > public1.114dns.com.domain: 48951+ PTR? 1.190.168.192.in-addr.arpa. (44)
^C^C

2. 参数说明

  • -a:尝试将网络和广播地址转换成名称。
  • -c:<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
  • -d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
  • -dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
  • -ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
  • -e:在每列倾倒资料上显示连接层级的文件头。
  • -f:用数字显示网际网络地址。
  • -F:<表达文件> 指定内含表达方式的文件。
  • -i:<网络接口> 使用指定的网络截面送出数据包。
  • -l:使用标准输出列的缓冲区。
  • -n:不把主机的网络地址转换成名字。
  • -N:不列出域名。
  • -O:不将数据包编码最佳化。
  • -p:不让网络界面进入混杂模式。
  • -q:快速输出,仅列出少数的传输协议信息。
  • -r:<数据包文件> 从指定的文件读取数据包数据。
  • -s:<数据包大小> 设置每个数据包的大小。
  • -S:用绝对而非相对数值列出TCP关联数。
  • -t:在每列倾倒资料上不显示时间戳记。
  • -tt:在每列倾倒资料上显示未经格式化的时间戳记。
  • -T:<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
  • -v:详细显示指令执行过程。
  • -vv:更详细显示指令执行过程。
  • -x:用十六进制字码列出数据包资料。
  • -w:<数据包文件> 把数据包数据写入指定的文件。 

3. 示例 

-nn示例:直接显示IP和端口号

[root@localhost ~]# tcpdump -i ens33 -nn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:22:03.841588 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 3161280743:3161280931, ack 1773326482, win 261, length 188
21:22:03.843031 IP 192.168.190.1.8018 > 192.168.190.100.22: Flags [.], ack 188, win 4096, length 0
21:22:03.843176 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 188:360, ack 1, win 261, length 172
21:22:03.843451 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 360:612, ack 1, win 261, length 252
21:22:03.843611 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 612:760, ack 1, win 261, length 148

tcpdump过滤

root@localhost ~]# tcpdump -i ens33 -nn src host 192.168.190.100
#代表过滤指定主机IP源地址的网络数据包,src 选项 源地址
root@localhost ~]# tcpdump -i ens33 -nn dst host 192.168.190.100
#代表过滤指定主机IP目标地址的网络数据包,dst 选项 目标地址
[root@localhost ~]# tcpdump -i ens33 -nn src host 192.168.190.101 and dst 192.168.190.100
#代表过滤ip100发给101的网络数据
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:32:27.091941 IP 192.168.190.101 > 192.168.190.100: ICMP echo request, id 3475, seq 1, length 64
21:32:28.093234 IP 192.168.190.101 > 192.168.190.100: ICMP echo request, id 3475, seq 2, length 64

[root@localhost ~]# tcpdump -nn -i ens33 icmp and src host 192.168.190.101 and dst host 192.168.190.100
#抓取源地址192.168.190.101,目的地址192.168.190.100经过ens33网卡的icmp协议包
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:40:50.617180 IP 192.168.190.101 > 192.168.190.100: ICMP echo request, id 3517, seq 224, length 64
21:40:51.619638 IP 192.168.190.101 > 192.168.190.100: ICMP echo request, id 3517, seq 225, length 64

[root@localhost ~]# tcpdump -nn -i ens33 port 22
#抓取ens33网卡22端口数据
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
21:44:41.672291 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 3163213563:3163213751, ack 1773345178, win 261, length 188
21:44:41.672693 IP 192.168.190.1.8018 > 192.168.190.100.22: Flags [.], ack 188, win 4096, length 0
21:44:41.673026 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 188:464, ack 1, win 261, length 276
21:44:41.673203 IP 192.168.190.100.22 > 192.168.190.1.8018: Flags [P.], seq 464:612, ack 1, win 261, length 148

注:基于协议ip arp icmp tcp udp,不支持抓取应用层七层协议。 

4. 抓包文件导出

[root@localhost data]# tcpdump -i any -w test.cap
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
^C50 packets captured
51 packets received by filter
0 packets dropped by kernel
[root@localhost data]# ls
test.cap
[root@localhost data]# sz test.cap     #选择保存路径

使用Wireshark打开查看图形化界面

读取上述文件test.cap

[root@localhost data]# tcpdump -r test.cap 
reading from file test.cap, link-type LINUX_SLL (Linux cooked)
21:55:03.469404 IP localhost.localdomain.ssh > 192.168.190.1.8018: Flags [P.], seq 3163266231:3163266355, ack 1773347998, win 261, length 124
21:55:03.469918 IP 192.168.190.1.8018 > localhost.localdomain.ssh: Flags [.], ack 124, win 4096, length 0
……

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

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

相关文章

vivado图形化设计篇

一.看懂波形 二.由波形可得真值表 三.可得逻辑表达式 YA(BC) 四. 逻辑框图 五.vivado图形化设计 &#xff08;1&#xff09;创建文件 1.create block desige 2.文件命名&#xff0c;设置文件放置地址 &#xff08;2&#xff09; 添加IP核 1.打开desige&#xff0c;右键&#…

UniRepLKNet实战:使用UniRepLKNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集一些问题 摘要 大核卷积神经网络&#xff08;ConvNets&#xff09;近年来受到广泛关注&#xff0c;但仍存在两个关键问题需要进一步研究。首先&#xff0c;目前的大型卷积神经网络架构大…

如何在企业中实施自适应人工智能?

人工智能不再是企业的选择。很快&#xff0c;它也将不再是一个区分因素。商业中的适应性人工智能正在改变格局。根据最近的统计数据&#xff0c;95%的企业以上都在追求人工智能。 因此&#xff0c;为了确保你拥有竞争优势&#xff0c;你必须期待先进的人工智能选项。适应性就是…

CH341 SPI方式烧录BK7231U

CH341是一个USB总线的转接芯片&#xff0c;通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。 BK7231U Wi-Fi SOC芯片&#xff0c;内嵌处理器。1. 符合802.11b/g/n 1x1协议 2. 17dBm 输出功率3. 支持20/40 MHz带宽和STBC 4. 支持Wi-Fi STA、AP、…

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SO-LSTM蛇群算法优化…

vivado 工程管理

管理项目 打开项目 当项目打开时&#xff0c;Vivado IDE会从项目已关闭。项目状态包括当前源文件顺序、已禁用和已启用 源文件、活动约束文件和目标约束文件&#xff0c;以及合成、模拟和实现运行。要打开项目&#xff0c;请使用以下方法之一&#xff1a; •在“入门”页面…

使用 STM32 和 DS18B20 温度传感器设计室内温度监测与报警系统

为设计室内温度监测与报警系统&#xff0c;我们将利用STM32微控制器和DS18B20数字温度传感器&#xff0c;以及蜂鸣器实现温度报警功能。在本文中&#xff0c;将介绍如何通过STM32微控制器读取DS18B20传感器的温度数据&#xff0c;并在超出设定范围时触发蜂鸣器报警。 1. 系统概…

QT上位机开发(键盘绘图控制)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 绘图是qt很基础的一个功能。通常&#xff0c;我们进行qt绘图的时候&#xff0c;一般会先创建一个qt view&#xff0c;这个相当于视图。接着创建一个…

使用git submodule解决高耦合度问题

引言 在开发我的笔记系统时&#xff0c;我遇到了一个问题。问题是&#xff0c;在api-gate服务中&#xff0c;我需要验证用户的access_code&#xff0c;但是access_code的生成逻辑是在auth2服务中实现的。这个问题从架构设计的层面上看&#xff0c;就是一个高耦合度问题。高耦合…

Linux文件系统与日志管理

目录 一、inode和block 1、inode表结构 2、 查看inode号码的命令 3、Linux系统文件三个主要时间属性 4、用户通过文件名打开文件时系统内部的过程 5、inode的大小 6、命令与inode 6.1 cp 命令&#xff1a; 6.2 rm 命令&#xff1a; 6.3 mv命令 二、日志 1、功能 2、…

patch-package的使用总结

有时使用了某个第三方库&#xff0c;可是它有些问题&#xff0c;我们不得不修改它的源码。我们可能不方便给原作者提 Pull Request&#xff0c;因为他们可能不愿意接受我们的更改。又或者原作者无法及时发布新版本。我们只有去修改 node_modules 目录下的文件。可是当我们执行 …

计算机组成原理-程序查询方式(流程图 演示过程 例题 定时查询 独占查询)

文章目录 总览IO方式简介程序查询方式程序查询方式流程图程序查询方式-例题小结 总览 IO方式简介 每次输一个字&#xff0c;就认为状态完成&#xff0c;CPU就会取走数据寄存器的内容 程序查询方式 此时模拟打印三个字符 假设此时三个字符在主存&#xff0c;CPU先从主存读一…

朴素贝叶斯(Naive Bayes)

什么是机器学习 朴素贝叶斯&#xff08;Naive Bayes&#xff09;是一组基于贝叶斯定理的分类算法&#xff0c;它基于特征之间的独立性假设&#xff0c;因此被称为“朴素”。尽管这个假设在实际情况中往往不成立&#xff0c;但朴素贝叶斯在实践中表现得相当好&#xff0c;并在文…

cpp_10_多重继承_钻石继承_虚继承

1 多重继承 一个类可以同时从多个基类继承实现代码。 1.1 多重继承的内存布局 子类对象内部包含多个基类子对象。 按照继承表的顺序依次被构造&#xff0c;析构的顺序与构造严格相反。 各个基类子对象按照从低地址到高地址排列。 // miorder.cpp 多重继承&#xff1a;一个子…

电脑找不到d3dcompiler43.dll怎么修复,教你5个可靠的方法

d3dcompiler43.dll是Windows操作系统中的一个重要动态链接库文件&#xff0c;主要负责Direct3D编译器的相关功能。如果“d3dcompiler43.dll丢失”通常会导致游戏无法正常运行或者程序崩溃。为了解决这个问题&#xff0c;我整理了以下五个解决方法&#xff0c;希望能帮助到遇到相…

深度学习算法应用实战 | 利用 CLIP 模型进行“零样本图像分类”

文章目录 1. 零样本图像分类简介1.1 什么是零样本图像分类?1.2 通俗一点的解释 2. 模型原理图3. 环境配置4. 代码实战5. Gradio前端页面5.1 什么是 Gradio ? 6 进阶操作7. 总结 1. 零样本图像分类简介 1.1 什么是零样本图像分类? “零样本图像分类”&#xff08;Zero-shot …

NLP|LSTM+Attention文本分类

目录 一、Attention原理简介 二、LSTMAttention文本分类实战 1、数据读取及预处理 2、文本序列编码 3、LSTM文本分类 三、划重点 少走10年弯路 LSTM是一种特殊的循环神经网络&#xff08;RNN&#xff09;&#xff0c;用于处理序列数据和时间序列数据的建模和预测。而在N…

66、python - 代码仓库介绍

上一节,我们可以用自己手写的算法以及手动搭建的神经网络完成预测了,不知各位同学有没有自己尝试来预测一只猫或者一只狗,看看准确度如何? 本节应一位同学的建议,来介绍下 python 代码仓库的目录结构,以及每一部分是做什么? 我们这个小课的代码实战仓库链接为:cv_lea…

springboot医院信管系统源码和论文

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

【Linux 内核源码分析笔记】系统调用

在Linux内核中&#xff0c;系统调用是用户空间程序与内核之间的接口&#xff0c;它允许用户空间程序请求内核执行特权操作或访问受保护的内核资源。系统调用提供了一种安全可控的方式&#xff0c;使用户程序能够利用内核功能而不直接访问底层硬件。 系统调用&#xff1a; 通过…