Wireshark 过滤器 - OSPF 数据库描述链接状态 ID

网络工程 ipv4 ospf 线鲨 包分析
2021-07-08 22:58:37

在 Wireshark 中,如何为 OSPF 数据库描述数据包中的链路状态 ID 的 IP 地址编写显示过滤器?链路状态 ID 地址位于 DB 描述数据包的 LSA 标头中。

1个回答

通过广告 Router-ID 显示过滤器

这个显示过滤器会让你接近,因为我可以想出......

ospf.msg.dbdesc == 1 and ospf contains <adv-router-id-as-hex>

例如,如果您的广告路由器是 1.1.1.1...

ospf.msg.dbdesc == 1 and ospf contains 01.01.01.01

但是,问题是将contains 01.01.01.01任何字符串内容与 01.01.01.01 匹配,因此 01.01.01.01 或 01.01.01.01.ff 都可以匹配……此外,DBD 中的其他一些数据包也可能包含对该路由器的引用- ID。

按广告链接状态 ID 显示过滤器

这稍微容易一些,因为有更好的机会找到唯一的字符串;只要您知道要查找的 LSA 类型。OSPF RFC要求获得与发送数据包<lsa-type-4bits>.<link-id-4bytes>,所以显示过滤器:

ospf.msg.dbdesc == 1 and ospf contains <lsa-type>.<link-id>

例如,用于查找 ID 为 10.4.27.0(十六进制 0a.04.1b.00)的网络摘要 LSA(LSA 类型 3)的显示过滤器:

ospf.msg.dbdesc == 1 and ospf contains 03.0a.04.1b.00

另一个示例,用于查找 ID 为 10.4.27.0(十六进制 0a.04.1b.00)的外部 LSA(LSA 类型 5)的显示过滤器:

ospf.msg.dbdesc == 1 and ospf contains 05.0a.04.1b.00

仅供参考,这些是对应于 LSA 类型数字