云计算 3月14号 (TCP三次握手和四次挥手)

1.TCP三次握手和四次挥手

1.TCP的传输过程:

Seq   序列号   保障传输过程可靠。
ACK   (确认消息)
SYN   (在建立TCP连接的时候使用)
FIN   (在关闭TCP连接的时候使用)

3.TCP建立连接的过程:

三次握手

1.)发送端首先发送一个带有SYN(synchronize)标志地数据包给接收方。
2)接收方接收后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了。
3)最后,发送方再回传一个带有ACK标志的数据包,代表我知道了,表示’握手‘结束。
===================================
通俗的说法
1)Client:嘿,李四,是我,听到了吗?
2)Server:我听到了,你能听到我的吗?
3)Client:好的,我们互相都能听到对方的话,我们的通信可以开始了。

四次挥手

原理:
 1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送。
 2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1
 3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送.
 4)第四次挥手:Client收到FIN后,接着发送一个ACK给Server,确认序号为收到序号+1.
======================
通俗的说法
1)Client:我所有东西都说完了
2)Server:我已经全部听到了,但是等等我,我还没说完
3)Server:好了,我已经说完了
4)Client:好的,那我们的通信结束

2.IP组成
认识IP地址
IP地址是指互联网协议地址,IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。每个ip地址由两部分组成网络地址(NetID)和主机地址(HostID).网络地址表示其属于互联网中的哪一个网络,而主机地址则表示其属于该网络中的哪一台主机.
​
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”,在将2进制转换为十进制。IP地址通常用“点分十进制”表示的形式,其中都是十进制整数。
​
例如:
      192   .    168   .   223   .   3    /24
   11000000   10101000  11011111  00000011

进制转换

一:十进制转换为二进制
        十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。        
(IP地址里面一共是32位,通常被分割为4个“8位二进制数”--将这8位列出来,2^0次方开始算,能用到的数落1不能用到的为0)
​
 
128  64  32  16  8  4  2  1 =255
​
  192     .    168   .   223   .    0     /24
11000000       10101000  11011111  00000000
​
128 64 32 16 8 4 2 1
​
   172    .    0   .    186    .     0     /24
10101100    00000000   10111010    00000000
​
二、二进制转十进制
​
128 64 32 16 8 4 2 1
​
 10.50.4.3
00001010.00110010.00000100.00000011
​
10101100.00000000.10111010.00000000
  172.0.186.0

IP分类

公网ip地址--->合法的IP地址,可以在互联网上访问
===========================
A类:0.0.0.0 - 127.255.255.255/8   0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试回环用的。127.0.0.1,通常被称为本地回环地址。
B类:128.0.0.0 - 191.255.255.255/16
C类:192.0.0.0 - 223.255.255.255/24   目前我们用的ip地址
D类:范围从224-239,D类IP地址目前这一类地址用来一次寻址一组计算机。224.0.0.0-239.255.255.255 组播地址
E类:范围从240-254,为将来使用保留。 
​
全零(“0.0.0.0”)地址对应于当前主机。IP地址(“255.255.255.255”)是当前子网的广播地址。
私有地址

所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址

在A类地址中,10.0.0.0到10.255.255.255是私有地址

在B类地址中,172.16.0.0到172.31.255.255是私有地址。

在C类地址中,192.168.0.0到192.168.255.255是私有地址。

IP地址的组成

子网掩码:用于区分IP地址中的网络部分和主机部分.计算子网掩码:网络位全1,主机位全0
网络部分(网络位):直接决定了可以分配的网络数
主机部分(主机位):则决定了网络中最大的主机数 计算方法:2^主机号位数-2
网络地址:用来表示一个网络。主机位取值全部为0,例如:192.168.1.0/24
广播地址:用于在一个网络内一对所有的通信。主机部分全部换成1。
​
128   64   32    16    8    4   2    1
​
192.168.62.138/24
255.255.255.0  ---子网掩码地址
11000000.10101000.00111110.10001010 (主机位?2^8-2=254)
11000000.10101000.00111110.00000000 网络地址    192.168.62.0/24
11000000.10101000.00111110.11111111 广播地址    192.168.62.255
可用的主机范围从--->192.168.62.1-192.168.62.254
​
192.168.62.138/16-----255.255.0.0
11000000.10101000.00111110.10001010 
11000000.10101000.00000000.00000000 网络地址    192.168.0.0/16
11000000.10101000.11111111.11111111 广播地址    192.168.255.255
可用的主机范围是2^16-2
3.VLSM(可变长子网掩码Variable Length Subnet Mask)

VLSM(可变长子网掩码Variable Length Subnet Mask) 最有效的利用现有地址空间。

子网掩码:用于区分IP地址中的网络部分和主机部分。点分十进制(网络位全部为1)
​
128   64   32    16    8    4   2   1
​
10.1.12.133/24-255.255.255.0
00001010.00000001.00001100.10000101  →0000000-->网络地址是将主机位变为0=10.1.12.0/24
广播地址将主机位10000101→1111111 --->广播地址=10.1.12.255
掩码将网络位全部为1---->255.255.255.0                                          
===========================================================
10.1.12.1/24  ---计算掩码
00001010.00000001.00001100.00000001
11111111.11111111.11111111.00000000=255.255.255.0
=================================================================
子网划分:
a.这个被选用的子网可以产生多少的子网?   2的x次方=?   x表示借的主机位
b.这个子网中又会有多少个合法的主机号?   2的y次方-2=? y表示主机位
c.每个子网的广播地址是什么?           这个子网中最后一个IP地址
​
假如有120台电脑分配地址--主机位?
​
192.168.1.0/24        11000000.10101000.00000001.00000000
​
128 64 32 16 8 4 2 1 
  
例如:计算主机位?2的多少次方-2大于等于120?--2^7次方-2=126
192.162.1.0/25        11000000.10101000.00000001.0    0000000 #1/0两个子网---(0,1)
​
当为0时:192.168.1.0/25 ---网络地址
192.168.1.127---广播
可用主机范围2^7-2=有126个
192.168.1.1-192.168.1.126
​
当为1时:192.168.1.128/25 ---网络地址
192.168.1.255---广播
可用主机范围有126个
192.168.1.129-192.168.1.254
                                          
30台--主机位?2的多少次方-2大于等于30?--2^5-2=30 
11000000.10101000.00000001.000    00000  借走的子网【000、001、010、100、111、110、101、011】
192.168.1.0/27
255.255.255.224 子网掩码
网络位192.168.1.0---192.168.1.31--广播
可用主机范围:192.168.1.1---192.168.1.30
​
11000000.10101000.00000001.001   00000
192.168.1.0/27
网络地址--192.168.1.32----192.168.1.63---广播地址
可用主机范围:192.168.1.33---192.168.1.62
​
128 64 32 16 8 4 2 1
4.虚拟局域网

虚拟局域网

vlan作用:把一个大的局域网隔离成多个虚拟子网。
如果广播数量过大会占用带宽,降低设备的性能,如何解决?
通过二层交换机使用vlan隔离广播,减小广播域范围。
优点:
1.有效控制广播域范围
2.增强局域网的安全性

trunk作用:让不同交换机端口能够传送vlan数据

练习题

1.将下面的十进制转换为二进制
172.14.23.4
192.168.33.45
2.将二进制转换为十进制
00001010.00000001.00000001.00010100
11000000.10101000.00010100.01010100

Linux网络管理
天行健,君子以自强不息。地势坤,君子以厚德载物。
1.网络管理概念
网络接口和名称 :网卡
ip地址
网关
主机名称
路由
2.管理工具
net-tools:     #安装包
ifconfig  netstat  准备要废掉了。
​
iproute:    #安装包
ip  #提供ip命令
3.认识网卡
lo网卡 :本地回环网卡,本机上的服务自己访问自己时用的
#网卡里面信息
ip 地址
子网掩码
广播地址
mac地址

查看网卡

[root@linux-server ~]# ip a   #方式一
[root@linux-server ~]# ifconfig  #方式二

临时设置ip

方式如下

[root@linux-server ~]# ip a a 192.168.246.161/24 dev ens33

删除设置的临时ip

[root@linux-server ~]# ip a d 192.168.246.161/24 dev ens33
​
add------添加
del------删除

启动关闭网卡

启动:
#ifconfig 网卡名  up  #方式一
#ifup  网卡名  #方式二
关闭网卡            
# ifconfig 网卡名 down  #方式一
# ifdown 网卡名   #方式二
4.网关
网关:网络的关卡:是为了访问其他网络。
静态路由和动态路由

路由器在转发数据时,需要先在路由表中查找相应的路由,有三种途径

(1)直连路由:路由器自动添加和自己直连的路由

(2)静态路由:管理员手动添加的路由

(3)动态路由:由路由协议动态建立的路由

静态路由

缺点 不能动态的反映网络拓扑,当网络发生变化的时候,管理员必须手动的改变路由

优点 不会占用路由器太多的cpu和RAM资源,也不会占用太多带宽。

默认路由

(1) 实际上默认路由是一种特殊的静态路由,指的是当 路由表中与包的目的地址之间没有匹配的表项时,路由器能够做出选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。

(2)默认路由(Default route),如果IP数据包中的目的地址找不到存在的其它路由时,路由器会默认的选择的路由。

默认路由为0.0.0.0

动态路由

动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。

Linux路由操作
查看路由表:
[root@linux-server ~]# ip r #r:route。查看路由和网关
default via 192.168.246.2 dev ens33 proto static metric 100 
192.168.246.0/24 dev ens33 proto kernel scope link src 192.168.246.160 metric 100
​
#via:通过的意思,相当于下一跳

添加静态路由删除静态路由

[root@linux-server ~]# ip r add 192.168.223.0/24 via 192.168.246.2  #添加路由
[root@linux-server ~]# ip r del 192.168.223.0/24 #删除路由
#via  表示通过的意思,下一跳
5.设置永久静态ip
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/  #网卡配置文件存放路径
[root@linux-server network-scripts]# cp ifcfg-ens33 ifcfg-ens33.bak #将源文件备份
[root@linux-server network-scripts]# vi ifcfg-ens33 #编辑网卡配置文件
TYPE="Ethernet"         #网络类型:以太网类型
PROXY_METHOD="none"   
BROWSER_ONLY="no"
BOOTPROTO="static"    #默认值none或static 这两种属于静态获取ip地址,dhcp自动获取ip
IPADDR=192.168.246.134 #设置静态ip地址
GATEWAY=192.168.246.2 #设置网关,nat模式网关是2,桥接为1.
NETMASK=255.255.255.0  #设置掩码或者
#PREFIX=24
DEFROUTE="yes"  #是否设置默认路由,yes表示该配置
NAME="ens33"    #网卡名称,可以不存在
DEVICE="ens33"   #设备名称
ONBOOT="yes"    #开机启动
DNS1=114.114.114.114 #dns全国通用地址,dns最多可以设置三个
DNS2=8.8.8.8 #谷歌的dns
DNS3=202.106.0.20 #北京的DNS。
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/  #网卡配置文件存放路径
[root@linux-server network-scripts]# cp ifcfg-ens33 ifcfg-ens33.bak #将源文件备份
[root@linux-server network-scripts]# vi ifcfg-ens33 #编辑网卡配置文件
TYPE="Ethernet"         #网络类型:以太网类型
PROXY_METHOD="none"   
BROWSER_ONLY="no"
BOOTPROTO="static"    #默认值none或static 这两种属于静态获取ip地址,dhcp自动获取ip
IPADDR=192.168.246.134 #设置静态ip地址
GATEWAY=192.168.246.2 #设置网关,nat模式网关是2,桥接为1.
NETMASK=255.255.255.0  #设置掩码或者
#PREFIX=24
DEFROUTE="yes"  #是否设置默认路由,yes表示该配置
NAME="ens33"    #网卡名称,可以不存在
DEVICE="ens33"   #设备名称
ONBOOT="yes"    #开机启动
DNS1=114.114.114.114 #dns全国通用地址,dns最多可以设置三个
DNS2=8.8.8.8 #谷歌的dns
DNS3=202.106.0.20 #北京的DNS。

重启网络---修改完配置文件一定要重启网络
# systemctl restart network   #rhel7
# /etc/init.d/network restart  红帽5、6里面的。
重启网络---修改完配置文件一定要重启网络
# systemctl restart network   #rhel7
# /etc/init.d/network restart  红帽5、6里面的。

编辑DNS配置文件设置DNS

[root@linux-server ~]# vi /etc/resolv.conf   #添加如下内容
nameserver 114.114.114.114    #指定dns地址

设置动态ip

[root@linux-server ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"   #只需要将这里修改为dhcp。
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
​
重启网络
[root@linux-server ~]# systemctl restart network

6.查看mac地址
[root@soso666 ~]# ifconfig
arp协议:地址解析协议。
​
查看某个IP的MAC地址
[root@soso666 ~]# arping -I ens33 192.168.246.135  #要查看的ip地址
-I:指定使用那快网卡ping
7.开启路由转发
临时设置
[root@linux-server ~]# echo 1 > /proc/sys/net/ipv4/ip_forward #默认是零,没有开路由。1表示开启
永久设置 
# vim  /etc/sysctl.conf---添加如下内容
net.ipv4.ip_forward = 1
# sysctl  -p    #立即生效
8.修改主机名
方式一
[root@linux-server ~]# hostname #查看主机名
[root@linux-server ~]# hostnamectl set-hostname linux-server  #主机名
方式二
[root@linux-server ~]# vi /etc/hostname   ---编辑配置文件
soso666
[root@linux-server ~]# reboot 
[root@soso666 ~]#
9.配置本地解析
写法:ip   主机名
[root@soso666 ~]# vi /etc/hosts    ---添加如下内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.130 soso666 soso   #添加解析

10.修改网卡

将CentOS7修改网卡为eth0

1.修改网卡配置文件
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/
[root@linux-server network-scripts]# mv ifcfg-ens33 ifcfg-eth0  #改名
[root@linux-server network-scripts]# vim ifcfg-eth0  #只需要修改配置文件中的名称
NAME="eth0"
DEVICE="eth0"
2.GRUB添加kernel参数
[root@linux-server ~]# vim /etc/sysconfig/grub   #在文件中最后一行添加
GRUB_CMDLINE_LINUX="...... net.ifnames=0" #告诉系统关闭原来命名功能
3.执行命令生效---#加载配置文件
[root@linux-server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
4.重启机器
1.修改网卡配置文件
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/
[root@linux-server network-scripts]# mv ifcfg-ens33 ifcfg-eth0  #改名
[root@linux-server network-scripts]# vim ifcfg-eth0  #只需要修改配置文件中的名称
NAME="eth0"
DEVICE="eth0"
2.GRUB添加kernel参数
[root@linux-server ~]# vim /etc/sysconfig/grub   #在文件中最后一行添加
GRUB_CMDLINE_LINUX="...... net.ifnames=0" #告诉系统关闭原来命名功能
3.执行命令生效---#加载配置文件
[root@linux-server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
4.重启机器
 # reboot
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/
 

tcpdump抓包
大鹏一日同风起,扶摇直上九万里。

tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump的使用能够帮助我们分析、调试网络数据。

在实际工作中,需要以root权限去执行该命令。

一、常用命令选项

-i #指定监听网络接口
-nn #进行ip和端口名称的转换,一个n不要ip解析到域名,将协议转换为端口
-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕
-r #从指定的文件中读取数据,一般是-w保存的文件
-v #输出稍微详细的信息
-vv#输出详细的报文信息

二、安装tcpdump工具

[root@tcpdump-server ~]# yum install -y tcpdump

实验环境

1.准备两台机器
192.168.80.128 ----tcpdump-server
192.168.80.129 ----test-server
2.两台机器均关闭防火墙和selinux

六个标记

SYN(synchronous建立联机) 
ACK(acknowledgement 确认) 用.表示
PSH(push传送)
FIN(finish结束) 
RST(reset重置) 
URG(urgent紧急)
==========
Sequence number(顺序号码)

监听网卡端口为80的应用发出和接收的所有http协议包

[root@tcpdump-server ~]# tcpdump -i ens33  port 80 -vv -nn
[root@test-server ~]# curl http://192.168.80.128   #测试

监视ens33网卡上源地址192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 src 192.168.80.129
[root@test-server ~]# ssh 192.168.80.128 #测试

监视ens33网卡上目的地址是192.168.80.129的所有网络包

[root@tcpdump-server ~]# tcpdump -i ens33 dst 192.168.80.129

两台机器同时操作

[root@tcpdump-server ~]# ip a  #查看自己网卡
#抓来自192.168.80.129这台机器的imcp协议的包
[root@test-server ~]# ping -c 1 192.168.80.128 #ping tcpdump的机器一次
PING 192.168.80.128 (192.168.80.128) 56(84) bytes of data.
64 bytes from 192.168.80.128: icmp_seq=1 ttl=64 time=0.751 ms
​
--- 192.168.80.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.751/0.751/0.751/0.000 ms
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
00:55:58.756161 IP (tos 0x0, ttl 64, id 33221, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.80.129 > 192.168.80.128: ICMP echo request, id 1139, seq 1, length 64
00:55:58.756254 IP (tos 0x0, ttl 64, id 11681, offset 0, flags [none], proto ICMP (1), length 84)
    192.168.80.128 > 192.168.80.129: ICMP echo reply, id 1139, seq 1, length 64
​
echo request :请求包
echo reply:回复包

实验二抓一个tcp的包--全部在文本模式下操作

[root@tcpdump-server ~]# yum install -y epel*
[root@tcpdump-server ~]# yum install -y nginx
[root@tcpdump-server ~]# systemctl start nginx
[root@test-server ~]# curl -I http://192.168.80.128/  #测试访问
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn -w tcp.txt  #抓包tcp--在文本模式下
​
#测试
[root@test-server ~]# curl -I http://192.168.80.128/  --访问
[root@tcpdump-server ~]# ls
anaconda-ks.cfg  tcp.txt   ---抓包生成的文件,不能用vim查看
[root@tcpdump-server ~]# tcpdump -r tcp.txt  #读生成的文件
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn
[root@test-server ~]# curl -I http://192.168.80.128/  --访问,文本模式下

按shift键加pu键可以上翻。pd键可以下翻

=======导入wireshark

1.需要重新抓包一次并保存。

[root@tcpdump-server ~]# rm -rf tcp.txt #将原来的删除

[root@linux-server ~]# curl -I http://192.168.80.120
2.用客户端工具连接tcpdump-server的机器将产生的文件导入wireshark中
[root@tcpdump-server ~]# ls
tcp.txt
[root@tcpdump-server ~]# sz tcp.txt #下载到桌面

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ES解析word内容为空的问题和直接使用Tika解析文档的方案

导言 在上一篇文章最后,我们虽然跑通了ES文件搜索的全部流程,但是仍然出现了1个大的问题:ES7.3实测无法索引docx和doc文档,content有值但是无法解析到附件成为可读的可搜索的内容,附件内容为空(附件中根本…

Microsoft Remote Desktop Mac

Microsoft Remote Desktop是一款功能强大的远程连接工具,允许用户从远程位置连接到另一台计算机,实现跨设备的无缝协作。无论是在不同的设备之间共享文件、应用程序和其他资源,还是远程访问工作站和服务器,Microsoft Remote Deskt…

Unity开发一个FPS游戏之二

在之前的文章中,我介绍了如何开发一个FPS游戏,添加一个第一人称的主角,并设置武器。现在我将继续完善这个游戏,打算添加敌人,实现其智能寻找玩家并进行对抗。完成的效果如下: fps_enemy_demo 下载资源 首先是设计敌人,我们可以在网上找到一些好的免费素材,例如在Unity…

人机交互三原则,网络7层和对应的设备、公钥私钥

人机交互三原则 heo Mandel提出了人机交互的三个黄金原则,它们强调了相似的设计目标,分别是: 简单总结为:控负持面–>空腹吃面 1,用户控制 2,减轻负担 3,保持界面一致 置用户于控制之下&a…

DHCP在企业网的部署及安全防范

学习目标: 1. DHCP能够解决什么问题? 2. DHCP服务器如何部署? 3. 私接设备会带来什么问题以及如何防范? 给DHCP服务器配置地址: 地址池: DHCP有2种分配模式:全局分配和接口分配 DHCP enable

Upload-labs靶场

文件漏洞上传进行复现 环境搭建--->搭建好环境如下: 打开第一关,尝试文件上传漏洞 根据界面提示,选择一个文件(.php文件)进行上传,发现无法上传 根据提示是指使用js对不合法文件进行了检查,…

传输层的UDP协议

1. UDP协议报文格式 1.1 16位端口号 UDP协议报文中,端口号占2个字节,包括 源端口号 和 目的端口号。 1.2 16位UDP长度 UDP报文长度为2个字节 ,即UDP数据报长度为0~65535,也就是64kb。 1.3 16位UDP检验和 数据在网络传输的…

Python图像处理指南:PIL与OpenCV的比较【第135篇—PIL】

Python图像处理指南:PIL与OpenCV的比较 图像处理在计算机视觉和图像识别等领域中扮演着至关重要的角色。Python作为一种功能强大且易于学习的编程语言,提供了多种库供图像处理使用。在本文中,我们将比较两个最流行的Python图像处理库&#x…

基于正点原子潘多拉STM32L496开发板的简易示波器

一、前言 由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。 考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕…

云计算2主从数据库

设置主从数据库的目的是将数据库1和数据库2分别建在两个虚拟机上,并实现数据互通访问 首先准备两个虚拟机,这里示例ip分别为: 192.168.200.10;192.168.200.20 修改主机名,一个是mysql1,一个是mysql2&#x…

【每日一问】手机如何开启USB调试?

一、背景 当电脑跟手机之间需要进行交互的时候,可以考虑使用usb进行连接。那么手机如何开启USB调试呢? 二、操作步骤: 思路: 步骤1:手机开启开发者模式 步骤2:在开发者模式中,开启“USB调试”…

【AAAI 2024】解锁深度表格学习(Deep Tabular Learning)的关键:算术特征交互

近日,阿里云人工智能平台PAI与浙江大学吴健、应豪超老师团队合作论文《Arithmetic Feature Interaction is Necessary for Deep Tabular Learning》正式在国际人工智能顶会AAAI-2024上发表。本项工作聚焦于深度表格学习中的一个核心问题:在处理结构化表格…

html5的css使用display: flex进行div居中的坑!

最近做项目的时候,有个需求,一个高度宽度不确定的Div在另一个Div内上下左右居中。 然后以前上下居中用的都是很繁琐的,就打算去百度搜索一个更优秀的方法。 百度AI自己给我一个例子: /* div在容器里居中显示,设置外容…

单片机学到什么程度才可以去工作?

单片机学到什么程度才可以去工作? 如果没有名校或学位的加持,你还得再努力一把,才能从激烈的竞争中胜出。以下这些技能可以给你加分,你看情况学,不同行业对这些组件会有取舍: . Cortex-M内核:理解MCU内核各部件的工作机制&#…

windows的maven 低版本如何切换到高版本

要升级到 Maven 3.9.x 版本,可以按照以下步骤操作: 下载 Maven 3.9.x: 访问 Maven 的官方网站(https://maven.apache.org/download.cgi)并下载 Maven 3.9.x 版本的压缩包。选择与你的操作系统兼容的版本。 2. 解压缩 Maven 3.9.x…

一、MySQL基础学习

目录 1、MySQL启动2、MySQL客户端连接3、SQL3.1、SQL语句分类3.2、DDL(数据库定义语言)3.2.1、操作数据库3.2.2、操作数据表 3.3、DML(数据库操作语言)3.3.1、增加 insert into3.3.2、删除 delete3.3.3、修改 update 3.4、DQL&…

移动云COCA架构实现算力跃升,探索人工智能新未来

近期,随着OpenAI正式发布首款文生视频模型Sora,标志着人工智能大模型在视频生成领域有了重大飞跃。Sora模型不仅能够生成逼真的视频内容,还能够模拟物理世界中的物体运动与交互,其核心在于其能够处理和生成具有复杂动态与空间关系…

逆序对的数量 刷题笔记

思路 使用归并排序 在每次返回时 更新增加答案数 因为归并排序的两个特点 第一 使用双指针算法 第二 层层返回 从局部有序合并到整体有序 例如 {4 ,1 ,2 ,3} 划分到底层是四个数组 {4},{1},{3}, {…

【算法杂货铺】二分算法

目录 🌈前言🌈 📁 朴素二分查找 📂 朴素二分模板 📁 查找区间端点处 细节(重要) 📂 区间左端点处模板 📂 区间右端点处模板 📁 习题 1. 35. 搜索插入位…

『 Linux 』进程替换( Process replacement ) 及 简单Shell的实现(万字)

文章目录 🦄 进程替换🦩 execl()函数🦩 execlp()函数🦩 execle()函数🦩 execv()函数🦩 execvp()函数🦩 execvpe()函数🦩 execve()函数 🦄 简单Shell命令行解释器的实现&a…