自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 IMS IPsec安全机制

本文介绍了基于RFC 3329等标准的IMS IPsec安全机制。重点阐述了SIP安全机制协商规范,包括协议目的(仅用于UA与其第一跳SIP实体间的安全机制协商)、设计目标(快速协商、防降级攻击等)以及三个核心头域(Security-Client/Server/Verify)的语法结构和参数定义。详细解析了ABNF语法格式,并以ipsec-3gpp机制为例,说明了其必备参数(alg/spi/port等)和可选参数(ealg/q值等)的具体应用规则。

2025-12-12 10:40:11 840

原创 RFC 4028 - SIP会话定时器协议

RFC 4028定义了SIP会话定时器机制,通过周期性re-INVITE或UPDATE请求刷新会话状态。新增Session-Expires、Min-SE头字段和422响应码,支持协商会话刷新间隔(最小90秒)和刷新者角色(UAC/UAS)。代理服务器可调整会话间隔但不能提高,UAS/UAC需监控刷新状态并在超时前终止会话。该机制兼容不支持定时器的端点,由代理服务器补充实现,同时通过Min-SE防止恶意设置过短刷新间隔。

2025-12-05 10:01:20 578

原创 IPSec 与 XFRM 框架总结和相关问题分析

IPSec与XFRM框架总结 IPSec是IP层安全协议,包含ESP(加密+认证)、AH(认证)和IKE(密钥交换)组件。其核心是Security Association(SA),由目标地址、协议和SPI唯一标识,包含加密/认证密钥等参数。 Linux XFRM框架实现IPSec,分为Policy层(SPD)和SA层(SAD)。SPD决定哪些流量需要保护,基于源/目标地址、端口和方向;SAD实际执行加密/解密操作。数据包处理时先匹配Policy再查找SA。 在IMS中,P-CSCF和UE间使用IPSec保护

2025-10-17 17:12:28 694

原创 IMS和HSS的Cx接口

IMS Cx接口是IMS架构中CSCF与HSS之间的关键接口,基于Diameter协议(Application-ID: 16777216),主要用于用户注册、鉴权、S-CSCF分配和服务配置等信令交互。主要消息流程包括UAR/UAA(用户授权)、MAR/MAA(鉴权数据获取)、SAR/SAA(服务器注册)、LIR/LIA(位置查询)等。典型应用场景如IMS注册流程中,I-CSCF通过UAR向HSS查询用户授权信息,S-CSCF通过MAR获取鉴权向量,并最终完成用户注册。

2025-07-07 10:51:13 909

原创 PCRF和AF的Rx接口

IMS Rx接口是应用功能(AF)与策略控制功能(PCRF)间的标准接口,基于Diameter协议(16777236),用于VoLTE/VoWiFi等业务的QoS和策略管理。核心消息包括AAR/AAA(授权请求)、RAR/RAA(重授权)和STR/STA(会话终止)。关键AVP涵盖会话标识、媒体描述(带宽、编解码、流状态)及计费信息。该接口遵循3GPP TS 29.214等标准,实现网络与应用层的策略交互控制。

2025-07-03 10:08:12 1316

原创 IMS短信

IMS短信技术解析 IMS短信(SMS over IMS)是通过IP多媒体子系统承载的短信服务,实现了短信业务全IP化。主要技术特点包括: 协议标准:基于3GPP TS 24.341等核心规范,采用SIP MESSAGE方法传递短信内容 业务流程:包含终端与IMS核心网、短信中心间的SIP消息交互,支持完整的短信收发流程 消息结构:使用application/vnd.3gpp.sms格式,包含RP-Message Header和TPDU两部分,采用二进制编码 地址处理:支持国际/本地号码的BCD编码,包含T

2025-07-02 10:16:11 1457

原创 SIP消息头字段

摘要: SIP(会话发起协议)是建立多媒体会话的重要信令协议,广泛应用于VoIP和IMS领域。本文结合3GPP和IETF标准,系统介绍了SIP消息头字段的结构与规范。SIP消息包含起始行、消息头和消息体三部分,其中消息头字段遵循"Header-Name: Header-Value"格式,各字段间用\r\n分隔。重点解析了Via、From、To、Call-ID等17个核心头字段的功能、格式和使用注意事项,包括分支标识、标签参数、内容类型和长度检查等关键要点,特别指出部分手机在Via协议大小

2025-06-26 12:44:02 1135

原创 lua脚本在kamailio中应用

简单记录lua脚本在kamailio中使用

2025-03-06 15:40:56 906

原创 Ragel语法学习

Ragel 是一个状态机编译器,使用状态机(State Machine)来处理和解析输入文本。它允许开发者用简洁的状态机图形语言描述解析器,然后生成高效的 C、C++、D、Java、Go 或 Ruby 代码。Ragel 可以处理复杂的输入解析任务,常用于编写网络协议解析器、数据格式解析器和编程语言的词法分析器等。

2024-10-17 10:05:57 621

原创 gcc版本回退

最近有一个c项目需要运行。但是遇到gcc版本问题,项目所在虚拟机的版本是11.4,而项目需要的版本是9.5。能看到输出的版本确实是9.5,但项目中make时仍然在使用11.4版本。通过查看makefile文件,在项目目录下设置。这将会显示一个菜单,你可以在其中选择你想要设置为默认的 GCC 版本。这些命令将显示当前默认的 GCC 和 G++ 版本。这样设置后项目的make确实使用了9.5版本。实际上,通过以上步骤后,虽然使用。

2024-07-12 16:29:25 1187 1

原创 vscode+go

vscode+go开发过程中遇到的问题和解决方法

2024-03-07 11:57:14 611

原创 IMS放音

MRF包含MRFC(Multimedia Resource Function Controller)和MRFP(Multimedia Resource Function Processor)两个模块。MRFC负责控制MRFP进行放音,而MRFP负责存放具体的多媒体放音资源。两者通过Mp接口(H.248)进行交互。而AS使用Mr`接口(SIP消息)和MRFC进行交互。IMS放音主要是指IMS网元或节点给UE播放的一段RTP媒体流音频,达到提醒UE业务状态或进度的目的。

2024-01-05 09:27:28 2342

原创 HSS和AS的Sh接口

TS 29.328可见详细介绍(本来放了英文文档,但是只能VIP下载,贴个,下载最下面的是最新的版本)

2023-11-28 14:09:49 1869

原创 IMS网元的发现和选择

如果是共享iFC,在S-CSCF侧有本地配置的iFC模板值。在请求用户签约数据时,iFC不会使用完整的iFC内容,而是会使用iFC模板ID。通常来说,DRA根据IMSI来寻址,消息中的User-Name和Public-Identity都和IMSI有关。有一篇博客单独介绍身份标识的,感兴趣可以看看,也可以自己搜索,网上介绍还是挺多的。P-CSCF的地址通常配置在PGW-C(4G)/SMF(5G)下,通过PDN连接(4G:APN=ims)建立流程或5G的PDU会话建立流程下发给UE。

2023-11-23 15:36:14 1339

原创 IMS用户标识

现网IMS以省为单位建设,按照规范,除P-CSCF外,其他网元都应该在归属地。ISIM卡有省份标签标识,可以直接在注册流程中使用。而USIM卡需要UE自行推导T-IMPU,没有携带省份标签。因此,如果USIM注册,访问拜访地I-CSCF。IMS用户私有标识,运营商侧用户的全球唯一标识,在IMS-HSS中作为签约数据发放。IMPI在HSS和UE侧都需要有,但HSS中统一发放,而UE需要自己根据IMSI生成。IMS用户公有标识,主要用于呼叫过程中的呼叫路由和寻址,需要在HSS中开户签约。

2023-11-14 09:43:10 1813

原创 SIP请求和响应

成功类响应可以包含Allow,Accept,Accept-Encoding,Accept-Language和Supported头域,说明能力集。内容由Refer-To头域指定,且为必须,格式一般为URI或URL(sip,sips,http,pres。Event标识关键参数,取值为reg标识注册事件,取值为presence标识呈现状态的订阅。扩展类:INFO,MESSAGE,SUBSCRIBE,NOTIFY,UPDATE,REFER,PUBLISH,PRACK。2XX成功响应, 表示请求已被成功接收。

2023-11-10 10:01:36 1531

原创 SIP协议基础学习

SIP消息分为请求和响应两类,一个请求及其对应的一个或多个响应构成一个SIP操作。其中SIP的请求方法标识出不同的操作类型。SIP是基于事务的协议,一次呼叫由多个事务组成。事务通过Cseq来标识。简单说,一个设备发出SIP请求,到收到该请求的最终响应(183、180是中间响应),视为一个事务。格式:SIP-Version + Status-Code(状态码)+ Reason-Phrase(状态码含义)+ CRLF。SIP消息运用了IP协议,是基于文本的协议,使用UTF-8字符集,结构同HTTP消息类似。

2023-11-09 10:02:20 470

原创 gorm学习

调用sql.Open函数并没有真正建立连接,而是创建一个对象,当执行Query或者Exec方法,才会去连接数据库。默认情况下,每次执行sql语句都会建立一条tcp连接,执行结束会断掉连接,但是会保留两条来连接闲置,下次执行sql时,会先用闲置的连接,不够时再去创建连接。函数可以对查询结果进行指定顺序的排序,字段str按照字符串str1,str2,str3,str4的顺序返回查询到的结果集。如果表中str字段值不存在于str1,str2,str3,str4中的记录,放在结果集最前面返回。

2023-10-20 17:15:24 194

原创 goland调试报错

(3)将路径修改成 gopath中的路径+bin\dlv.exe,或者将gopath位置修改成安装位置,再将gopath中的所有文件复制到安装位置的相应文件中。(2)查看环境变量中,gopath的位置,去该位置下查看是否有bin/dlv,如果还是没有,那就找找别的教程。下载一个高版本的delve,再修改goland的配置,调试使用下载的delve。如果下载完成后,经过上述步骤4-5还是没有成功,可以尝试自查。(1)先打开bin包是否出现dlv,有则跳过1。1、检查delve是否出现在go的bin包下。

2023-07-18 09:58:50 1265 1

原创 idea springboot+uni-app项目报错解决

springboot的报错和解决方法

2023-04-17 09:48:52 4168

原创 中南机试刷题

中南机试刷题

2023-03-13 10:59:38 189

原创 visual studio code遇到的问题和解决方法

vscode奇奇怪怪的报错

2023-03-01 08:58:34 1316

原创 C++值传递和地址传递

C++值传递和地址传递

2022-10-08 22:26:34 767 1

原创 vscode调试C/C++报错:the program has exited with code 42 (0x0000002a).

VScode写C/C++调试代码报错:the program has exited with code 42 (0x0000002a).解决方法

2022-09-25 21:58:24 8517 1

原创 数据结构刷题——数组

数据结构刷题

2022-09-15 23:34:52 465

原创 头歌MinMax算法和AlphaBeta算法

这里头歌平台上两题都能过。由于本人的python非常渣,代码可能有点繁琐,没有体现python的简洁,可以改进的地方自行改造MinMax算法对弈游戏时,假定两人都足够聪明,下一步都是对自己最有益、对对手最坏。那么针对这种情况,在A要下下一步时,存在一个针对A的对局势的判别函数,A肯定会向函数值大的下,而对手B势必会下在函数值下的地方。1、题目描述给出一个井字棋的棋盘状态,下一步为‘x’开始走步,给出‘x’下一步最佳走步列表。2、踩坑首先这里的’x’和‘o’都是小写其次出现无法胜利(根节点无法

2022-04-23 23:46:54 3684 3

原创 计算机组成原理实验

前言上学期刚结束了计算机组成原理课程,在这里把上学期做过的实验都记录一下。这里一共有4个:海明码的编码和解码、ALU、字库、RAM。我们是使用的谭志虎:自己动手画CPU。资源中间参考了很多大佬,我在gitee上fork一下原来的代码,再把我自己的上传到仓库中。这里贴一下我的仓库。介绍首先需要了解一下logisim的简单使用操作介绍时钟介绍这个软件还挺好,支持多选删除,就像是对文件夹进行操作一样。点击对应的电路器件,可以在左下调整对应的数值。海明码的编码和解码原理的话,很多博主

2022-03-22 15:59:33 7230 6

原创 NiZhuanSiWei

个人做题感受题解1、php伪协议2、php反序列化3、过程3.1 text3.2 file3.3 password1、php伪协议也是刚开始学,这里参考这位大佬2、php反序列化3、过程3.1 text查看关于text,需要text内容存在,且text文件中的数据为welcome to the zjctf用到了php伪协议中的data。我们可以构造这样的?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=这里后面的ba

2021-10-26 22:44:45 2338

原创 Easy MD5

仅仅是个人刷题记录,有问题欢迎友好讨论1、数组绕过md5()在php中无法处理数组,会将数组转化为null2、特定的md5加密语句ffifdyop\276f722736c95d99e921722cf9ed621通过md5加密后的数字串会被sql用ascii解释变成包含’ ’ or ’ '的语句3、解题过程页面有一个输入什么都没有反馈的输入框,通过网络响应头可以看到有一个hint也就是说password会经过这样的一个md5()函数,再赋值给password。我们可以通过特殊字符组合通过md5

2021-10-25 00:02:19 410

原创 BuyFlag

BuyFlag文章目录BuyFlag一些废话过程1、下载安装maxhackbar2、添加代理3、解题一些废话哎呀妈呀,费了我老大劲了。菜鸡的我看了大佬的wp,觉得我行了。但。。但。。但是那个GET改成POST之后,一直没反应。网上各个大佬的回答大多是简单的,但都是简单一个用hackbar改一下。hackbar收费了,咱也不是那种有钱人,只能找找其他的,有一个maxhackbar替代品,但是网上教程不是很详细,不太会,阿巴阿巴阿巴。最终找出一个替代的解决方案。那就是:使用maxhackbar将请求从GE

2021-10-13 22:01:24 539

原创 web刷题

WarmUp查看源文件,提示了source.php,那我们就去看看source.php有什么东西。/source.php一堆代码,我们慢慢看,很明显,有一个emm的类,类里面有一个checkFile函数,需要传入一个参数page,并返回布尔值。接下来简单了解一些基本函数。isset:判断是否为空in_array:判断是否在数组中mb_substr:获取字符串的指定字段mb_strpos:获取指定字符出现在字符串的位置is_string:判断是否全为字符来,我们再来看看这段程序。程序获

2021-08-11 15:53:32 220

原创 buu-misc刷题

二维码扫描二维码,没有结果,将二维码改成txt,可以看到一个可能包含一个文件将后缀改成zip,用解压软件查看,果然有,要密码,几经查找,找到一个ziperello软件,这里推荐一个包含ziperello下载地址博客,博客文末有,我不敢直接贴地址,自己去找吧。解压直接能用,暴力破解,打开后拿到flag{vjpw_wnoei}N种方法解决下载解压后,更改格式为txt,打开是一个这样的东西,有base64,找一个能解码base64的软件http://www.jsons.cn/img2base64/

2021-08-06 18:38:36 755

原创 sqli-labs

sqli-labs1学到了一个函数group_concat检查闭合:存在注入点?id=0'检查输出:2,3输出?id=0'+union+1,2,3+--+检查数据库:security?id=0'+union+select+1,2,database()+--+检查表:emails,referers,uagents,users(好多呀,也不知道有没有,一个一个看看吧)?id=0'+union+select+1,2,group_concat(table_name)+from+informa

2021-07-30 21:27:01 154

原创 sql注入

一个很棒的博文sql注入PHP连接数据库(MySQL)主要采用mysqli_connnect函数与数据库建立连接,mysqli_connect函数详解可参考菜鸟教程$con=mysqli_connect( '127.0.0.1',//主机名 '',//数据库用户名 '',//数据库密码 '',//数据库名 '',//数据库采用端口号,可以不填,默认是3306);if(!$con){ //错误提醒 echo "error:connection"; exit;}与数据库的交互主

2021-07-26 17:27:36 126

原创 php初步接触学习

只是简单了解,很多都可以有另外的实现方式菜鸟教程标签<?php//内容?>输出语句//写在标签内。//echo 内容;变量php中对于变量的使用都要在前面加上‘$’用于识别变量。//$变量名=变量值;//变量值可以是任意常见的数据类型。$a=1;$str='I\'m a str';$array=[1,2,3,4];//关于字符串拼接,用。$st=$st1.$str2;函数类似js//function 函数名(){}funtion add($a,$

2021-05-23 16:46:19 128

原创 csrf漏洞学习

通过js向网页发送请求获取内容//javascrip实现var xml = new XMLHttpRequest();xml.open('GET', "网址");//xml.setRequestHeader("自定义报文头");xml.send('sss');//利用回调函数获取返回页面的值。xml.onreadystatechange = function() { //判断是否获取成功。成功则弹出值。 if (this.status == 200) {

2021-05-23 15:58:07 203

原创 数据格式介绍和几种加密方式介绍

CTF密码学常见加密解密总结Base64特点:只由a-z A-Z + / 组成一篇文章彻底弄懂Base64编码原理url编码特点:%16进制码组成asic码转16进制,前面加%RSA特点:字母数字,用+串联,结尾有=号公私钥加密...

2021-05-18 20:21:26 765

原创 burp suit安装和证书安装

burp suit 安装和证书安装这里仅仅只是我个人安装的过程,可以提供参考,在下也是小白,都还没有入门,如果有错误可以指出。安装安装推荐参考这个博文[Burp Suite安装配置详解(附Java 环境安装)](https://blog.youkuaiyun.com/qq_26605049/article/details/89574477)证书安装这个比较麻烦。用Microsoft Edge浏览器为例。先安装浏览器插件1、2、3、这里如果自己有下载插件安装文件可以点击加载解压缩文件,选择自己

2021-05-17 09:41:20 2046

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除