Linux入门攻坚——12、Linux网络属性配置相关知识2

CentOS 7网络属性配置

传统命名机制:以太网eth[0,1,2,...],wlan[0,1,2...]
可预测功能的命名机制:
    udev支持多种不同的命名方案:
        Firmware ,拓扑结构

    在对待设备文件这块,Linux改变了几次策略。早期,设备文件仅仅是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中。devfs创建的设备文件是动态的。但是devfs有一些严重的限制,从 2.6.13版本后移走了。目前取代他的便是udev--一个用户空间程序。
在工作中多次碰到这样的要求:linux系统中原来有一块SCSI硬盘,系统分配的设备文件是/dev/sda。现在新增加了一个外置的磁盘阵列,通过SCSI卡连接。但接上这个磁盘阵列后,/dev/sda变成了磁盘阵列的硬盘了,原来内置的SCSI硬盘变成了 /dev/sdb,现在希望将设备文件固定下来。过去,这个比较麻烦,因为/dev/sda等文件都是linux内核自动分配的。很难固定下来,除非你更改加载SCSI卡驱动程序的顺序,让内置硬盘连接的SCSI卡比外接磁盘阵列连接的SCSI卡的驱动模块先加载到内核,这样就能保证/dev/sda总是指向内置的硬盘。但这种解决方法毕竟不太完美,而且对于其他的即插即用设备,如USB设备等都不适用。
udev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。udev能够实现所有devfs实现的功能。但udev运行在用户模式中,而devfs运行在内核中。据称:devfs具有一些不太容易解决的先天缺陷。

udev的工作过程:
1. 当内核检测到在系统中出现了新设备后,内核会在sysfs文件系统中为该新设备生成一项新的记录,一般sysfs文件系统会被 mount到 /sys目录中。新记录是以一个或多个文件或目录的方式来表示。每个文件都包含有特定的信息。
 2. udev在系统中是以守护进程的方式udevd在运行,它通过某种途径,检测到新设备的出现,通过查找设备对应的sysfs中的记录得到设备的一些信息。
 3. udev 会根据/etc/udev/udev.conf文件中的udev_rules指定的目录,逐个检查该目录下的文件,这个目录下的文件都是针对某类或某个设备应该施行什么措施的规则文件。udev读取文件是按照文件名的ASCII字母顺序来读取的,如果udev一旦找到了与新加入的设备匹配的规则,udev 就会根据规则定义的措施对新设备进行配置。同时不再读后续的规则文件。

    (1)网卡命名机制
        systemd对网络设备的命名方式:
            1)如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如:eno1;
            2)如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如:ens1;
            3)如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;
            4)如果用户显示启动,也可根据MAC地址进行命名,enx2387aadc56;
            5)上述均不可用,则使用传统命名机制;

        上述命名机制中,有的需要biosdevname程序的参与;

    (2)名称组成格式
            en:ethernet
            wl:wlan,无线局域网设备
            ww:wwan,无线广域网设备
        名称类型:
            o<index>:集成设备的设备索引号;
            s<slot>:扩展槽的索引号,支持虚拟设备
            x<MAC>:基于MAC地址的命名;
            p<bus>s<slot>:enp2s1

    网卡设备的命名过程:
        第一步:
            udev,辅助工具程序/lib/udev/rename_device,根据 /usr/lib/udev/rules.d/60-net.rules的指示,查找/etc/sysconfig/network-scripts/下的ifcfg-文件,如果HWADDR相同,将其中的DEVICE值作为网卡的名字。


        第二步:
            biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules所定义的规则进行命名


        第三步:
            通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description.rules
            ID_NET_NAME_ONBOARD,ID_NET_NAME_SLOT,ID_NET_NAME_PATH

对于CentOS6,是在/lib/udev/rules.d/目录下。

    回归传统命名方式:
        1)编辑/etc/default/grub配置文件
            GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

        2)为grub2生成其配置文件
            grub2-mkconfig -o /etc/grub2.cfg
        3)重启系统

地址配置工具:nmcli

0.8.1版本:nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

1.18.8版本:
nmcli [OPTIONS...] {help | general | networking | radio | connection | device |
             agent | monitor} [COMMAND] [ARGUMENTS...]

[root@localhost rules.d]# nmcli help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS-a, --ask                                ask for missing parameters-c, --colors auto|yes|no                 whether to use colors in output-e, --escape yes|no                      escape columns separators in values-f, --fields <field,...>|all|common      specify fields to output-g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f-h, --help                               print this help-m, --mode tabular|multiline             output mode-o, --overview                           overview mode-p, --pretty                             pretty output-s, --show-secrets                       allow displaying passwords-t, --terse                              terse output-v, --version                            show program version-w, --wait <seconds>                     set timeout waiting for finishing operationsOBJECTg[eneral]       NetworkManager's general status and operationsn[etworking]    overall networking controlr[adio]         NetworkManager radio switchesc[onnection]    NetworkManager's connectionsd[evice]        devices managed by NetworkManagera[gent]         NetworkManager secret agent or polkit agentm[onitor]       monitor NetworkManager changes

nmcli general {status | hostname | permissions | logging} [ARGUMENTS...]


nmcli networking {on | off | connectivity} [ARGUMENTS...]
nmcli connection {show | up | down | modify | add | edit | clone | delete |
                        monitor | reload | load | import | export} [ARGUMENTS...]


     modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+


setting.property:
    ipv4.address
    ipv4.gateway
    ipv4.dns
    ipv4.method
nmcli c modify ens33 -ipv4.address 192.168.138.139/24      删除IP

添加网关:[root@localhost rules.d]# nmcli c modify ens33 ipv4.gateway 192.168.138.2
错误:修改连接 "ens33" 失败:ipv4.gateway: 如果没有配置地址,网关会无法设置

[root@localhost rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4c3624ae-a8b2-4dbc-8aec-5e475bc122c8
DEVICE=ens33
ONBOOT=yes
PEERDNS=no
PEERROUTES=no
[root@localhost rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4c3624ae-a8b2-4dbc-8aec-5e475bc122c8
DEVICE=ens33
ONBOOT=yes
PEERDNS=no
PEERROUTES=no
IPADDR=192.168.138.139
PREFIX=24
GATEWAY=192.168.138.2
[root@localhost rules.d]# 

出现错误,IP地址配的是dhcp,查看/etc/sysconfig/network-scripts/ifcfg-ens33,如上,然后增加了一个IP:192.168.138.139/24,然后再增加网关,就成功了。
 nmcli device {status | show | set | connect | reapply | modify | disconnect |
                    delete | monitor | wifi | lldp} [ARGUMENTS...]

Linux语言环境管理命令:localectl

nmtui工具:nmtui

主机名称配置工具:hostname与hostnamectl命令:

网络客户端工具:lftp,ftp,lftpget,wget

安装:yum install lftp

lft [-p port] [-u user [, password]] server

在CentOS7下访问windows下的ftp服务器时,中文出现乱码,登录后进行如下设置(CentOS7的LANG=zh_CN.UTF-8):

lftp admin@192.168.138.1:/> set ftp:charset gbk
lftp admin@192.168.138.1:/> set file:charset utf8

下载文件,使用get(下载单个文件),或mget(同时下载多个文件),mget *,下载所有文件

lftpget URL

ftp已落后,不建议使用了。

wget :
    wget [option]...  URL...
        -q:静默模式
        -c:续传
        -O:保存位置(另存为别的名字)
        --limit-rates=:指定传输速率

nmap,ncat,tcpdump

nmap:“Network Mapper(网络映射器)”。是一款网络探测和安全审核的工具。目标是快速地扫描大型网络。它使用原始IP报文来发现网络上有哪些主机,主机提供什么服务(应用程序名和版本),服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及其它功能。

用法:nmap [Scan Type(s)] [Options] {target specification}
其中,target Specification用于指定扫描的目标,可以是一个主机或是一个网络,主机可以使用IP或主机名等。如指定一个IP:192.168.138.137,指定一个名字,如:www.baidu.com,指定一个网络,如:192.168.138.0/24,使用IP地址,四个数字部分都可以使用范围表示:如192.168.138.1-254,代表扫描192.168.138.1到192.168.138.254,或者192.168.138-140.1-254。使用逗号是列出多个值,如192.168.138.1,3-5,代表192.168.138.1,192.168.138.3,192.168.138.4,192.168.138.5.
选项:
    -sL:仅仅列出要扫描的目标列表

    -sP:ping扫描,仅仅确定主机是否在线

从运行报表结果可以看到,只报告在线的主机及其MAC地址,没有其他信息。
    -p<port range>:扫描开放相关端口的主机

    -A:激烈扫描模式,会扫描很多信息,包括操作系统、端口、服务、等等。

这里只是入门,nmap更详细的使用需要以后使用中再精通。
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
  Can pass hostnames, IP addresses, networks, etc.
      Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254
     -iL <inputfilename>: Input from list of hosts/networks
      -iR <num hosts>: Choose random targets
      --exclude <host1[,host2][,host3],...>: Exclude hosts/networks
      --excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:
      -sL: List Scan - simply list targets to scan
      -sP: Ping Scan - go no further than determining if host is online
      -P0: Treat all hosts as online -- skip host discovery
      -PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports
      -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
      -n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve]
SCAN TECHNIQUES:
      -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
      -sN/sF/sX: TCP Null, FIN, and Xmas scans
      --scanflags <flags>: Customize TCP scan flags
      -sI <zombie host[:probeport]>: Idlescan
      -sO: IP protocol scan
      -b <ftp relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
      -p <port ranges>: Only scan specified ports
        Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
      -F: Fast - Scan only the ports listed in the nmap-services file)
      -r: Scan ports sequentially - don't randomize
SERVICE/VERSION DETECTION:
      -sV: Probe open ports to determine service/version info
      --version-light: Limit to most likely probes for faster identification
      --version-all: Try every single probe for version detection
      --version-trace: Show detailed version scan activity (for debugging)
OS DETECTION:
      -O: Enable OS detection
      --osscan-limit: Limit OS detection to promising targets
      --osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
      -T[0-6]: Set timing template (higher is faster)
      --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
      --min-parallelism/max-parallelism <numprobes>: Probe parallelization
      --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies
      probe round trip time.
      --host-timeout <msec>: Give up on target after this long
      --scan-delay/--max-scan-delay <msec>: Adjust delay between probes
FIREWALL/IDS EVASION AND SPOOFING:
      -f; --mtu <val>: fragment packets (optionally w/given MTU)
      -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
      -S <IP_Address>: Spoof source address
      -e <iface>: Use specified interface
      -g/--source-port <portnum>: Use given port number
      --data-length <num>: Append random data to sent packets
      --ttl <val>: Set IP time-to-live field
      --spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC address
OUTPUT:
  -oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3,
     and Grepable format, respectively, to the given filename.
      -oA <basename>: Output in the three major formats at once
      -v: Increase verbosity level (use twice for more effect)
      -d[level]: Set or increase debugging level (Up to 9 is meaningful)
      --packet-trace: Show all packets sent and received
      --iflist: Print host interfaces and routes (for debugging)
      --append-output: Append to rather than clobber specified output files
      --resume <filename>: Resume an aborted scan
      --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
      --no-stylesheet: Prevent Nmap from associating XSL stylesheet w/XML output
MISC:
      -6: Enable IPv6 scanning
      -A: Enables OS detection and Version detection
      --datadir <dirname>: Specify custom Nmap data file location
      --send-eth/--send-ip: Send packets using raw ethernet frames or IP packets
      --privileged: Assume that the user is fully privileged
      -V: Print version number
      -h: Print this help summary page.
EXAMPLES:
      nmap -v -A scanme.nmap.org
      nmap -v -sP 192.168.0.0/16 10.0.0.0/8
      nmap -v -iR 10000 -P0 -p 80
ncat:ncat即Netcat,用于从TCP/UDP连接中读取或发送网络数据,连接和重定向套接字
有如下作用:
    端口侦听,ncat 可以作为 server 以 TCP 或 UDP 方式侦听指定端口;
    端口扫描,ncat 可以作为 client 发起 TCP 或 UDP 请求;
    机器之间传输文件;
    机器之间网络测速。
命令格式:ncat [OPTIONS...] [hostname] [port]
选项说明:

-4/6
    强制只使用 IPv4/IPv6 地址。
-d, --delay <time>
    读/写之间等待时间。
-h, --help
    打印出帮助信息。
-k, --keep-open
    在当前连接完成后继续侦听另一个连接。注意如果不使用 -l 选项,则使用此选项是错误的。
-l, --listen
    指定应该侦听传入的连接,而不是启动到远程主机的连接。将此选项与 -p、-s 或 -z 选项结合使用是错误的。此外,使用 -w 选项指定的超时将被忽略。
-n, --nodns
    不要在任何指定的地址、主机名或端口上执行任何 DNS 或服务查找。
-t, --telnet
    使 nc 发送 RFC 854 DON'T 和 WON'T 响应 RFC 854 的 DO 和 WILL 请求。这使得使用 nc 编写 telnet 会话脚本成为可能
-U, --unixsock
    指定使用 Unix 域套接字。
-u, --udp
    使用 UDP 代替默认选项 TCP。
-v, --verbose
    显示命令执行过程。
-z
    表示 zero,只扫描侦听守护进程,而不向它们发送任何数据。此选项与 -l 选项结合使用是错误的
-C, --crlf
    发送 CRLF 作为换行符。
-i, --idle-timeout <time>
    空闲读/写超时时间。
-p,  --source-port <port>
    指定源端口,但须受特权限制和可用性限制。将此选项与 -l 选项结合使用是错误的。
-s, --source <addr>
    设置本地主机送出数据包的 IP 地址。注意将此选项与 -l 选项结合使用是错误的。
-w, --wait <time>
    如果连接和 stdin 空闲超过指定秒数,则连接将被关闭。-w 标志对 -l 选项没有影响。缺省不超时。
-o, --output <filename>
    将会话数据转储到文件。
-x, --hex-dump <filename>
    将会话数据作为十六进制转储到文件。
--version
    显示版本信息。

监听本地端口:使用-l选项
ncat -vl 8888     

在192.168.138.137的8888端口启动监听,在132机器上连接此端口。
双方可以通话了,类似聊天功能。
文件传输:把 A 机器上的一个文本文件发送到 B 机器上,需注意操作次序,receiver 先侦听端口,sender 向 receiver 所在机器的该端口发送数据。

检查SSH版本信息:

tcpdump:一个运行在命令行下的抓包工具。
语法:
tcpdump [ -AdDefIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
               [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
               [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
               [ -P in|out|inout ]
               [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
               [ -W filecount ]
               [ -E spi@ipaddr algo:secret,...  ]
               [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
               [ expression ]

-a  将网络地址和广播地址转变成名字
-d  将匹配信息包的代码以人们能够理解的汇编格式给出
-dd  将匹配信息包的代码以c语言程序段的格式给出
-ddd 将匹配信息包的代码以十进制的形式给出
-D   显示所有可用网络接口的列表
-e  在输出行打印出数据链路层的头部信息
-f  将外部的Internet地址以数字的形式打印出来
-l  使标准输出变为缓冲行形式
-L   列出指定网络接口所支持的数据链路层的类型后退出
-n  不把网络地址转换成名字,即不做反向域名解析
-q   简洁地打印输出。即打印很少的协议相关信息, 从而输出行都比较简短
-t   在每行的输出中不输出时间
-tt  在每行的输出中会输出时间戳
-ttt 输出每两行打印的时间间隔(以毫秒为单位)
-tttt 在每行打印的时间戳之前添加日期的打印(此种选项,输出的时间最直观)

-v   产生详细的输出. 比如包的TTL,id标识,数据包长度,以及IP包的一些选项。同时它还会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和。
-vv  产生比-v更详细的输出. 比如NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码。
-vvv 产生比-vv更详细的输出。比如 telent 时所使用的SB, SE 选项将会被打印, 如果telnet同时使用的是图形界面,其相应的图形选项将会以16进制的方式打印出来
-c  在收到指定的包的数目后,tcpdump就会停止
-F  从指定的文件中读取表达式,忽略其它的表达式
-i  指定监听的网络接口
-r  从指定的文件中读取包(这些包一般通过-w选项产生)
-w  直接将数据报写入文件中,并不分析和打印出来
-T  将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单 网络管理协议)
-s   tcpdump 默认只会截取前 `96` 字节的内容,要想截取所有的报文内容,可以使用 `-s number`, `number` 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
-S  seq ack 使用绝对序列号,而不是相对序列号
-Z  后接用户名,在抓包时会受到权限的限制。如果以root用户启动tcpdump,tcpdump将会有超级用户权限

tcpdump -i ens33    #捕获指定接口(网卡)的数据包

tcpdump -i ens33 -c 3       #捕获指定个数的数据包(3个数据包)
tcpdump -A -i ens33 -c 3    #用ASCII码格式输出捕获的数据包
tcpdump -XX -i ens33        #用十六进制和ASCII码格式显示捕获的数据包


tcpdump -D    #显示可用的系统接口


tcpdump -w mydata.pcap -i ens33 -c 10      #把捕获的数据包写入到一个.pcap后缀的文件中

tcpdump -r tempDump.pcap    #读取捕获数据包文件的内容

tcpdump -n -i eth0    # 单个 n 表示不解析域名,直接显示 IP
tcpdump -i eth0 tcp    #捕获TCP类型的数据包,tcp可以换成其他,icmp如

tcpdump -i eth0 port 22   #捕获指定端口(这里是22)的数据包

tcpdump -i eth0 src 源ip地址   #捕获请求源是 192.169.12.101 的数据包

tcpdump -i eth0 dst 目标ip地址   #捕获指定目的IP的数据包
tcpdump -i eth0 dst host 目标ip地址 and port 8800 -w data.pcap  #抓取指定网卡,指定IP和端口的数据包 并写入到data.pcap文件中

tcpdump host 192.168.12.101 and 192.168.1.201 -w out &  #后台抓取两主机之间的数据
tcpdump -nn 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度

tcpdump输出解释
tcpdump的Flags代表了这个数据包的用途,这些标记是TCP首部的内容
    [S] : SYN(开始连接)
    [S.]: SYN同步标识,以及确认[S]的ACK
    [P.] : PSH(推送数据)
    [F.] : FIN (结束连接)
    [R.] : RST(重置连接)
    [.] : 没有 Flag (意思是除上面四种类型外的其他情况,有可能是 ACK 也有可能是 URG:紧急指针)
     [FP.]: 标记FIN、PUSH、ACK组合,这样做是为了提升网络效率,减少数据来回确认等

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

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

相关文章

人生重开模拟器(c语言)

前言&#xff1a; 人生重开模拟器是前段时间非常火的一个小游戏&#xff0c;接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏&#xff1a; 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 &#xff08;1&#xff09; 游戏开始的时…

云HIS系统源码,基层卫生HIS系统,云端SaaS模式多医院版

系统介绍&#xff1a; 基层卫生健康云HIS系统采用云端SaaS服务的方式提供&#xff0c;使用用户通过浏览器即能访问&#xff0c;无需关注系统的部署、维护、升级等问题&#xff0c;系统充分考虑了模板化、配置化、智能化、扩展化等设计方法&#xff0c;覆盖了基层医院的主要工作…

基于OpenMV与STM32的数据通信项目(代码开源)

前言&#xff1a;本文为手把手教学 OpenMV 与 STM32 的数据通信项目教程&#xff0c;本教程使用 STM32F103C8T6 与 OpenMV 进行操作。 OpenMV 是非常强大的计算机视觉实现工具&#xff0c;自身提供了非常多的视觉项目案例&#xff0c;编程与使用门槛极低。为了进一步增强作品的…

Camunda Rest API

客户端像调用本地方法一样调用引擎中的接口。 https://docs.camunda.org/manual/7.17/reference/rest/ 一&#xff1a;pom.xml <dependency><groupId>org.camunda.community.rest</groupId><artifactId>camunda-platform-7-rest-client-spring-boot-…

解决百度网盘限速问题(不用会员)

不想冲网盘会员的友友可以看一下这个方法 1.需要下载Motrix(因为我是Mac所以用的这个,Win用户可以试试别的) 相关软件下载 | 油小猴 2.打开这个网站 就是加速 用户操作演示面板 3.勾选后可以直接发送到Motrix 还可以使用的方法

CES2024:智能戒指、全息技术、AI家居机器人等有趣的小工具

在CES2024的展会上上&#xff0c;我们见证了一系列充满创意和未来感的科技产品。从智能戒指到全息技术&#xff0c;再到AI家居机器人&#xff0c;这些有趣的小工具不仅展现了技术的进步&#xff0c;更预示着未来生活的可能性。现在就来给大家介绍九个实用有趣的小工具。 1、华…

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步

目录 关键词平台说明一、C/S port interface 定义1.1在Davinci developer中的创建 二、同步调用和异步调用2.1 同步2.1.1同步code2.1.2同步处理时序图 2.2 异步2.2.1异步code2.2.2异步处理时序图2.2.2.1 poling2.2.2.2 waiting2.2.2.3none 三、server端的mapping到task详解 关键…

CSS3新增文本样式-text-shadow属性

文本样式 概念:在CSS3中&#xff0c;增加了丰富的文本修饰效果&#xff0c;使得页面更加美观舒服。 常用的文本样式属性 属性说明text-shadow文本阴影text-stroke文本描边text-overflow文本溢出word-wrap强制换行font-face嵌入字体 W3C坐标系 我们日常生活使用最多的是数学坐…

三菱plc学习入门(三,FB模块)

小编很抱歉&#xff0c;因为小编是以基恩士&#xff0c;三菱的plc一起学习并找发现不同&#xff01;&#xff01;&#xff01;并结合工作的案例来进行学习&#xff0c;所以内容上与系统的学习还是存在差异。如果只是单独的学习此篇文章&#xff0c;如果对您有帮助&#xff0c;欢…

蓝桥杯省赛无忧 STL 课件11 pair

01 pair的定义和结构 在C中&#xff0c;pair是一个模板类&#xff0c;用于表示一对值的组合&#xff0c;它位于头文件中。 pair类的定义如下: template<class T1,class T2>struct pair{T1 first;//第一个值T2 second;//第二个值// 构造函数pair();pair(const T1& X…

Deep Reinforment Learning Note 1

文章目录 Terminology Terminology st : stateot : observationat : action π θ ( a t ∣ o t ) \pi_\theta (a_t | o_t) πθ​(at​∣ot​) : policy π θ ( a t ∣ s t ) \pi_\theta (a_t | s_t) πθ​(at​∣st​) : policy (fully observed) Observation result from…

STM32--基于STM32F103的MAX30102心率血氧测量

本文介绍基于STM32F103ZET6MAX30102心率血氧测量0.96寸OLED&#xff08;7针&#xff09;显示&#xff08;完整程序代码见文末链接&#xff09; 一、简介 MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块。它集成了一个红光LED和一个红外光LED、光电检测器、光器…

程序员有哪些接单的渠道?

这题我会&#xff01;程序员接单的渠道那可太多了&#xff0c;想要接到合适的单子&#xff0c;筛选一个合适的平台很重要。如果你也在寻找一个合适的接单渠道&#xff0c;可以参考以下这些方向。 首先&#xff0c;程序员要对接单有一个基本的概念&#xff1a;接单渠道可以先粗略…

【排序】归并排序(C语言实现)

文章目录 1. 递归版的归并排序1.1 归并排序的思想2. 递归版的归并排序的实现 2. 非递归版的归并排序 1. 递归版的归并排序 1.1 归并排序的思想 归并排序&#xff08;MERGE - SORT&#xff09;是建立在归并操作上的一种有效的排序算法, 该算法是采用分治法&#xff08;Divide a…

25考研数学备考计划

今天要给大家分享的是考研数学的一些备考经验。 一般理工科&#xff1a;数一、二&#xff1b;经济类&#xff1a;数三。 题型分值 学/专硕考试范围 另外&#xff0c;我也为大家找到了考研数学教材范围及重点&#xff0c;大家V..X关注&#xff1a;ZL研知己&#xff0c;回复&…

听歌识曲(UPC练习)

题目描述 洛洛有一份私人歌单&#xff0c;歌单里面塞满了他喜欢的歌曲&#xff0c;像夏恋、雨道、彩月、幻昼……整整有好几百首。洛洛每天都要把他的歌单听一遍&#xff0c;以致于他都能知道在什么时候放的是什么歌。 洛洛在向你推荐了他的歌单之后&#xff0c;决定考考你&am…

Redis Zset类型

Redis Zset类型 Zset&#xff08;有序集合&#xff09;它是集合的一种&#xff0c;不仅可以保存元素&#xff0c;还可以为每个元素关联一个 double 类型的分数&#xff08;score&#xff09;&#xff0c;Redis 正是通过分数来为集合中的元素进行从小到大的排序。在 Zset 中&am…

Docker 方式安装 HertzBeat

一、安装docker docker安装参考https://www.runoob.com/docker/docker-tutorial.html curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh二、拉取docker镜像 https://hertzbeat.com/zh-cn/docs/start/docker-deploy部署HertzBeat您可能需要掌握的几条…

第8章-第2节-Java中流的简单介绍

1、什么是流 我们可以先想象水流是怎样的&#xff1f;溪水不断流动&#xff0c;最终融入大海&#xff1b;我们今天的学习IO其实如同水流一样&#xff0c;当我们读取文件信息或者写入信息时&#xff0c;如同水流一样&#xff0c;不断读取或者写入&#xff0c;直到业务流程结束。…

小游戏选型(一):游戏化设计助力直播间互动和营收

一、社交直播间小游戏火爆 大家好&#xff0c;作为一个技术宅和游戏迷&#xff0c;今天来聊聊近期爆火的社交直播间小游戏的潮流。喜欢冲浪玩社交产品的小伙伴会发现&#xff0c;近期各大平台都推出了直播间社交小游戏&#xff0c;直播间氛围火爆&#xff0c;小游戏玩法简单&a…