51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 8116|回复: 10
打印 上一主题 下一主题

关于抓包后对信令流程的关联整合 [复制链接]

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

特殊贡献奖

跳转到指定楼层
楼主
发表于 2011-11-25 18:53:57 |只看该作者 |倒序浏览
一键分享 一键分享
爱总,苦于对抓包后不懂怎么关联出完整的信令交互流程.有时通过TILL,IMSI可以关联到一些.看爱总的视频里都可以把G b,Gn.Gi,接口的信令关联起来.还望爱总能指教一二..一般通过哪个字段进行关联各个流程.抓出单个用户的.ATTACH,PDP,RAU,等等一系列信令交互流程.

Rank: 9Rank: 9

懒

沙发
发表于 2011-11-27 11:27:22 |只看该作者
通常:
Gb/Iu口的用户层面的GMM、NAS消息,我用的是gsm_a_dtap或RANAP来过滤:
Gn口的信令或用户面可以分别用udp.port==2123 和udp.port==2152来过滤:
Gi口就不好说了,跑的是纯IP包,可以用手机的IP地址来过滤。
然后可以用or和and将过滤表达式连接起来构成完整的信令流程。
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

特殊贡献用户

分组域未来之星

VIP 论坛核心会员 特殊贡献奖

板凳
发表于 2011-11-28 08:30:45 |只看该作者
回复 爱卫生 的帖子

你们讲的都是wireshark抓包吧~     现在有不少公司自身软件就实现了很多种串联方式,点击一下就自动串联了

生命只有一次,珍惜珍重,勿浪费

使用道具 举报

Rank: 2Rank: 2

地板
发表于 2011-11-28 15:36:58 |只看该作者
回复 hendouse 的帖子

能举几个例子吗?这张串联是如何实现的?

我想将用户上网的一次流程串起来,获取一次行为中的用户手的IMSI、上网的http内容,如何串?网上找了一个java版的jNetPcap,但解析不了GTP消息。。

使用道具 举报

特殊贡献用户

分组域未来之星

VIP 论坛核心会员 特殊贡献奖

5#
发表于 2011-11-28 15:54:06 |只看该作者
回复 worldwind 的帖子

你可以用爱卫生的方法在wireshark里面过滤下看看。  
       一般这种串联方法都是很机密的,我做过的2家公司都有自己的信令软件,我们对串联方式都相当保密,把它当成了公司的核心技术,而具体串联方式我只是知道皮毛而已。

生命只有一次,珍惜珍重,勿浪费

使用道具 举报

Rank: 2Rank: 2

6#
发表于 2011-11-29 18:18:10 |只看该作者
秘密,呵呵

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

特殊贡献奖

7#
发表于 2011-12-3 02:44:52 |只看该作者
回复 爱卫生 的帖子

有可能前面表达的不是很清楚.应为不管是学习或是排障,分析懂完整的流程是比较重要的,由于刚接触GPRS核心网工作也就半年多点,从做了几年的数通跳到这个行当,一开始确实有些力不从心.现在也感觉工作不是那么充实,在打酱油.呵呵.但是还是将打酱油打的认真点吧.所以想通过分析信令数据包,这样能更好的掌握.但是各个接口的包是抓了.通过给定的几个信息对应不出完整的流程.所以有些头大了.废话说多了{:soso_e150:}.
打个比方,现在核心网侧附着KPI可能有些低,需要通过在Gb,Gn接口联合抓包来进行分析,在做测试时,用户侧仅能提供的有MSISDN,IMEI,通过在核心网SGSN设备上我们可以定位这个手机的IMSI.
通过以上信息在Gb,Gn接口关联出WS所抓取的数据包.

一般用户鉴权信息貌似都应有IMSI.通过IMSI过滤出了Authenticatin and ciphering req这个消息,这个消息中在BSSGP层是有TLLI值这个字段,通过前面的学习了解到TLLI这个字段在重新附着的时候,都是用到的 Foreign TLLI直到ATTACH COMPLETE消息之间,所以此时在Gb接口过滤出了.ATTACH REQUEST /IDENTITY REQUEST /IDENTITY RESPONSE / AUthentication and Ciphering req /Authentication adn ciphering resp / Attach ACCEPT /ATTACH COMPLETE 这些消息.(实际抓包当中这样过滤还有PDP的激活流程,在这里不解,不是应改在ATTACH 完成后使用新的P-TMSI进行TLLI的映射后续的消息应改在BSSGP层的TLLI字段运用这个新的LOCAL TLLI值吗?怎么还能用这个Foreign TLLI过滤出后续的PDP 激活呢?)

此时再在Gn接口过滤出剩余的通过Gn接口的附着信令消息.先通过UDP.PORT == 2123来过滤出GTP-C的信令消息,过滤后其中存在众多其它流程在Gn口产生的信令消息,如RAU,PDP 等等.此时再通过上一阶段在Gb接口过滤消息中的ATTACH REQUEST中的P-TMSI来过滤出Identification Request消息(所有的Identification Request消息中应改都有P-TMIS吧?对信令还是有些晕晕乎乎的,呵呵),应为这是还没有PDP激活所以无法通过TEID顾虑,此时用SEQUENCE NUMBER过滤.(对了这的SN是不是和TCP建链时的类似,只是听别人说通过这个可以顾虑,但是不知道具体的SN分配流程,貌似只有一对Request/response的消息中才相同,如果都是在GN口,Create PDP Context Request/Response 与Update PDP Context Request/response中的SN还都不相同?还望爱总详解啊),通过SN也过滤出了相对应的identification response 消息,但是Delete PDP Context Request消息貌似用与相同的Identification Request中SN过滤不出来.

上面是过滤一个用户ATTACH信令,貌似整的有些复杂了.爱总有没有在WS中简单点方法.

相应的PDP 激活流程怎么过滤呢?在Gb接口还是通过TLLI吗?这个TLLI怎么和仅有提供的IMSI,MSISDN,IMEI信息对应到?
Gn接口的话发现Create PDP Context Request消息中都带有IMSI.先通过IMSI 过滤出Create PDP Context Request然后再通过其SN 过滤出Create PDP Context Response.但是不知道再通过哪个字段取过滤Update PDP Context Request/Request 消息了.

还有RAU还没顾上研究怎么过滤.我先闭门造造车,然后再来问爱总吧..呵呵


小弟问题有些多.还望爱总不辞劳苦給解惑啊.有可能的话最后在讲讲方法或者思路,这样提取单个用户的其它流程自己也有思路了.嘿嘿.

最后在啰嗦啰嗦,看到爱总开了关于IP的子版块,呵呵.小弟这里倒是有些个几年前备战IE时的资料.挺多,但是坛子的空间较小上传起来着实困难啊.爱总赶紧得把坛子扩容了.哈哈.最后还得感谢,在坛子混的这几个月中各位哥们的无私解答啊.


使用道具 举报

Rank: 8

VIP 论坛核心会员 特殊贡献奖

8#
发表于 2012-2-24 12:50:29 |只看该作者
本帖最后由 hycl5410 于 2012-2-24 12:58 编辑

回复 Albert 的帖子

如果你不是做软件做系统,而是自己看看。没必要搞那么麻烦。
举个例子,用用户的PDP地址做索引,那么先找到create PDP resp,然后你就可以找到对应的req,再通过TEID匹配到U平面。具体过程我就不细说了,看看数据包或者24.008就知道了。到现在,Gn接口就全了。Gi一样的,数据面直接过滤地址即可,信令面找account start res,过滤fram ip,然后可以匹配出resp来,Gi完成。Gb稍微麻烦点,先得找到Gb口上传输的create pdp resp,找出你要过滤PDP地址的那个包,然后去BSSGP层(我记不清是不是在这层了啊。。。)找TLLI。运气好的话,TLLI不变就直接过滤全了,否则的话再考虑local,foreign,或者random等情况。GB-FR的话,泰克表很智能的,直接会算出来TLLI匹配条件,都不用你自己考虑。wireshark有没有类似功能就不知道了。。。
TLLI结构08.16还是08.18有写,实在是记不住了。如果懒得看,就记住P-TMSI就行,P-TMSI跟TLLI后面的部分都是一样的。

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

9#
发表于 2013-1-1 19:33:21 |只看该作者
爱卫生 发表于 2011-11-27 11:27
通常:
Gb/Iu口的用户层面的GMM、NAS消息,我用的是gsm_a_dtap或RANAP来过滤:
Gn口的信令或用户面可以分 ...

爱总,小弟向请教一下关于Gr口抓包后,如何关联?使用TCAP的id(tcap.tid == 4915:02:07
)这样过滤行么??您一般是怎么过滤的??
身体是革命的本钱!

使用道具 举报

Rank: 9Rank: 9

10#
发表于 2013-1-1 23:08:32 |只看该作者

你是需要关联一个UE用户的数据,对吗?可能没有一个表达式就能完全过滤出,tcap.tid ==的方法是根据TCAP的trancation号来过滤,但附着流程中Gr接口的交互过程可能是多次trancation,例如获取authentication参数和位置更新两次事务,那这两次的事务号就是tcap.tid可能是不一样的,所以你这样过滤应该可以过滤出一个用户的一次Gr接口事件,例如authentication参数获取或者位置更新,但不全。你可以试着用下面的:

gsm_map.imsi_digits == "46000xxxxxxxx"。这个表达式可以过绿出SGSN发给HLR的Gr接口的authentication参数请求以及位置更新请求消息,应该过滤得到两个报文,再看下这两个包的TCAP层的TID,应该是两个不同的TID,(如果是同一个那就更好啦。),然后你再用你的方法(tcap.tid == xxx) or (tcap.tid == yyy)来过滤。应该就能得到某个用户在Gr接口的流程信息。

你可以试试看。如果可以的话,可以回复下本帖做个确认。我手上没有大量Gr接口的报文。

使用道具 举报

Rank: 3Rank: 3Rank: 3

11#
发表于 2013-10-22 12:10:32 |只看该作者
学习了,顶一下。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-11-25 22:31 , Processed in 0.030029 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部