SIP呼叫流程分析和Wireshark抓包

合集下载

使用Wireshark进行SIP包解析

使用Wireshark进行SIP包解析

使用Wireshark进行SIP包解析展开全文1. 安装Wireshark下载Wireshark后,安装很简单,基本上只需要点击“Next”和“I agree”等按钮,不再赘述。

2. Wireshark介绍参见:copy一下简要介绍:Wireshark 是网络包分析工具。

网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。

你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。

(当然比那个更高级)过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。

Wireshark出现以后,这种现状得以改变。

Wireshark可能算得上是今天能使用的最好的开元网络分析软件。

下面是Wireshark一些常用的应用举例:l 网络管理员用来解决网络问题;l 网络安全工程师用来检测安全隐患;l 开发人员用来测试协议执行情况;l 用来学习网络协议。

3. 使用Wireshark进行SIP包解析3.1 抓包因为最近项目中有用到SIP,发现Wireshark在进行SIP包解析还是比较方便的。

Wireshark的窗口如下图所示:点击左上方的“”按钮,弹出设置捕捉属性框窗口如下图所示:在“Capture”下方的下拉框中选择可用的本地接口,笔者选择:而后点击下方的“Start”按钮,开始抓图。

因为此时没有过滤,所以抓的信息时各种各样的包信息,可在输入框中输入“SIP || rtsp”来过滤SIP和RTSP包,如下图所示:点击左上方的停止按钮停止抓包。

3.2 对包进行解析SIP是属于VoIP协议族的,我们可以对我们所抓的SIP包进行解析,在工具栏选择“Telephony”->“VoIP calls”,弹出窗口如下图所示:选择某条信息后,点击“Graph”按钮,弹出窗口如下图所示:在上图中清晰的画出了SIP交互的流程,对我们分析流程的正确性等很有帮助。

wireshark抓包工具的工作原理、特点和应用场合

wireshark抓包工具的工作原理、特点和应用场合

【Wireshark抓包工具的工作原理、特点和应用场合】一、Wireshark抓包工具的工作原理1. 数据包捕获:Wireshark通过网络接口捕获网络上的数据包,可以实时监控数据流量,并将其转化成可读的数据格式。

2. 数据包分析:Wireshark可以对捕获的数据包进行解析和分析,包括源位置区域、目的位置区域、协议类型等信息,方便用户理解和判断网络通信情况。

3. 数据包展示:Wireshark提供了直观的图形化界面,将捕获的数据包以列表和流的形式展示,方便用户观察和分析。

二、Wireshark抓包工具的特点1. 多协议支持:Wireshark支持多种网络协议的捕获和解析,如TCP、UDP、IP、HTTP等,可以满足复杂网络环境下的需求。

2. 灵活性:Wireshark可以根据用户需求进行过滤和搜索,筛选出特定的数据包进行分析,有利于快速定位网络问题。

3. 开源免费:Wireshark是一款开源软件,用户可以免费获取和使用,而且有强大的社区支持,可以及时获得更新和技术支持。

4. 跨评台性:Wireshark支持多种操作系统,包括Windows、Linux、macOS等,方便用户在不同评台上使用和部署。

三、Wireshark抓包工具的应用场合1. 网络故障排查:Wireshark可以帮助网络管理员分析网络故障原因,包括丢包、延迟、网络拥堵等问题,并提供有效的解决方案。

2. 安全监测:Wireshark可以监控网络通信情况,检测潜在的网络攻击,帮助用户保护网络安全。

3. 网络性能优化:Wireshark可以分析网络通信情况,帮助用户优化网络性能,提高数据传输效率。

4. 教学和研究:Wireshark可以作为教学和研究工具,帮助用户深入理解网络通信原理和技术,提高网络技术水平。

四、个人观点和理解Wireshark作为一款强大的网络抓包工具,具有丰富的功能和灵活的应用方式,可以帮助用户解决各种网络问题,提高网络管理效率和安全性。

wireshark抓包原理

wireshark抓包原理

wireshark抓包原理Wireshark抓包原理。

Wireshark是一款网络协议分析工具,它可以实时地捕获和分析网络数据包。

在网络安全领域,Wireshark通常被用来进行网络流量分析和故障排查。

它的抓包原理是通过监听网络接口上的数据流量,将捕获到的数据包进行解析和展示,从而帮助用户理解网络通信过程和发现潜在的问题。

首先,Wireshark利用操作系统提供的网络接口来捕获数据包。

当用户启动Wireshark并选择一个网络接口时,Wireshark会开始监听该网络接口上的数据流量。

这意味着Wireshark可以捕获该网络接口上发送和接收的所有数据包,无论是来自本地计算机还是网络中其他设备。

其次,Wireshark对捕获到的数据包进行解析和展示。

数据包是网络通信的基本单位,它包含了通信的源地址、目的地址、协议类型、数据内容等信息。

Wireshark会对每个捕获到的数据包进行解析,并将解析结果以可视化的方式展示给用户。

用户可以通过Wireshark的界面来查看每个数据包的详细信息,包括源地址、目的地址、协议类型、数据内容等,从而深入理解网络通信过程。

此外,Wireshark还支持对数据包进行过滤和分析。

用户可以根据需要设置过滤规则,只展示符合条件的数据包,这对于大规模网络环境下的故障排查非常有用。

同时,Wireshark还提供了丰富的统计功能,可以帮助用户分析网络流量的特征,发现异常情况并进行进一步的分析。

总的来说,Wireshark的抓包原理是基于对网络接口上的数据流量进行捕获、解析和展示。

通过Wireshark,用户可以深入理解网络通信过程,发现潜在的问题,并进行进一步的分析和处理。

它是网络安全领域中不可或缺的工具,对于网络管理员、安全研究人员和开发人员来说都具有重要的意义。

SIP进阶-Wireshark使用及实例分析

SIP进阶-Wireshark使用及实例分析

SIP进阶-Wireshark使⽤及实例分析SIP进阶----wireshark使⽤及实例分析⼀、SIP会话概念:Call-ID:⼀个会话的唯⼀标识CSeq:对应⼀个序号+请求⽅法,例如60 INVITE,对应的响应也需要和这个CSeq⼀致,每次不同的事务CSeq都需要+1,uac和uas独⽴计算Branch:会话中⼀个事务的唯⼀标识,⼀个事务简单说就是请求+响应,按标准必须以z9hG4bK开头,⼀般来说所有的请求的Branch都是不⼀样的,除了两个特殊的:CANCEL 和针对⾮2xx响应的ACK需要和其取消的请求有⼀致的BranchFrom tag:会话中uac标识To tag:会话中uas标识以call_id.pcapng中的例⼦讲解:1. [Call-ID]从最初的INVITE到最后BYE结束通话,整个算同⼀个会话,所以这中间的其他请求(I帧请求和Session Timer更新也是包含在这个会话当中)和响应都是同⼀个Call-ID:2. [Branch]初始INVITE、uas响应的100/422、uac的ACK确认是⼀个事务,Branch应该⼀样,这⾥ACK因为是对422(⾮2xx)响应的,所以Branch也⼀致接下来的INVITE、uas响应的180/200是⼀个事务,⽽ACK是针对200ok(2xx)的,所以是⼀个单独的Branch会话过程中的INFO和UPDATE和对应的响应都是不同的Branch,最后的BYE和200⼜是⼀次事务,整个会话结束3. [From tag&To tag]整个会话过程中From tag和To tag都是唯⼀的4. [Cseq]uac和uas的CSeq独⽴计算⼆、wireshark使⽤技巧1. column设置我认为以下的column信息是必要的2.颜⾊规则不同的协议,不同的服务器可以⽤颜⾊区分,按各⾃喜好设置3.数据过滤ip.addr/ip.src/ip.dsteth.addr/eth.src/eth.dstudp.port/udp.srcport/udp.dstportsip.Via.branch/sip.Call-ID/sip.CSeq/sip.Method rtp.p_type/rtp.ssrc4.Follow TCP/UDP Stream5.Decode As6.Preference-->Protocols SSLH.264 payloadRTP EVENT三、实例分析(信令部分)1.连续两个新的事务请求(reinvite_transaction.pcap)事务1的CSeq为107 INVITE,事务2的CSeq为108 INVITE,处理事务必须是按顺序来,事务1未处理完成,所以处理事务2的响应500 Internal Server Error,并告知Warning: 399 GS "Previous INVITE is not completed or terminated",响应和请求的匹配关系需要通过Call-ID和CSeq来判断2.多个会话和事务的区分(transaction.pacpng)数据中包含了多个会话,其中注册以及后⾯的重注册算同⼀会话,可以按条件sip.Call-ID == "859539580-5060-1@BJC.BGI.BCI.BBJ"来过滤后⾯的呼叫⼜是⼀次会话,按条件sip.Call-ID == "703915166-5060-2@BJC.BGI.BCI.BBJ"或者sip.from.tag == "281597148"|| sip.to.tag == "as44a1d5bd"都可以过滤,因为同⼀会话的from tag和to tag都是唯⼀的主叫和被叫的Branch和CSeq分开独⽴统计的,主叫这边⼀共有6个不同Branch,如下⿊⾊选中部分,被叫有2个From tag和To tag整个会话中都是固定的,也是⽤于标识整个会话的INVITE请求中只携带From tag,⽽To tag需要对⽅响应带上,sipp官⽅的uac.xml中初始INVITEtag=[call_number]这⾥的tag是⾃⼰随机⽣成的,⽽在To⾥⾯不带tag值再看uas.xml中的响应再看uac后续的ACK和BYEuac获取到uas的tag后使⽤[peer_tag_param]填⼊到To域中注意:sipp使⽤时分号”;”不⽤写,[remote_port]>[peer_tag_param],虽然实际数据是需要分号的。

Wireshark抓包分析指南

Wireshark抓包分析指南

Wireshark抓包分析指南Wireshark抓包指南⽬录⼀.Wireshark⼯具介绍 (2)⼆.Wireshark安装 (2)三.wireshark⽹卡配置 (7)四.SIP协议分析 (8)1.SIP注册流程 (8)2.SIP呼叫流程 (9)3.DTMF分析 (10)4.RTP媒体分析 (11)⼀.Wireshark⼯具介绍Wireshark是⼀个⽹络数据库分析软件,功能⼗分强⼤。

可以截取各种⽹络封包,包括HTTP,TCP,UDP,SIP等⽹络协议,显⽰⽹络封包的详细信息。

⼆.Wireshark安装1.wireshark下载,下载地址:/doc/c1efd82b680203d8ce2f24af.html /download.html,根据⾃⼰笔记本系统选择合适的安装包2.安装步骤:a.双击wireshark安装包,点击nextb.License agreement信息,点击I Agress继续c.选择组件,默认安装所有组件,点击next继续d.创建快捷⽅式,关联⽂件类型,点击next继续e.选择wireshark的安装路径,点击next继续d.选择安装WinPcap,该插件⽤于监听⽹络的数据库,点击Install安装:e.Wincap 4.1.3安装,点击next继续:d.点击I Agree继续:e.选择Automatically start the WinPcap driver at boot time,点击Install 安装:f.点击finish启动wireshark。

三.wireshark⽹卡配置点击菜单“Capture”>”Interface”,选择所需要抓去信息的⽹卡:如果要抓取IAD的数据包,笔记本有线⽹卡和IAD的⽹卡都连接在HUB上,在笔记本上抓取有线⽹卡的数据包即可抓到IAD的所有的数据库包。

四.SIP协议分析1.SIP注册流程通过sip关键字来过滤sip包2.SIP呼叫流程可根据sip包头的Call-ID字段可以完整过滤出⼀个呼叫的流程:3.DTMF分析DTMF⽅式可分为三种:SIP Info、RFC2833和Tone。

2020wiresharkf分析SIP呼叫流程典型流程图解精品

2020wiresharkf分析SIP呼叫流程典型流程图解精品

SIP呼叫典型流程图解及详细解释目录1.Sip协议的相关术语: (2)2.注册流程 (4)3.注销流程: (6)4.基本呼叫建立过程: (7)5.会话更改流程: (9)6.正常呼叫释放过程: (12)7.被叫忙呼叫释放: (13)8.被叫无应答流程一: (14)9.被叫无应答流程二: (15)10.遇忙呼叫前转: (16)11.无应答呼叫前转流程: (18)12.呼叫保持: (20)13.呼叫等待: (23)14.盲转流程 (27)15.询问转的流程 (30)16.彩铃的流程 (31)17.三方通话 (34)1.Sip协议的相关术语:A拨打B,A到proxy是一个session,一个dialog,proxy到b是另一个dialog,有另一个session name。

Invite,ack,bye,option,update,cancel消息,每发一个就是一个事务。

每发一个请求,cseq加1,但cancel,ack,bye请求的cseq同invite的cseq。

Callid,from tag,to tag标识一次对话。

Invite消息中有from tag,没有to tag,100 trying应答也没有to tag。

被叫发的bye 中from,to的tag和180和200ok的值。

每个事务用via字段里的branch的值来区分,invite到200ok之间属于一个事务,bye是另一事务。

语音流,被叫收到ack后发一个rtp流。

2.注册流程3.注销流程:终端代理代理服务器REGISTER (1)200 OK (4)标题(1) 终端向代理服务器送Register 消息注销,其头中expire 字段置0。

(2) 代理服务器收到后回送200 OK 响应,并将数据库中的用户有关信息注销。

4.基本呼叫建立过程:5.会话更改流程:用户代理服务端用户代理客户端通话 (1)Invite (2)200 OK (3)ACK (4)标题(2) 用户代理服务端向用户代理客户端发送Inivte消息,带有新的SDP协商信息。

wireshark抓包工具用法

wireshark抓包工具用法

wireshark抓包工具用法wireshark啊,这可是个超有趣又超有用的抓包小能手呢。

咱先说说这wireshark的界面吧。

打开它就像打开了一个装满各种网络小秘密的百宝盒。

界面上有好多栏,就像是一个个小格子,每个格子都有它的用处。

最上面那栏,就像是一个小导航,能让你找到各种功能按钮。

左边那一栏呢,像是个小目录,把抓到的包都整整齐齐地列在那儿。

而中间那一大块地方,就像是个大舞台,每个抓到的包都在这儿展示自己的详细信息。

抓包之前啊,得先选好要抓包的网络接口。

这就好比钓鱼之前得选好鱼竿要放的地方。

如果选错了接口,就像在没鱼的小水坑里钓鱼,啥也抓不到。

一般电脑上会有好几个网络接口,像有线网卡、无线网卡啥的。

要是你想抓无线的包,就得选那个无线网卡对应的接口。

怎么选呢?在wireshark的界面里仔细找一找,能看到一个像小齿轮旁边有好多小线条的图标,点进去就能看到那些接口啦,然后挑中你想要的那个就行。

开始抓包的时候啊,就像按下了一个魔法按钮。

一瞬间,各种包就像小虫子一样纷纷被捕捉到了。

你会看到左边的小目录里包的数量蹭蹭往上涨。

这时候可别急,每个包都像是一个带着小秘密的小包裹。

你要是想看看某个包里面到底装了啥,就点一下它。

然后中间的大舞台就会把这个包的详细信息都展示出来。

比如说,有这个包的源地址、目的地址,就像是写信的时候的寄信人和收信人地址一样。

还有这个包的协议类型,是TCP 呢还是UDP,这就好比是信件是用挂号信的方式寄的(TCP比较可靠),还是像明信片一样随便寄寄(UDP速度快但不太可靠)。

要是你想找特定类型的包,这也不难。

wireshark有个很厉害的小功能,就像一个小筛子一样。

比如说你只想看HTTP协议的包,因为你想知道网页之间是怎么传递信息的。

那你就可以在上面的搜索栏里输入“HTTP”,然后神奇的事情就发生了,那些不是HTTP协议的包就像小沙子一样被筛掉了,只剩下HTTP协议的包展现在你眼前。

wireshark抓包分析

wireshark抓包分析

wireshark抓包分析Wireshark抓包分析是一种网络安全技术,通过对网络数据包的捕捉和分析,可以深入了解网络通信过程中所传输的数据内容和各层协议的运行情况。

本文将从Wireshark抓包的基本原理、抓包的过程、常见应用场景以及分析方法等方面进行详细介绍。

首先,我们来了解一下Wireshark抓包的基本原理。

Wireshark是一款开放源代码的网络协议分析工具,可以在不同的操作系统上运行。

它使用网络接口(如网卡)来捕捉通过该接口的数据包,并对数据包进行解析和展示。

通过Wireshark的捕包功能,我们可以观察和分析网络通信过程中发送和接收的数据包,从而深入了解网络的运行情况和数据内容。

要进行Wireshark抓包,首先需要安装Wireshark软件,并打开它的图形界面。

在Wireshark的主界面上,我们可以选择要进行抓包的接口,如以太网、无线网卡等。

选择好接口后,点击开始按钮即可开始抓包。

在抓包过程中,Wireshark会实时捕捉到通过选择的接口发送和接收的数据包,并以列表的形式展示出来。

Wireshark抓包可以应用于各种网络场景中,例如网络故障排查、网络性能优化、网络安全分析等。

在网络故障排查方面,我们可以通过抓包分析来确定网络中出现的故障原因,找出导致网络延迟、丢包或连接中断的根源。

在网络性能优化方面,我们可以通过抓包分析来评估网络的带宽使用情况,找出网络瓶颈所在,并采取相应的措施来提高网络性能。

在网络安全分析方面,我们可以通过抓包分析来检测和识别网络中的恶意流量和攻击行为,以及监测网络中的异常行为和数据泄露等情况。

对于Wireshark抓包的分析方法,首先我们可以从数据包的基本信息入手,了解到达和离开主机的数据包的源地址和目的地址。

通过IP地址和端口号的对应关系,我们可以知道数据包的发送者和接收者,以及它们之间建立的连接。

其次,我们可以进一步分析数据包的内容,了解TCP、UDP、HTTP等各个层次的协议头的具体内容和传输过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动 • 4xx:客户机错误,表示请求消息中包含语法错误或者SIP服
务器不能完成对该请求消息的处理。 • 5xx:服务器错误,表示SIP服务器故障不能完成对正确消息
的处理 • 6xx:全局故障,表示请求不能在任何SIP服务器上实现。
SIP消息基本结构
• SIP消息一般有起始行、消息头两部分组成。 • 起始行一般包含消息名称、URI、版本。 • 请求消息头至少包括From、To、CSeq、Call-ID、
• 请求消息:用于客户端为了激活按特定操 作而发给服务器的SIP 消息。
• 响应消息:用于对请求消息进行响应,指 示呼叫的成功或失败状态。
请求消息类型
• 请求消息类型包括: INVITE,ACK,OPTIONS,BYE,CANCEL 和 REGISTER 消息等
• INVITE:用于邀请用户加入一个呼叫。 • ACK:用于对请求消息的响应消息进行确认。 • OPTIONS:用于请求能力信息。 • BYE:用于释放已建立的呼叫。 • CANCEL:用于释放尚未建立的呼叫。 • REGISTER:用于向SIP网络服务器登记用户位置信息。
SIP基本呼叫流程
被叫无应答一
SIPA
Proxy
SIPB
被叫无应答二
SIPA
Proxy
SIPB
INVITE 100Trying
INVITE 100Trying
INVITE 100Trying
INVITE
180Ringing Cancel
200OK
180Ringing
Cancel 200OK
180Ringing
SIP呼叫流程介绍
SIP协议简介
SIP协议概念
基本SIP协议功能实体 SIP协议消息类型 Wireshark抓包 SIP消息基本结构
SIP协议概念
SIP(Session Initiation Protocol) 会话初始协议,“是一个 应用层的信令控制协议。用于创建、修改和释放一个或多个参与 者的会话。
• 但是这是理想情况,有些时候接收端收到请求后进行处理需要一定的延迟,这个延迟是不一定的,SIP中有一 个超时机制,超过某个时延会重发请求。为防止这种处理请求的延迟造成消息重发,接收端在收到请求后会 立即发送一个临时的响应,1XX都是临时的,告诉发送端我已收到,正在处理,让发送端的计时器停止,不 需要重新发送请求了。
SIP协议功能实体
• 定位服务(Location Service):SIP重定位服务器或代理服务器用来获得被叫位 置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位 服务。
• 代理,代理服务器(Proxy、Proxy sever):用于代表其他用户发出请求的中间 程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发 给别的代理服务器。代理服务器在转发之前要对消息进行解析 ,必要时还会改写 请求。
Max-Forwards、Via 六个头字段,它们是构建SIP消息 基本单元 • 消息体一般采用SDP(Session Description Protocol) 协议,会话描述协议
SIP基本呼叫流程
正常的SIP呼叫
SIPA
Proxy
SIPB
INVITE 100Trying
180Ringing 200OK
• 重定向服务器(Redirect server):用来接收SIP请求,将其地址映射成零个或 多个新地址,并把结果返回给客户。与代理服务器(Proxy Server)不同,它不 发出自己的SIP请求;与用户助理服务器(User Agent Server)不同,它不接受 呼叫。
• 注册员(Registrar):用来接收 REGISTER 请求消息的服务器,常与代理或重定 向服务器在同一位置,可以提供定位服务。•简单的VIP抓包 •VOIP包简单分析
Wireshark简单操作介绍
Wireshark简单操作介绍
Wireshark简单操作介绍
Wireshark简单操作介绍
INVITE消息结构
RTP消息结构
THANKS

• 用户助理客户(User Agent Client):用来发起SIP请求的客户程序。 • 用户助理服务器(User Agent Server): 收到SIP请求后负责与用户联系并代表
用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。
SIP消息类型
• SIP 消息采用文本方式编码,分为两类: 请求消息和响应消息。
INVITE 100Trying 180Ringing 200OK
被叫忙的SIP呼叫
SIPA
Proxy
SIPB
INVITE
INVITE
100Trying
100Trying
ACK
通话
Bye Bye
486Busy here
486Busy here
200OK
200OK
ACK
ACK
• SIP是一种类似HTTP的基于请求响应的协议。理想情况下,请求被发出后,应该无任何延迟的传回响应。
100Trying 180Ringing
408 Request timeout
487Request Canceled
487Request Canceled ACK
408 Request timeout
ACK
ACK
ACK
被叫端抓包
通话实际抓包大概是这样的
主叫端抓包
T38传真抓包是这样的
Wireshark抓包和简单解析包
• CALL-ID 字 段用于标识一个特定邀请以及与这个邀请相关的所有后续事务(即标识一个会话)
• CSeq 字段是用来给同一个会话中的 事务进行排序的。可以理解为,会话由CALL-ID来标识,会话中的事务 则由CSeq标识
• 在INVITE请求中,180 Ringing表示电话铃响,200 OK表示对方电话已经被接起,并用200 OK终结事务。 在BYE请求中,200 OK表示对话结束,事务终结。
• 什么是STUN服务,我是否需要使用STUN服务?
• STUN代表UDP数据包简单地穿过NAT(Simple Traversal of UDP over NAT)。这是一个协议,当一个IP电 话机在NAT后面时,IP电话机可以使用这个协议检测到NAT的存在,并判断NAT的类型。一个IP电话机如果 支持STUN协议,它就可以发送一系列的STUN查询,到公共的因特网上的STUN服务器,这样就可以得到 NAT上映射到话机的公网IP地址和端口。IP电话机就可以智能地修改SIP/SDP消息中的私有IP地址。这样SIP 信令和RTP多媒体数据就可以成功地穿过NAT,而不需要修改NAT的任何配置。
响应消息类型
响应消息由状态码来区分,状态码包含三位整数,状态码的第一 位用于定义响应类型,另外两位用于进一步对响应进行更加 详细的说明,包括:1xx,2xx,3xx,4xx,5xx,6xx
• 1xx:临时响应,表示已经接收到请求消息,正在对其进行处 理;
• 2xx:成功响应,表示请求已经被接收、处理并被成功接受 • 3xx:重定向响应,表示为完成请求消息需要采取进一步的行
相关文档
最新文档