IGMP及抓包分析复习进程

合集下载

具体抓包步骤与分析方法

具体抓包步骤与分析方法

具体抓包步骤一、首先打开wireshark进入主界面二、点选Capture Options 快捷键Ctrl+K 进入捕捉过滤器界面三、设置捕捉过滤器抓包方式为Capture packets in pcap-ng format混乱抓包,(Capture Filter具体过滤命令见wireshark详解,)四、点选Start开始进行抓包具体捕捉过滤设置如下:Wireshark抓包开始运行后,我们就可以打开我们需要抓包分析的应用了(在这之前,如果对端口号和IP不熟悉的用户,可以先打开路由web管理界面的内网监控看一下正在运行的连接,并记录下来)五、ikuai路由内网监控连接状态介绍如图所示,在系统状态下的内网流量监控里的某个IP下的终端连接详情里,我们可以看到某个IP下这台机器目前正在运行的一些网络连接的详细信息。

在这里我们着重讲下连接状态的定义1、已连接正在连接的数据流2、等待等待转发或连接的数据流3、-- 或无状态无交互性连接,例如UDP连接4、未定义未经路由向外网进行转发或者传输的数据连接。

例如内网数据通信六、具体针对某个软件进行抓包分析的步骤与过程1.具体步骤完成了上述操作后,我们运行需要抓包分析的软件(我们已迅雷为例)之后我们需要再次查看终端连接详情在这时我们可以看到,相对于运行迅雷以前的终端连接详情里,我们这里多出了一些链接,这些链接就是我们需要在wireshark里需要过滤分析的迅雷的数据连接了。

在这个例子里我们可以看到,在协议名称里,迅雷的协议已经成功识别,但是,在我们真实操作中,需要抓包分析的绝大多数软件的协议,在这里会被识别为:未知协议或错误为其他一些应用的协议,比如明明开启的是迅雷下载,但是协议里被识别为某个游戏,在这时,我们就需要根据抓包前记录的终端连接详情对比运行软件之后的进行对比,出现未知协议或错误协议名称的进程是否属于我们需要分析的软件进程。

(在这里我们建议对协议的端口号或IP不熟悉的用户,在抓包分析师,关闭所有需要网络连接的程序,已便于判断)如果确定是我们需要抓包的软件的进程的话,我们就可以在wireshark进行过滤分析了。

实验五 利用WIRESHARK分析IGMP协议

实验五 利用WIRESHARK分析IGMP协议

协议分析实验报告年级:姓名:学号:实验日期: 2013-04-10实验名称:利用wireshark分析IGMP协议一、实验目的分析IGMP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。

三、协议简介Internet组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。

IGMP信息封装在IP报文中,其IP的协议号为2。

它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

igmp不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。

所有参与组播的主机必须实现igmp。

报告报文字段说明:Type(8bit)0x22成员关系报告Reserved(8bit)和Reserved(16bit):都是表示保留字段,不过在IGMP中为了使它们都保持对应的长度,所以才有了长度上的区别,它在发送的时候是以0填充,在接收的时候是不作任何处理的。

校验和校验和是对整个IGMP消息以16位为一段进行取反求和。

为了计算校验和,校验和字段首先必须被置0。

当收到一个数据,在处理之前,必须先对校验和进行验证。

Number_of_Group_Records(M):该字段表示该报告报文中包含有几个组记录GroupRecord[i](i从1到M):一个主机可能需要点播多个组播地址的组播业务,每个记录包含了对应于其中一个组播地址的源地址列表等信息,它受到Number_of_Group_Records的大小的影响。

每一个组记录字段是一整块数据,其含有的信息是关于发送者在报告发送接口上的某一个多播组的成员关系。

每一个GroupReocrd的内部格式如下:字段说明:AuxDataLen:辅助数据长度含有在组记录中的辅助数据的实际长度,其单位是32bit字。

它有可能是0,这就表示辅助数据不存在。

IGMP学习总结

IGMP学习总结

IGMP学习心得:有关IGMP的RFC文档,本人看过后,感觉实在是太枯燥泛味了,深受其“害”,为此,我对其作了一个简单的总结,如有错误之处及时指出。

在IGMP协议中定义了各种烦琐的定时器,以下我罗列出了一些比较重要的定时器。

有助于我们理解IGMP协议具体的实现过程。

查询间隔(query-interval)查询间隔是指查询者发送普通查询(general query)之间的时间间隔。

查询报告间隔(max query response time)就是周期性普通查询数据报中的最大响应时间,缺省值是100(10秒)。

当一台主机收到一个普通查询,它为收到查询的那个接口所在的组设置延迟定时器。

每个定时器都被设置成不同的随机值(降低并发的概率),该随机值采用主机所能达到的最高时间精度,值的范围是(0,max query response time)组成员关系间隔组成员关系间隔是指一台多播路由器在确定某一个网络内的某一个组内没有成员之前,必须要经过的时长。

其它查询者存在间隔(querier timeout)通常情况下,每一个物理网络只有一个查询者。

所有的多播路由器在启动的时候,在它的每一个相连的网络中都是查询者。

如果一个多播路由器接收到另一台多播由器的一个查询消息,并且它的IP地址要比自己小,那它在该网络中要马上变成一个非查询者,因为一个子网内只允许存在一个查询者。

其它查询者存在间隔是指一台路由器在确定网络内没有其它作为查询者的路由器存在之前,必须要经过的时长。

启动查询间隔启动查询间隔是指在查询者启动的时候,发送普通查询之间的间隔。

因为在多播路由器启动的时候,为了快速并可靠地确定组成员信息,路由器应当间隔较小的发送多个普通查询。

它的缺省值是1/4的查询间隔。

最后一个成员查询间隔(Last member query response time)最后一个成员查询间隔是指为响应离开组消息而发送的指定组查询(group specific query)中的最大响应时间,同时它也是指定组查询间的时间间隔。

小朱老师-EIGRP抓包详解

小朱老师-EIGRP抓包详解

EIGRP基础首先我们先来了解下CISCO开发EIGRP的背景。

CISCO在开发EIGRP之前有个叫IGRP的协议,这个协议的开发主要是针对RIPv1的,也是个有类的协议。

后来RIPv2出来后,CISCO就想,我要是还是个有类的肯定活不长,所以必须得改,但他并不是像RIP那样增加了那么些个特性就完事了,关键是这个时候OSPF已经诞生了,鉴于OSPF的强大与变态,若是小改那肯定也是干不过他的,所以CISCO干脆就大改,整个能跟OSPF相抗衡的东西出来,EIGRP vs OSPF,于是乎EIGRP就出来了,而不是IGRPv2什么的。

当然,EIGRP也不是完全没用IGRP 的东西,像IGRP的composite mertic(符合度量值)这样的好特性EIGRP还是继承下来了,不然也不会叫增强型内部网关路由协议。

接下来,让我们来看看EIGRP到底有哪些子值得称道的特性。

一、Fast Convergence(快收敛)。

相对于RIP的30/180和IGRP的90/270而言,EIGRP 的Hello和Dead时间是5s/15s(这里想不考虑多点链路小于T1的情况)。

那这就很不得了了,收敛时间非常之快,也就更能满足现在网络对于路由性能的要求。

二、Loop Free(无环)。

其实,对于这个特性并没有什么好值得炫耀的,因为对于路由协议来讲,你有环那你还是路由协议吗,谁敢用你,但这里说的无环是指他引入了一些比较好的机制来保障他的无环,而不是像RIP那样通过各种“补丁”技术来保障其无环。

三、Simply Configure(配置简单)。

这一点是针对OSPF来讲的,玩过OSPF的人都知道,当你要使用OSPF来达到某些特性时他的配置那是无比蛋疼,异常复杂,在那个时候你会觉得EIGRP的配置那真是一个简单,好使。

四、Unequal Loadbalance(非等价负载平衡)。

这个特性是EIGRP所特有的,也被CISCO申请了专利,这个特性能让你的网络在保障冗余的同时,有较高的利用率。

IGMP协议详解与测试方法

IGMP协议详解与测试方法

拟 制 人时 间IGMP 协议详解与测试方法1 基本信息1.1 摘要本文主要介绍IGMP协议与我司终端产品IGMP的测试方法。

1.2关键字IGMP,SNOOPING1.3 缩略语IGMP Internet Group Management Protocol Internet 组管理协议SMB SmartBits 思博伦通信网络分析仪CPE Customer Premise Equipment 用户侧设备2 协议解释2.1 IGMP 作用¾ 实现一对多数据流业务,有很多种实现方式,如广播,但是浪费带宽,会造成广播风暴:¾ 如果用IGMP 的话,根据成员的需要去接受数据流业务:组播成员2组播成员12.2 IGMP协议¾IGMP协议用于IPv4系统向任何邻居组播路由器报告其组播成员资格。

IP组播路由器自己本身也可以是一到多个组播组的成员。

这时,组播路由器要实现协议的组播路由器部分和组成员部分。

¾报文格式IGMP V1 报文格式Ver Type Reserved ChecksumGroup AddressIGMP V2 报文格式Type Max Resp Time ChecksumGroup AddressMembership Query: 成员关系查询(0x11)V1 Membership Report: 版本 1 成员关系报告(0x12)V2 Membership Report: 版本 2 成员关系报告(0x16)Leave Group: 离开组报告(0x17)¾IGMP组播地址组播IP地址用于标识一个IP组播组。

IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。

如下图所示(二进制表示),IP组播地址前四位均为1110。

八位组(1)八位组(2)八位组(3)八位组(4)1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX组播地址的分类:保留——224.0.0.0 - 224.0.0.255用户组播地址——224.0.1.0 - 238.255.255.255本地管理组——239.0.0.0 - 239.255.255.255 (用于私人组播领域,类似私有IP地址)¾IGMP组播地址2层的MAC地址是如何与3层的IP地址进行映射的呢?通过将MAC地址的前25位强行规定位01.00.5e,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxxMAC地址: 00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx2.3 IGMP版本¾IGMP的不同版本Version 1:在[RFC-1112]中声明,是第一个广泛使用的IGMP版本。

网络层数据包抓包分析

网络层数据包抓包分析

网络层数据包抓包分析一.实验内容(1)使用Wireshark软件抓取指定IP包。

(2)对抓取的数据包按协议格式进行各字段含义的分析。

二.实验步骤(1)打开Wireshark软件,关闭已有的联网程序(防止抓取过多的包),开始抓包;(2)打开浏览器,输入/网页打开后停止抓包。

(3)如果抓到的数据包还是比较多,可以在Wireshark的过滤器(filter)中输入http,按“Apply”进行过滤。

过滤的结果就是和刚才打开的网页相关的数据包。

(4)在过滤的结果中选择第一个包括http get请求的帧,该帧用于向/网站服务器发出http get请求(5)选中该帧后,点开该帧首部封装明细区中Internet Protocol 前的”+”号,显示该帧所在的IP包的头部信息和数据区:(6)数据区目前以16进制表示,可以在数据区右键菜单中选择“Bits View”以2进制表示:(注意:数据区蓝色选中的数据是IP包的数据,其余数据是封装该IP包的其他层的数据)回答以下问题:1、该IP包的“版本”字段值为_0100_(2进制表示),该值代表该IP包的协议版本为:√IPv4□IPv62、该IP包的“报头长度”字段值为__01000101__(2进制表示),该值代表该IP包的报头长度为__20bytes__字节。

3、该IP包的“总长度”字段值为___00000000 11101110___ (2进制表示),该值代表该IP包的总长度为__238__字节,可以推断出该IP包的数据区长度为__218__字节。

4、该IP包的“生存周期”字段值为__01000000__ (2进制表示),该值代表该IP包最多还可以经过___64__个路由器5、该IP包的“协议”字段值为__00000110__ (2进制表示) ,该值代表该IP包的上层封装协议为__TCP__。

6、该IP包的“源IP地址”字段值为__11000000 1010100000101000 00110011__ (2进制表示) ,该值代表该IP包的源IP地址为_192_._168_._40_._51_。

Linux命令技巧高级网络封包分析和抓包

Linux命令技巧高级网络封包分析和抓包

Linux命令技巧高级网络封包分析和抓包在Linux系统中,网络封包分析和抓包是网络管理员和安全专家必备的技能之一。

通过深入了解网络封包和分析工具,我们可以更好地理解和解决网络故障以及发现潜在的安全漏洞。

本文将介绍一些Linux 命令技巧,帮助您进行高级网络封包分析和抓包。

一、前言网络封包是网络通信中的基本单元,它包含了从源主机到目标主机的数据。

网络封包的分析可以帮助我们了解数据包的传输过程以及它们所携带的信息。

而抓包则是指在网络上捕获和记录封包,以便进行后续的分析和研究。

二、网络封包分析工具Linux系统提供了许多强大的网络封包分析工具,其中一些是开源的,可以免费使用。

以下是几个常用的网络封包分析工具:1. WiresharkWireshark 是一个功能强大的网络封包分析工具。

它可以运行在多个平台上,并提供了直观的图形界面。

Wireshark 可以捕获网络封包并显示它们的详细信息,包括源地址、目标地址、协议类型等。

除了基本的封包分析功能,Wireshark 还支持过滤器功能,以便您只查看感兴趣的封包。

2. tcpdumptcpdump 是一个命令行工具,它可以在终端中捕获和显示网络封包。

尽管它没有图形界面,但tcpdump 提供了丰富的过滤器选项和输出格式控制。

通过tcpdump,您可以根据协议、源地址、目标地址等条件过滤封包,并将结果保存到文件中供后续分析。

3. tsharktshark 是 Wireshark 的命令行版本,它提供了与 Wireshark 类似的封包分析功能。

tshark 可以读取 pcap 文件(Wireshark 的默认文件格式)并进行封包分析。

通过命令行选项,您可以指定要显示的字段、过滤要显示的封包等。

三、高级网络封包分析技巧除了常规的封包分析外,以下是几个高级网络封包分析技巧:1. 分析网络流量使用Wireshark等工具,我们可以捕获整个网络流量,包括各种协议的封包。

IGMP协议分析组播协议的工作机制

IGMP协议分析组播协议的工作机制

IGMP协议分析组播协议的工作机制IGMP(Internet Group Management Protocol,互联网组管理协议)是一种网络协议,用于多播的组播管理。

组播是一种网络传输方式,可以在单一数据流上同时发送给多个目标设备。

IGMP协议允许主机加入或离开一个多播组,以及路由器为特定多播组提供流量转发。

IGMP协议的工作机制基于主机和路由器之间的交互。

主机通过发送特定的IGMP报文向路由器注册加入或离开一个多播组的意图。

路由器则负责根据这些报文来进行相应的组播流量管理与转发。

在IGMP协议中,主机和路由器的交互可以分为两个角色:主机可以是一个多播组的成员,路由器则充当组播流量的转发和管理者。

主机角色中的IGMP报文主要分为三种类型:成员关系查询报文(Membership Query)、成员关系报告报文(Membership Report)和成员离开报文(Leave Group)。

成员关系查询报文用于路由器定期发送以查询网络中的主机是否还是某个多播组的成员。

成员关系报告报文则是主机向路由器发送的,用于通知路由器它们的成员关系。

成员离开报文则是主机主动发送给路由器,用于通知路由器其离开了某个多播组。

路由器角色中的IGMP报文主要有两种类型:成员关系查询报文(Membership Query)和成员关系报告报文(Membership Report)。

成员关系查询报文用于路由器周期性地向多播组的成员发送,以获取其成员关系,并维护组播组的活跃状态。

成员关系报告报文则是路由器在接收到主机发来的成员关系报告后,向其他路由器发送的,以便提供多播组的流量转发和管理。

IGMP协议的工作流程如下:1. 主机在加入一个多播组时,会向网络中的路由器发送成员关系报告报文,以通知路由器其加入了该组。

2. 路由器在收到成员关系报告报文后,会更新其组播组成员数据库,记录下该主机加入了该组。

3. 路由器会定时发送成员关系查询报文,以获取组播组的成员列表,并维护组播组的活跃状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I G M P及抓包分析
IGMP
IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。

它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

到目前为止,IGMP 有三个版本:
1、IGMPv1(由RFC 1112 定义)
2、IGMPv2(由RFC 2236 定义)
3、IGMPv3(由RFC 3376定义)
一、IGMPv1
1.1报文格式
1、版本:
版本字段包含IGMP版本标识,因此设置为1。

2、类型:
成员关系查询(0x11)
成员关系报告(0x12)
3、校验和
4、组地址:
当一个成员关系报告正被发送时,组地址字段包含组播地址。

当用于成员关系查询时,本字段为0,并被主机忽略。

1.2组成员加入过程
当一个主机希望接收一个组播组的数据,则发送成员加入报告给组播组。

IGMPv1 join包如下:
1.3查询与响应过程
路由器RTA(IGMP查询器)周期性地(默认60秒)向子网内所有主机(224.0.0.1代表子网内所有主机)发送成员关系查询信息。

所有主机收到IGMPv1成员关系查询信息,一主机首先向组播组发送IGMPv1成员关系报告。

组的其他成员监听到报告后抑制自己的成员关系报告发送。

1.4 抑制机制
当主机收到IGMP成员关系查询时,对它已经加入的每个组播组启动一个倒计数报告计时器。

各个报告计时器初始值为从0到最大响应之间一个随机数,默认值是10秒。

计时器到时的主机则主动发送成员关系报告,目的地为该主机所属的组地址。

其它主机收到该成员关系报告,则抑制成员关系报告的发送,并删除计时器。

1.5 组成员离开过程
主机“默不作声”地离开组(不发送报告了)。

路由器发送成员关系查询信息。

路由器没有收到该组的IGMP报告,则再发送成员关系信息(3次查询周期过后)。

组播组超时,剪枝。

二、IGMPv2
2.1报文格式
1、类型
成员关系查询(0x11)
常规查询:用于确定哪些组播组是有活跃的,即该组是否还有成员在使用,常规查询地址由全零表示;
特定组查询:用于查询某具体组播组是否还有组成员。

版本2成员关系报告(0x16)
版本1成员关系报告(0x12)
离开组消息(0x17)
2、最大响应时间
以0.1秒为单位,默认值是100,即10秒。

3、校验和
4、组地址
在成员查询消息中,发送一个普遍查询报文时组地址域应设为0,当发送一个对特定组的查询报文时,则应设置组的地址。

在成员报告或离开组的消息中,组的地址域保留了要报告或要离开的地址。

2.2 组成员加入过程
当一个主机加入了一个组播组,则应该立即发送一个或多个版本2的成员关系报告给组播组。

IGMPv2的join包如下:
2.3 查询与响应过程
与IGMPv1相同,都存在抑制机制。

增加了最大响应时间来指定延时值来规定所有主机的查询响应延时的上限,此外最大响应时间在IGMP查询器上配置,只应用在成员关系查询信息。

2.4 查询器选择过程
路由器启动,主动发出到所有组播系统组(224.0.0.1)的IGMPv2常规查询信息。

收到常规查询信息的路由器,会把此信息的源IP地址和接收口的IP地址作比较,拥有最低IP地址的路由器被选举为IGMP查询路由器。

非查询路由器启动一个查询计时器,周期检查IGMP查询路由器的状态。

2.5 组成员离开过程
主机向224.0.0.2发送离开组消息(报文中含有要离开的组地址224.1.1.1)。

路由器向这个组(224.1.1.1)发送特定组查询。

1秒钟内没有收到该组的报告,发送第二个特定组查询。

二个查询信息后未收到主机响应,组224.1.1.1超时,离开组。

IGMPv2的Leave如下:
三、IGMPv3
在IGMPv1/v2的基础上,IGMPV3提供了额外的源过滤多播功能。

在IGMPv1/v2中,主机只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的组播流。

而使用IGMPv3的主机通告该主机所希望加入的多播组,
同时还通告该主机所希望接收的多播源的地址。

主机可以通过一个包括列表或一个排除列表来指明希望从哪些源能接收多播流。

同时IGMPv3带来的另外一个好处是节省带宽,避免不需要的、非法的组播数据流占用网络带宽,这尤其在多个多播源共用一个多播地址的网络环境中表现明显。

IGMPv3的过程同v2类似。

IGMPv3能够向下兼容IGMPv1和IGMPv2。

IGMPv3查询和报告报文增强了功能:
(1) 携带源地址的查询报文
IGMPv3 不仅支持IGMPv1 的普遍组查询和IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持:
普遍组查询报文中,既不携带组地址,也不携带源地址;
特定组查询报文中,携带组地址,但不携带源地址;
特定源组查询报文中,既携带组地址,还携带一个或多个源地址。

(2) 包含多组记录的报告报文
IGMPv3 报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。

在每个组记录中,包含有组播组地址和组播源地址列表。

组记录可以分为多种类型,如下:
IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。

IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。

TO_IN:表示组播组与组播源列表之间的过滤模式由EXCLUDE 转变为INCLUDE。

TO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE 转变为EXCLUDE。

ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。

如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为EXCLUDE,则从现有组播源列表中删除这些组播源。

BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。

如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为EXCLUDE,则向现有组播源列表中添加这些组播源。

IGMPv3的join包如下:
IGMPv3的leave包如下:
IGMPv3的query包如下:
IGMP三个版本的比较:
四、组播IP地址:
•组播地址范围
224.0.0.0-239.255.255.255 •保留组播地址
224.0.0.0-224.0.0.255
224.0.1.0-224.0.1.255
•本地管理组地址
239.0.0.0-239.255.255.255 •用户组播地址
224.0.2.0-238.255.255.255 •组播MAC地址:
以太网: 01-00-5e-xx-xx-xx •常用的保留组播地址
五、IGMP SNOOPING
IGMP Snooping运行在链路层,是运行在二层以太网交换机上的组播约束机制,用于管理和控制组播数据转发。

当二层以太网交换机收到主机和路由器之间传递的IGMP报文时,IGMP Snooping分析IGMP报文所带的信息。

当监听到主机发出的IGMP主机报告报文时,交换机就将该主机加入到相应的组播MAC地址表中。

当监听到主机发出的IGMP离开报文时,交换机就将删除与该主机对应的组播MAC地址表中。

通过不断地监听IGMP报文,交换机就可以在二层建立和维护组播MAC地址表,交换机就可以根据组播MAC地址表转发从路由器下发的组播报文。

没有运行IGMP Snooping时,组播报文将在二层广播。

yig。

相关文档
最新文档