Kali 网络参数的配置
手工方式
Wired 有线
Woreless 无线
图形化的网络管理器(依赖的服务:NetworkManager)
┌──(root㉿kali)-[~]
└─# systemctl status NetworkManager
● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)Active: active (running) since Tue 2023-08-22 10:20:19 CST; 4h 12min agoDocs: man:NetworkManager(8)Main PID: 657 (NetworkManager)Tasks: 4 (limit: 1014)Memory: 4.9MCPU: 2.185sCGroup: /system.slice/NetworkManager.service└─657 /usr/sbin/NetworkManager --no-daemon8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0241] dhcp4 (eth0): activation: >
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0757] dhcp4 (eth0): state change>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0767] policy: set 'Wired connect>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0944] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1346] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1353] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1382] manager: NetworkManager st>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1434] device (eth0): Activation:>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1491] manager: NetworkManager st>
8月 22 14:24:13 kali NetworkManager[657]: <info> [1692685453.0681] dhcp4 (eth0): state change>

手工配置ip

┌──(root㉿kali)-[~]
└─# ifconfig eth0 down┌──(root㉿kali)-[~]
└─# ifconfig eth0 up ┌──(root㉿kali)-[~]
└─# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.195.102 netmask 255.255.255.0 broadcast 192.168.195.255inet6 fe80::c1e0:3920:f4c7:66fd prefixlen 64 scopeid 0x20<link>ether 00:0c:29:76:ad:97 txqueuelen 1000 (Ethernet)RX packets 4344 bytes 369947 (361.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 473 bytes 66629 (65.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
命令查看相关信息
## ip地址/掩码 ifconfig eth0 或 ip a
┌──(root㉿kali)-[~]
└─# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.56.130 netmask 255.255.255.0 broadcast 192.168.56.255inet6 fe80::20c:29ff:fe76:ad97 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:76:ad:97 txqueuelen 1000 (Ethernet)RX packets 4147 bytes 353381 (345.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 435 bytes 63633 (62.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0## 网关(默认路由) ip route show (简写:ip r)┌──(root㉿kali)-[~]
└─# ip route show
default via 192.168.56.2 dev eth0 proto dhcp src 192.168.56.130 metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.130 metric 100 ┌──(root㉿kali)-[~]
└─# ip r
default via 192.168.56.2 dev eth0 proto dhcp src 192.168.56.130 metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.130 metric 100 ## DNS cat /etc/resolv.conf nameserver 名称服务器
┌──(root㉿kali)-[~]
└─# cat /etc/resolv.conf
domain localdomain
search localdomain
nameserver 192.168.56.2
通过修改网卡的配置文件
┌──(root㉿kali)-[~]
└─# ls /etc/network/interfaces
/etc/network/interfaces
NO1.把NetworkManager服务关闭并设置为开机不启动
┌──(root㉿kali)-[~] ## systemctl stop NetworkManager 关闭
└─# systemctl stop NetworkManager ┌──(root㉿kali)-[~] ## 开机不启动 systemctl disable NetworkManager
└─# systemctl disable NetworkManager
Removed "/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service".
Removed "/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service".
Removed "/etc/systemd/system/multi-user.target.wants/NetworkManager.service".┌──(root㉿kali)-[~] ## 查看状态:systemctl status NetworkManager
└─# systemctl status NetworkManager
○ NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; disabled; preset: enabled)Active: inactive (dead) since Tue 2023-08-22 14:52:11 CST; 29s agoDuration: 4h 31min 52.135sDocs: man:NetworkManager(8)Main PID: 657 (code=exited, status=0/SUCCESS)CPU: 2.428s8月 22 14:45:47 kali NetworkManager[657]: <info> [1692686747.9199] device (eth0): Activation:>
8月 22 14:45:47 kali NetworkManager[657]: <info> [1692686747.9272] manager: NetworkManager st>
8月 22 14:46:10 kali NetworkManager[657]: <info> [1692686770.8799] audit: op="connection-upda>
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7085] caught SIGTERM, shutting d>
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7092] manager: NetworkManager st>
8月 22 14:52:11 kali systemd[1]: Stopping NetworkManager.service - Network Manager...
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7302] exiting (success)
8月 22 14:52:11 kali systemd[1]: NetworkManager.service: Deactivated successfully.
8月 22 14:52:11 kali systemd[1]: Stopped NetworkManager.service - Network Manager.
8月 22 14:52:11 kali systemd[1]: NetworkManager.service: Consumed 2.428s CPU time.
NO2.通过man查看配置如何编写
auto eth0 ## 启动时激活网卡
iface eht0 inet static ## 接口为eth0,地址指派方式为静态address 192.168.195.76/24 ## ip地址gateway 192.168.195.2 ## 网关## :set mouse=v vi中支持鼠标选中复制
## :set nu vi中设置行号
## :set nonu vi中取消行号

NO3. 要使配置内容生效,需要重启网络服务
──(root㉿kali)-[~]
└─# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eht0 inet staticaddress 192.168.195.76/24gateway 192.168.195.2┌──(root㉿kali)-[~]
└─# systemctl restart networking
修改DNS
通过修改 /etc/resolv.conf
┌──(root㉿kali)-[~]
└─# vi /etc/resolv.conf ┌──(root㉿kali)-[~] ## 最多可配置三个
└─# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.56.2
nameserver 8.8.8.8
nameserver 114.114.114.114## 可通过下面方式修改 2
echo "nameserver 223.6.6.6" > /etc/resolv.conf## 可通过下面方式修改 3 sed 是非交互式文本编辑器
sed 's/old/new/'
sed 's/nameserver 223.6.6.6/nameserver 8.8.8.8' /etc/resolv.conf ## 预改动
sed -i 's/nameserver 223.6.6.6/nameserver 8.8.8.8' /etc/resolv.conf ## 对原始文件进行修改
使用dig工具获取DNS信息
黑客可以使用DNS从目标处收集信息这些信息可能包含
目标名称服务器(将目标名称转换成 IP 地址的服务器)的 IP地址(A记录)
目标邮件服务器(MX记录)
潜在的所有子域名和 IP 地址

┌──(root㉿kali)-[~]
└─# dig hackers-arise.com ns; <<>> DiG 9.18.16-1-Debian <<>> hackers-arise.com ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41347
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;hackers-arise.com. IN NS;; ANSWER SECTION:
hackers-arise.com. 5 IN NS ns6.wixdns.net.
hackers-arise.com. 5 IN NS ns7.wixdns.net.;; ADDITIONAL SECTION:
ns6.wixdns.net. 5 IN A 216.239.32.100
ns7.wixdns.net. 5 IN A 216.239.34.100;; Query time: 2192 msec
;; SERVER: 192.168.56.2#53(192.168.56.2) (UDP)
;; WHEN: Wed Aug 23 10:04:22 CST 2023
;; MSG SIZE rcvd: 124┌──(root㉿kali)-[~]
└─# dig hackers-arise.com mx; <<>> DiG 9.18.16-1-Debian <<>> hackers-arise.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47404
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
;hackers-arise.com. IN MX;; ANSWER SECTION:
hackers-arise.com. 5 IN MX 10 aspmx.l.google.com.
hackers-arise.com. 5 IN MX 20 alt1.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 30 alt2.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 40 alt3.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 50 alt4.aspmx.l.google.com.;; Query time: 2824 msec
;; SERVER: 192.168.56.2#53(192.168.56.2) (UDP)
;; WHEN: Wed Aug 23 10:08:59 CST 2023
;; MSG SIZE rcvd: 150──(root㉿kali)-[~] ## 向指定的dns服务器查询
└─# dig qq.com any @8.8.8.8 ; <<>> DiG 9.18.16-1-Debian <<>> qq.com any @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 53864
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; EDE: 23 (Network Error): ([183.36.112.46] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.220.251] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.249.143] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([101.227.218.144] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.195.104] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([157.255.246.101] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([2402:4e00:8010:1::11c] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([117.184.232.216] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([58.144.154.100] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([112.60.1.69] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([2402:4e00:8030::111] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([59.36.132.142] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([240e:9f:c600::8] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([121.51.160.100] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([218.68.91.143] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.195.94] rcode=NOTIMP for qq.com/all)
; EDE: 22 (No Reachable Authority): (At delegation qq.com for qq.com/all)
;; QUESTION SECTION:
;qq.com. IN ANY;; Query time: 4492 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (TCP)
;; WHEN: Wed Aug 23 10:16:15 CST 2023
;; MSG SIZE rcvd: 889
类似工具 nslookup
┌──(root㉿kali)-[~]
└─# nslookup qq.com -type=any 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53Non-authoritative answer:
Name: qq.com
Address: 111.30.144.71
Name: qq.com
Address: 112.53.26.232┌──(root㉿kali)-[~]
└─# dig qq.com mx @8.8.8.8 ; <<>> DiG 9.18.16-1-Debian <<>> qq.com mx @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14321
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;qq.com. IN MX;; ANSWER SECTION:
qq.com. 30 IN MX 30 mx1.qq.com.
qq.com. 30 IN MX 20 mx2.qq.com.
qq.com. 30 IN MX 10 mx3.qq.com.;; Query time: 16 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Aug 23 10:18:22 CST 2023
;; MSG SIZE rcvd: 95## +noall 没有任何输出
## +answer 只看应答输出
┌──(root㉿kali)-[~]
└─# dig +noall +answer mail.163.com any
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.## 反向查询 -x 记录类型 PTR(指针记录)
┌──(root㉿kali)-[~]
└─# dig +noall +answer -x 220.181.14.161
161.14.181.220.in-addr.arpa. 5 IN PTR m14-161.188.com.
Bash小技巧
## ESC + . (或!$)调用上一个命令的参数
## ctrl + c 中止一个命令
## ctrl + t 交换前后两个字符的位置
## ctrl + E 回到行尾
## ctrl + a 回到行首
## ctrl + w 删除左边的单词相关文章:
Kali 网络参数的配置
手工方式 Wired 有线 Woreless 无线 图形化的网络管理器(依赖的服务:NetworkManager) ┌──(root㉿kali)-[~] └─# systemctl status NetworkManager ● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/N…...
在 Redis 中处理键值 | Navicat
Redis 是一个键值存储系统,允许我们将值与键相关联起来。与关系型数据库不同的是, 在Redis 中,不需要使用数据操作语言 (DML) 和查询语法,那么我们如何进行数据的写入、读取、更新和删除操作呢?…...
RedisTemplate和StringRedisTemplate的区别、对比
学习 Jedis、RedisTemplate、StringRedisTemplate之间的比较 博客中提到:一. Jedis是Redis官方推荐的面向Java的操作Redis的客户端。 二. RedisTemplate,StringRedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更…...
使用ChatGPT进行创意写作的缺点
Open AI警告ChatGPT的使用者要明白此工具的局限性,更不应完全依赖。作为一位创作者,这一点非常重要,应尽可能地避免让版权问题或不必要的文体问题出现在自己的作品中。[1] 毕竟使用ChatGPT进行创意写作目前还有以下种种局限或缺点[2]…...
七、任务优先级和Tick
1、任务与中断的优先级 (1)相同优先级任务轮流执行。 (2)高优先级任务打断低优先级任务。 (3)中断可以打断所有优先级的任务。 2、任务优先级 (1)优先级的取值范围是:0~(configMAX_PRIORITIES – 1),数值越大优先级越高。 (2)FreeRTOS会确保最高优…...
Python——三目运算语句
本文基于python3。 目录 1、三目运算语句的定义2、三目运算语句:包含逻辑运算符 (and、or、not)1、 包含 and2、包含 or3、包含 not4、包含 and、or、not 3、三目运算语句:使用多个if ... else ...形式4、三目运算语句:在列表(li…...
C 实现Window/DOS 键盘监听事件
今天是重新复习C语言实现的第一天,今天想编写C 对Windwos/Dos 键盘事件的学习。但是我在安装Visual Studio 2022 没有安装MFC 框架,今天记录下VS追加 MFC框架。 Visual Studio 2022 追加MFC 1、打开vs,点击创建新项目,右侧滑动框…...
在vue中使用 axios 访问 API
Vue 不像 jQuery 内置了 ajax 请求函数,在 Vue 中没有提供这样的功能。所以当我们需要在 Vue 中和服务端进行通信的时候可选择的方式会更灵活一些。 所以 Vue 给了我们更多的选择空间,例如我们可以使用下面的可选方案: 原生的 XMLHttpReques…...
java八股文面试[java基础]——浅拷贝和深拷贝
自验证:创建Class Student两个类, Student中含有Class对象 public class Class implements Cloneable {public String getName() {return name;}public void setName(String name) {this.name name;}private String name;public Class(String name) {t…...
【DC-DC的原理图及Layout设计要点】
文章目录 前言1.DC-DC的环流2.PCB布局要点3.输入电容器的布局4.续流二极管的布局5.热焊盘 前言 在开关电源的设计中,PCB布局设计与电路设计同样重要。合理的布局可以避免电源电路引起的各种问题。不合理的布局可能导致输出和开关信号叠加引起噪声增加、调节性能恶化…...
TCP可靠性机制
确认号/序列号/ACK TCP帮助确保数据的准确传递。为了做到这一点,其使用了一些特殊的标记和信息,其中包括序号、确认号和ACK字段。 其中,它将每个字节的数据都进行了编号. 即为序列号. 序列号:就像给书中的每一页都编了号码一样&a…...
solidity0.8.0的应用案例13:数字签名及应用:NFT白名单
以太坊中的数字签名ECDSA,以及如何利用它发放NFT白名单 代码中的ECDSA库由OpenZeppelin的同名库简化而成。 数字签名 如果你用过opensea交易NFT,对签名就不会陌生。下图是小狐狸(metamask)钱包进行签名时弹出的窗口,它可以证明你拥有私钥的同时不需要对外公布私钥。 …...
视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 有用户反馈,下载了视频直播点播平台EasyDSS最新版本&a…...
【网络】DNS | ICMP | NAT | 代理服务器
🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 前面几篇文章虽然讲介绍了整个网络通信的协议栈,我们也知道了完整的网络通信过程ÿ…...
详细手机代理IP配置
嗨,亲爱的朋友们!作为一家代理产品供应商,我知道有很多小伙伴在使用手机进行网络爬虫和数据采集时,常常会遇到一些IP限制的问题。别担心!今天我要给大家分享一下手机IP代理的设置方法,让你们轻松应对这些限…...
【C++】—— 简述C++11新特性
序言: 从本期开始,我将会带大家学习的是关于C11 新增的相关知识!废话不多说,我们直接开始今天的学习。 目录 (一)C11简介 (二)统一的列表初始化 1、{}初始…...
协议的分层结构
1.1TCP/IP 协议 为了使各种不同的计算机之间可以互联,ARPANet指定了一套计算机通信协议,即TCP/IP 协议(族). 注意TCP /IP 协议族指的不只是这两个协议 而是很多协议, 只要联网的都使用TCP/IP协议族 为了减少 协议设计的复杂度 ,大…...
Linux下彻底卸载jenkins
文章目录 1、停服务进程2、查找安装目录3、删掉相关目录4、确认已完全删除 1、停服务进程 查看jenkins服务是否在运行,如果在运行,停掉 ps -ef|grep jenkins kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 # 删掉相…...
Nebula基础的查询操作介绍
Nebula基础的查询操作介绍 这里只是对Nebula基础查询进行介绍,其目的是为了让未接触过Nebula的同学最短时间了解其语句。更详细更准确的内可以查看官方文档。 docs.nebula-graph 关于查询这里并没有使用官方例子数据,而是自己实际尝试了文档中的语句。 …...
C++ STL序列式容器(详解)
STL基础 C STL基本组成(6大组件13个头文件) 通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如表 1 所示。 表 1 STL 组成…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
