有关ospf抓包
1、相关的路由器为这样子的; 路由器都运行了ospf;
抓包的链路为GE0/0/2 ,
2、抓包图:
从图上我们可以看到,protocol info 这一栏里面出现了:
hello packet;
DB Description;
LS Update;
LS ack;
(为什么没有出现LSR报文呢?)
查看抓包图:
首先我们查看的是hello packet:
这个hello报文已经被完全详细的解析出来,虽然有些看不懂,不过也是全部百度了、
然后我们再将黑手伸向DB Description 报文:
注意上面的序号为11;(dd报文)
这个是五个ospf的dd报文,共有五次,效果等同于三次握手的效果;
Dd三次报文的不同之处:
1、11.14.16
13.15
源ospf是不相同的;因为发送方的路由器是不同的;还有就是校验码肯定是不相同的
2、
11. 13
14.16
15
这个应该只是将详细内容中置为1的内容展现出来了而已;
3、
序号为:11
序号为:13
序号为:14
序号为:15
序号为16
这个地方很有意思的:这五个dd报文的R,I,M,MS 的变化能体现dd报文的作用:
序号为11的报文截图:得出的信息:我是第一个报文,我后面还有报文,我是主路由器
我的序号是x;
序号为13的报文截图:得出的信息:我是第一个报文,我后面还有报文,我是主路由器
我的序号是y;
***********因为在没有进行dd交换;他们都会认为自己是主路由器;***********
序号为14的报文截图:得出的信息:我不是第一个,我后面没有报文,我是从路由器
我的序号是y(隐式响应)
序号为15的报文截图:得出的信息;我不是第一个,我后面没有报文,我是主路由器
我的序号是y+1
***********因为经过第一轮的dd报文的交换,他们确定了主从关系;***********
序号为16的报文截图:得出的信息:我不是第一个,我后面没有报文,我是从路由器
我的序号是y+1(隐式响应)
然后我们再次去研究分析:update的报文:
先来看一下,一共就更新了三个update报文 ~ 序号为 17 18 1 9
我们发现 ospf header 基本格式是一样的;只是由于:每个报文的类型不同,导致有时候的头文件的格式有所不同:不过都是对该报文进行描述;
当报文为同一种类(在这里为update 报文):不同的地方主要是在
Ls update packet上;
************这个是序号为17
************这个是序号为18
************这个是序号为19
Update报文主要是:将对面发来的request报文中的所需要的内容,然后从自己发送给对面;
从上面的图看到更新的LS种类有:router-lsa; network-LSA,(讲真的:个人感觉这个是包含了请求报文还有更新报文)
现在将对现在已经出现的两个种类的报文进行分析:
router-LSa
Network-lsa
以上是对LSA-HEADER中的network-LSA与router-LSA进行描述;
在这里有一个很有意思的事儿
我看了下update的报文:发现;
第一个报文:在第一个update报文中,我们可以看到:LS type 只有router-lsa一种:
展开之后:
它的序列号为这个;(我们假设这个为请求)
第二个报文:在第二个update报文中:我们可以看到出现了三个LS type;
其中有两个router-lsa和一个network
我们分别展开三个ls type 的详细信息。去查看他们的序列号:
(第一个router-lsa)
(第一个network报文)
(第二个router-isa)
我们可以看到:1、第二个update报文中的第二个router-isa的序列号和第一个update报文中的第一个router-isa的序列号是相同的:我们是否可以理解为他们是隐性应答;
2、第二个update报文中的第一个router-isa的序列号刚好是第二个update报文中的第一个router-isa的序列号的+1:;我们是否可以理解为第一个是第二个后面一个;
第三个报文;在第三个update报文中;我们可以看到出现了两个ls type;其中有一个router-isa和一个network-isa
我们分别展开两个ls type 的详细信息。去查看他们的序列号:
(第一个router-isa)
(第一个network-isa)
我们可以看到: 第二个的update报文中的第一个network的序列号和第三个update报文中的第一个network报文的序列号是相同的:这可以理解为第三个报文是隐形应答第二个报文
第二个的ipdate报文中的第二个router-isa的序列号和第三个update的报文中的第一个router-lsa的序列号是相同的;这可以理解为第三个报文是隐形应答第二个报文
差不多该说说ls ack 报文了:
Lsack报文是同来对接收的lsu报文进行确认;我一直觉得lsack报文和ls update报文很像啊;
上面是应答报文,下面是跟新报文;
仔细看就会发现:到flag之前的格式都是一模一样的;然后我也不知道怎么去描述了。
就这样吧。
2016/11 my-tea