锐捷RCNA | 远程登录与路由技术
锐捷RCNA | 远程登录与路由技术
- 一、远程登录配置
- 1. Telnet远程登录介绍
- 2. 案例1--设置远程登录密码实现远程登录
- 3. 案例2--定义不同用户账户实现远程用户权限隔离
- 4. SSH远程登录介绍
- 5. 案例--通过SSH功能远程管理设备
- 二、路由技术
- 1. 直连路由的数据通信
- 2. 间接路由的数据通信
- 3. 路由的下一跳
- 4. 路由表
- 5. 最长子网掩码匹配原则
- 6. 静态路由
- 6.1 综合案例拓扑
- 6.2 静态路由实现方式
- 6.3 默认路由实现方式
- 6.4 浮动路由实现方式
- 7. 汇总路由
- 8. 动态路由
- 8.1 距离矢量路由协议
- 8.2 链路状态路由协议
一、远程登录配置
1. Telnet远程登录介绍
Telnet(Telecommunication Network Protocol)是一种网络协议,它用于在远程计算机之间进行双向的、基于文本的通信。Telnet 允许用户登录到远程主机并执行命令,就像坐在那台机器前面一样。它主要工作在TCP/IP协议栈的应用层,使用TCP端口号23。
Telnet 最初是为了在远程终端和主机之间提供一个简单的通信协议而设计的。用户可以通过Telnet客户端软件连接到远程服务器上的Telnet服务,然后输入命令,这些命令会被发送到远程服务器上执行,执行结果再返回给用户。这种方式允许用户管理或访问远程系统,无需物理上坐在那台机器前。
然而,随着网络安全技术的发展,Telnet 的使用逐渐减少,主要是因为它不加密传输的数据,这意味着用户名、密码以及所有其他通过 Telnet 会话传输的信息都可以被截获。这导致了安全风险,尤其是在不安全的网络环境中。因此,更安全的替代方案,如SSH(Secure Shell),逐渐取代了Telnet。SSH 提供了加密的通信通道,可以有效保护传输数据的安全性。
权限划分
在telnet中将用户的权限划分为1-15,数值越高则代表用户的权限越高,可执行的命令则越多(默认权限为0)。
- 权限0:游客级别:只能进行少数操作
- 权限1:监控级:可以进行大部分的查询,无法进行配置
- 权限2:配置级:可以进行配置,但是不能修改系统内部配置,如保存、查看和删除文件
- 权限3-15:管理级别:可以进行所有操作
Telnet可以通过两种方式部署
- 不设置账号密码,设置远程登录密码,通过远程登录密码登录,所有人权限一致
- 为每一个用户设置一个账号密码,分配不同权限
2. 案例1–设置远程登录密码实现远程登录
实验需求
- 通过Telnet功能远程登录管理Router
- 最多允许共5个用户同时telnet登入到交换机
- 特权密码为:2wsx#EDC,Telnet登录密码为:1qaz@WSX
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.1.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
Router(config)#interface g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.1.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
配置特权密码
Router(config)#enable password 2wsx#EDC
[Step4]:
配置虚拟终端
# 进入telnet密码配置模式,0 4表示允许共5个用户同时telnet登入到交换机
Router(config)#line vty 0 4# 启用需输入密码才能telnet成功
Router(config-line)#login# 将telnet密码设置为1qaz@WSX
Router(config-line)#password 1qaz@WSX# 设置用户登录的权限,默认为1
Router(config-line)#privilege level 15
Router(config-line)#exit
[Step5]:
验证:使用PC远程登录Router
PC#telnet 192.168.1.2
Trying 192.168.1.2, 23...
User Access Verification
Password:1qaz@WSX
Router>ena
Password:2wsx#EDC
Router#
[Step6]:
验证:查看当前设备的登录用户信息,可以看到PC的登录信息
Router#show users
[Step7]:
可以将在线的用户踢下线
Router#clear line 1
[Step8]:
在上述的配置中存在安全问题,可以通过show running看到特权密码为明文
Router#show running-config | include enable
enable password 2wsx#EDC
[Step9]:
我们可以通过其它命令设置特权密码,可以看到secret的密码是加密的,而且enable secret设置的密码比enable password设置密码优先级高
当存在enable password和enable secret,默认只生效 enable secret
Router(config)#enable secret 1qaz@WSX
3. 案例2–定义不同用户账户实现远程用户权限隔离
实验需求
- 通过Telnet功能远程登录管理Router
- 最多允许共5个用户同时telnet登入到交换机
- 特权密码为:2wsx#EDC
- 定义远程用户 user01,密码为:1qaz@WSX,权限设置为1
- 定义管理员用户 admin,密码为:2qaz@WSX,权限设置为最大
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.2.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
Router(config)#interface g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.2.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
设置特权密码
Router(config)#enable secret 2wsx#EDC
[Step4]:
设置Telnet登录用户
# 没有设置权限的用户,权限默认为1
Router(config)#username user01 password 1qaz@WSX
Router(config)#username admin privilege 15 password 2qaz@WSX
[Step5]:
配置虚拟终端
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#exit
[Step6]:
验证:使用user01用户登录Router,权限不足要进入特权模式需要输入特权密码
[Step7]:
验证:使用admin用户登录Router,权限足可以直接跳过输入特权密码直接进入特权模式
4. SSH远程登录介绍
- 定义:SSH是Secure Shell的缩写,是一种安全通道协议,主要用来远程管理服务器。
- 功能:SSH协议对通信双方的数据传输进行了加密处理,包括用户登录时输入的用户口令,从而有效防止远程管理过程中的信息泄露问题。此外,SSH还提供了远程复制(如通过SCP命令)和文件传输(如通过SFTP协议)等安全服务。
- 应用环境:SSH服务广泛应用于UNIX、Linux等操作系统中,是远程管理和文件传输的重要工具。在Windows系统中,虽然没有内置的SSH服务,但可以通过安装第三方软件(如PuTTY、Xshell等)来实现SSH功能。
5. 案例–通过SSH功能远程管理设备
实验需求
- 通过SSH功能远程管理Router
- 用户名为:admin,密码为:1qaz@WSX
实验拓扑
配置步骤
[Step1]:
给PC配置IP地址
PC(config)#int g0/0
PC(config-if-GigabitEthernet 0/0)#ip add 192.168.3.1 24
PC(config-if-GigabitEthernet 0/0)#exit
[Step2]:
给Router配置IP地址
Router(config)#int g0/0
Router(config-if-GigabitEthernet 0/0)#ip add 192.168.3.2 24
Router(config-if-GigabitEthernet 0/0)#exit
[Step3]:
开启SSH服务,配置登录用户和密码
Router(config)#enable service ssh-server
Router(config)#username admin privilege 15 password 1qaz@WSX
[Step4]:
配置虚拟终端
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#transport input ssh # 设置只允许SSH方式登录
Router(config-line)#exit
[Step5]:
验证:在PC上SSH远程登录Router
[Step6]:
验证:在Router上可以看到SSH登录信息
二、路由技术
路由是数据通信网络中的基本要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程,同一广播域内无需路由转发直接可以通信,跨广播域则需要路由进转发。
在发送数据时,网络层会检查目的IP与自身IP是否处于一个网段
- 同网段:使用ARP解析出目的IP的MAC地址
- 不同网段:使用ARP解析网关的MAC地址
路由:从一个接口上收到数据包,根据数据包的目的地址进行定向和转发的过程。
1. 直连路由的数据通信
**直连路由:**同一个IP网段内的通信
2. 间接路由的数据通信
**间接路由:**不同IP网段间的通信
3. 路由的下一跳
**下一跳:**路由设备进行路由转发,下一台设备的端口IP地址
- 下一跳地址由路由表决定,PC的下一跳默认为为网关
- 下一跳地址是路由设备根据路由表选择的最佳路径
4. 路由表
路由表一共存在三种路由
Connected直连路由
- 通过活动接口配置IP地址形成直连路由
- 直连路由表示路由器直接连接的网络
Static静态路由
- 管理员手动配置的路由信息
- 无法感知网络拓扑的变化,需要手动增删
动态路由
- 路由器之间使用某种动态路由协议,根据相互传递的信息形成的路由
- 在网络拓扑中变化时,能够动态调整路由信息
- 会在链路中产生额外流量,增加负担
**路由表的入表原则:**不同的加入,相同的条目比较好坏(根据度量值)
路由表的用表原则:根据最长子网掩码匹配原则,子网掩码越长则优先使用
未匹配的项
- 未入表的静态路由:保存在配置表中(可以通过 show running-config 查看)
- 未入表的动态路由:保存在各自的路由表中(如ospf可以通过 show ip ospf route)
**度量值:**路由协议用来衡量路径优劣的参数,表示到达目标的代价总和。【比路径】
路由类型 | 度量值参考 |
---|---|
静态路由 | 0 |
OSPF | 带宽 |
RIP | 跳数 |
管理距离:也叫优先级,用来衡量路由来源的可信度【比路由协议】
- 管理距离值越低则越优,只有最优的路由才会被添加到路由表中
- 管理距离默认值由厂商自定义
路由来源 | 缺省管理距离 |
---|---|
直连路由 | 0 |
静态路由 | 1 |
OSPF | 110 |
RIP | 120 |
不可达路由 | 255 |
5. 最长子网掩码匹配原则
- 路由设备基于数据包的目的IP地址,按照最长子网掩码匹配原则查找路由表
- 根据查询结果转发,如果没有查询到则丢弃数据包
6. 静态路由
静态路由介绍
- 静态路由本地生效,不会传递给其它路由器
- 网络安全保密性高,消耗资源比较少
- 下一跳地址必须是直连链路上可达的地址
- 点对点连接时,可以使用出接口作为下一跳地址
- 默认路由是特殊的静态路由:目标网络和子网掩码均为 0.0.0.0
ip route 目标网络 子网掩码 下一跳地址 [度量值-可选]
ip route 目标网络 子网掩码 出接口 [度量值-可选]
静态路由优先使用下一跳地址而不是出接口
默认路由的使用背景
- 互联网出口路由器
- 要访问Internet,内网的所有设备都需要配置默认路由,不单在互联出口设备
- 路由是逐跳转发,少了任何一台都会出问题
- 明细路由访问内网,默认路由访问外网
- PC的网关
- 只要访问的目标与自己不在同一广播域,都是直接找网关进行转发
- 配置网关时,其实变相等于配置了一条默认路由
- 只有一个出口的末端网络
- 可以省略掉路由条目,直接使用一条默认路由代替
6.1 综合案例拓扑
6.2 静态路由实现方式
R1
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.2
R2
R2(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.1
R2(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.6
R3
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.5
测试连通性
VPCS> ping 192.168.2.184 bytes from 192.168.2.1 icmp_seq=1 ttl=61 time=12.111 ms
84 bytes from 192.168.2.1 icmp_seq=2 ttl=61 time=2.598 ms
84 bytes from 192.168.2.1 icmp_seq=3 ttl=61 time=3.592 ms
84 bytes from 192.168.2.1 icmp_seq=4 ttl=61 time=2.753 ms
84 bytes from 192.168.2.1 icmp_seq=5 ttl=61 time=4.167 ms
S 192.168.2.0/24 [1/0] via 172.16.1.2S :代表此路由为静态路由
192.168.2.0/24 :目标网络
[1/0] :管理距离/度量值
172.16.1.2 :下一跳IP
6.3 默认路由实现方式
R1
R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.2
R2
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.1
R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.6
R3
R3(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.5
测试连通性
VPCS> ping 192.168.2.184 bytes from 192.168.2.1 icmp_seq=1 ttl=61 time=4.684 ms
84 bytes from 192.168.2.1 icmp_seq=2 ttl=61 time=2.443 ms
84 bytes from 192.168.2.1 icmp_seq=3 ttl=61 time=2.474 ms
84 bytes from 192.168.2.1 icmp_seq=4 ttl=61 time=3.561 ms
84 bytes from 192.168.2.1 icmp_seq=5 ttl=61 time=3.713 ms
6.4 浮动路由实现方式
- 浮动路由就是在静态路由的基础上,为路由条目加上管理距离参数,管理距离越小,则会写入路由表
- 当优先级最高的路由失效后,次优的路由会被添加到路由表中
- 静态路由的默认管理距离为1,可选值为 1-255
配置正常路径为PC1–>R1–>R2–>R3–>PC2
正常路径故障后路径为PC1–>R1–>R3–>PC2
R1
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.2 10
R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.10 100
R2
R2(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.1
R2(config)#ip route 192.168.2.0 255.255.255.0 172.16.1.6
R3
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.5 10
R3(config)#ip route 192.168.1.0 255.255.255.0 172.16.1.9 100
正常情况下
断开R1和R2、R3和R2的链路
R1(config)#int g0/0
R1(config-if-GigabitEthernet 0/0)#shutdown
R1(config-if-GigabitEthernet 0/0)#exitR3(config)#int g0/1
R3(config-if-GigabitEthernet 0/1)#shutdown
R3(config-if-GigabitEthernet 0/1)#exit
7. 汇总路由
- 汇总路由的定义:把多条路由汇总成一条路由条目
- 汇总路由的作用:收缩路由表,减轻路由器的负担,提高路由器的转发效率
汇总路由的计算
# 将要汇总的网段转换为二进制172.16.12.0 ==> 10101100.00010000.00001100.00000000
172.16.13.0 ==> 10101100.00010000.00001101.00000000
172.16.14.0 ==> 10101100.00010000.00001110.00000000
172.16.15.0 ==> 10101100.00010000.00001111.00000000
从左往右,取出相同的位作为新网络位 10101100.00010000.00001100.00000000【网络位不变,其余位数全部为0】
相同的位数:22,汇总的路由则为 10101100.00010000.00001100.00000000/22
也就是 172.16.12.0/22Router(config)#ip route 172.16.12.0 255.255.255.252 x.x.x.x
8. 动态路由
目前网络项目中的主流路由协议有:RIP、OSPF、BGP
- RIP基于UDP,端口号为 520
- OSPF基于IP,端口号为89
- BGP基于TCP,端口号为179
路由协议工作机制的四个主要步骤
- 邻居发现:路由器通过发送广播或组播报文的方式发现网络中的邻居,并基于特定参数来建立邻居关系
- 路由交换:每台路由器将自己已知的路由相关信息发给相邻路由器
- 路由计算:每台路由器运行特定算法,计算路由表
- 路由维护:路由器之间通过周期性的发送协议报文来维护邻居信息
按照管理范围分类
- IGP内部网关协议:RIP、EIGRP、OSPF、IS-IS(园区网常用协议)
- EGP外部网关协议:BGP(主要应用在金融、政府电子政务网、运营商网络)
按照算法分类
- 距离矢量路由协议:RIP、BGP
- 链路状态路由协议:OSPF、IS-IS
8.1 距离矢量路由协议
- 路由以距离、方向的方式通告出去
- 距离矢量路由协议直接传送各自的路由表信息
- 每台路由器从邻居路由器直接获取路由信息,然后将自己路由信息与获取到的路由信息 一起发送其它邻居
- 逐跳传递,达到全网同步,路由器都不了解网络拓扑
- 只知道相连网络的信息,根据从邻居得到的路由信息更新自己路由
8.2 链路状态路由协议
- 基于Dijkstra算法的最短路径优先(SPF)算法,比距离矢量路由协议复制
- 路由器并不直接向邻居传递路由表项,而是通告给邻居链路状态信息
- 链路状态信息包括:接口IP地址、掩码、网络类型、链路开销、链路上的邻居路由器
- 运行链路状态路由协议的路由器将路由器划分区域,收集区域的所有路由器的链路状态信息,根据状态信息和SPF算法生产网络拓扑结构,每一个路由器再根据拓扑结构计算出路由条目
相关文章:

锐捷RCNA | 远程登录与路由技术
锐捷RCNA | 远程登录与路由技术 一、远程登录配置1. Telnet远程登录介绍2. 案例1--设置远程登录密码实现远程登录3. 案例2--定义不同用户账户实现远程用户权限隔离4. SSH远程登录介绍5. 案例--通过SSH功能远程管理设备 二、路由技术1. 直连路由的数据通信2. 间接路由的数据通信…...
实现Vue-tiny-diff算法
前言 前面我们实现了基本的数据更新到视图渲染的逻辑,但是这种方式(innerHTML)是极其低效的, 因此,我们相应引入 dom 和 diff 算法, 数据到视图的过程变为: state -> vdom -> dom vNode 层 所谓 vNode, 就是一个表示 dom 结构的轻量对象 {tag, props, children; }为…...

正则表达式测试工具
前言 正则表达式测试工具可供您输入正则表达式和测试文本,立即查看匹配结果. 下面是离线的HTML文件,同样可以提供相同的服务. 目录 使用说明 HTML代码 正则表达式的编写经验和方法 总结 使用说明 1.先将HTML代码存储成.html为后缀的文件; 2.然后用浏览器打开这个…...
Github 2024-08-02 开源项目日报 Top9
根据Github Trendings的统计,今日(2024-08-02统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Go项目1C项目1Rust项目1Shell项目1Dockerfile项目1TypeScript项目1Dart项目1Docker-OSX: 在Docker容器中运行Mac OS X 创建周期:152…...

重生之我 学习【数据结构之顺序表(SeqList)】
⭐⭐⭐ 新老博友们,感谢各位的阅读观看 期末考试&假期调整暂时的停更了两个多月 没有写博客为大家分享优质内容 还容各位博友多多的理解 美丽的八月重生之我归来 继续为大家分享内容 你我共同加油 一起努力 ⭐⭐⭐ 数据结构将以顺序表、链表、栈区、队列、二叉树…...

前端day4-表单标签
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>day4-表单</title> </head> <body&g…...
vue3-print-nb 表格打印分页,第一页有空白的情况出现解决方法(两种:一种原生,一种基于element表格)
第一种:基于element表格分页 <template><!-- element分组打印 --><div class"hello"><button v-print"printContent">打印</button><div id"printDiv"><p>工资统计表</p><p>…...
搜维尔科技:借助 Xsens中的远程人体录制功能,可以在任何位置以无限量同时捕捉无限数量演员的身体动作
借助 Xsens中的远程人体录制功能,可以在任何位置以无限量同时捕捉无限数量演员的身体动作 搜维尔科技:借助 Xsens中的远程人体录制功能,可以在任何位置以无限量同时捕捉无限数量演员的身体动作...

2024/08 近期关于AI的阅读和理解[笔记]
#Cohere 就像商业能力很强的云数仓公司 Snowflake 一样,Cohere 也采用了按需付费模式而不是按月或按年付费,而且它的付费模式很精细。Cohere 按照模型的不同能力,包括文本生成,文本总结,重新排名,文本分类…...

SmartEDA:解锁设计新境界,从工具到灵感的飞跃之旅!
在这个数据驱动的时代,每一次点击、每一次滑动都蕴含着无限的可能与洞察。然而,在众多数据分析工具中,SmartEDA不仅仅是一把解锁数据奥秘的钥匙,它更是一座桥梁,连接着冰冷的数据世界与创意无限的设计灵感之源。今天&a…...

解决Minizip压缩后解压时的头部错误问题
最近,在处理文件压缩的任务时,我遇到了一个有趣的问题。使用Minizip库进行文件压缩后,在解压过程中收到了一个关于"头部错误"的警告。尽管这个警告看似令人担忧,但解压操作最终仍然能够成功完成文件的解压。这引发了我的…...

数据库表水平分割和垂直分割?
0.数据库表的水平分割和垂直分割是两种常见的数据库优化技术,它们分别针对不同的场景和需求进行数据表的拆分。 1. 水平分割(Horizontal Splitting)主要是按照记录进行分割,即不同的记录被分开保存在不同的表中&#x…...

Linux源码阅读笔记18-插入模型及删除模块操作
基础知识 模块是一种向Linux内核添加设备驱动程序、文件系统及其他组件的有效方法,不需要编译新内核 优点 通过使用模块,内核发布者能够预先编译大量驱动程序,而不会致使内核映像的尺寸发生膨胀。内核开发者可以将实验性的代码打包到模块中&a…...

力扣面试经典算法150题:移除元素
移除元素 今日的题目依旧是力扣面试经典算法150题中数组相关的题目:移除元素 题目链接:https://leetcode.cn/problems/remove-element/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述 给定一个排序数组 nums 和一个值 val&a…...
java关于前端传布尔值后端接收一直为false问题
前端传值: {"message":"我肚子疼","isChiefComplaint": true }后端接收对象结构体: public class SymptomInquiryDTO {private String message;private boolean isChiefComplaint; }结果后端接收到的值一直是false&…...

工具学习_CVE Binary Tool
1. 工具概述 CVE Binary Tool 是一个免费的开源工具,可帮助您使用国家漏洞数据库(NVD)常见漏洞和暴露(CVE)列表中的数据以及Redhat、开源漏洞数据库(OSV)、Gitlab咨询数据库(GAD&am…...

智观察 | 行业赛道里的AI大模型
“AI改变世界”被炒得热火朝天,结果就换来AI聊天? 实际上,在日常娱乐之下,AI正在暗暗“憋大招”,深入各行各业,发挥更专业的作用。 自动驾驶 最近“萝卜快跑”霸榜热搜长达一周,让无人驾…...
linux 进程 inode 信息获取
根据端口查找 ss -neltup | grep "$port"根据 pid 查找 ss -neltup | grep "pid$pid"根据 inode 查找 ss -neltup | grep "ino:$inode"根据pid查找进程打开的inode ls -al /proc/$pid/fd查看inode信息 cat /proc/$pid/net/tcp | grep $ino…...

计算机网络-网络层
负责在不同的网络之间转发数据包,基于数据包的 IP地址转发,每个数据包可以按照不同路径传输。网络层不负责丢包重传,以及数据包之间数据顺序的的问题。 网络设备 路由器工作在第三层:网络层,能看到网络层的地址&…...

机器学习:识别AI,GraphRAG,LoRA,线性变换,特征
1.AI识别 1.bitgrit 生成式 AI API 文档 生成式 AI 假图像检测 API 可用于以编程方式检测假图像(即由生成式 AI 创建的图像)。2.X Virality Prediction API 旨在预测推文的潜在病毒式传播力。https://bitgrit.net/api/docs/x_virality_prediction 2.Gr…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...