Minesweeper使用之BGP测试 学习

一、BGP1

1.导入BGP1的网络。

init-testrig /home/yahui/Desktop/batfish-abstraction-fixes/test_rigs/smt-examples/BGP1

这里路径是电脑上存网络配置文件的文件夹
这个网络很小,只有两个路由器,大概长这样(这里R2的接口loopback0的ip我标错了,应该是69.69.69.1):

导入成功后,返回长这样:

2.测试转发跳数

接下来,进行转发跳数的测试。

get smt-bounded-length finalNodeRegex="R1", finalIfaceRegex="Loopback.*", bound=1, fullModel=True

其中

  1. smt-bounded-length 是测试长度的命令,
  2. finalNodeRegex是指定了终点是R1,(要想指定起始节点,用ingressNodeRegex)
  3. finalfaceRegex是指定最终流量进入的接口,
  4. bound规定了路径转发跳数的上限,
  5. fullModel暂时没搞懂是啥。

以下是查询的结果

没看懂这结果是啥意思。

以下是测试结果是否正确的语句:

test /home/yahui/Desktop/batfish-abstraction-fixes/tests/java-smt/bgp1-bounded-len.ref get smt-bounded-length finalNodeRegex="R1", finalIfaceRegex="Loopback.*", bound=1, fullModel=True

可以看到,最后结果是Pass,证明结果与预期相符。

二、BGP2

BGP2的网络,其实跟BGP1的差不了多少。(没错,那个错的也继承了下来)

R2多了一个外连的接口Serial1,连到192.168.43.2(图中未画出来)。

1.测试转发跳数

指定了终结点是R1,限制最大跳数是1和0,分别测试了一下。

get smt-bounded-length finalNodeRegex="R1",bound=1
get smt-bounded-length finalNodeRegex="R1",bound=0


发现限制跳数为1时,啥也没返回;为0时,返回了一个到192.168.42.1的数据包,转发路径为R2的Serial0接口到R1的Serial0接口(括号里的意思是直连吗?)

又指定了起始结点是R1,分别测试限制最大跳数为1和0时的情况:

get smt-bounded-length ingressNodeRegex="R1",bound=1
get smt-bounded-length ingressNodeRegex="R1", bound=0



这里出现了BGP的情况,看来这个跟前面几个不同,不是直连?不知道为什么,当限制不同时,会出现这种情况?理论上不应该是connected吗?

指定了起始结点是R1,同时规定最终的接口,测试限制最大跳数为1时的情况:

get smt-bounded-length ingressNodeRegex="R1", finalIfaceRegex="Serial1.*", bound=1
get smt-bounded-length ingressNodeRegex="R1", finalIfaceRegex="Serial0.*", bound=1


这里,当接口是R2外连的那个接口时,会报错。但是,不应该只是不符合路径转发跳数限制吗,怎么会报错呢(甚至转发限制好像都不应该有)

三、BGP3

BGP3的网络如图所示:

初学计算机网络,并不是很明白里面都是什么意思。个人感觉:

  • R1首先宣告了自己BGP网络为42.42.42.0/24
  • R1宣告自己有一个邻居192.168.42.2,号为200
  • R1宣告通往192.168.x.x的所有数据都按照ospf协议转发
  • R2也类似。还宣告了通往69.69.69.0/24的数据要转发入黑洞路由

ospf宣告的代码解释
ospf精确宣告和范围宣告
黑洞路由

1.测试转发跳数

指定R1为目的结点,目的ip为42.42.42.0,目的接口是Loopback.*,最大转发次数限制为1,(还有一个参数negate不知道是啥)

get smt-bounded-length finalNodeRegex="R1", dstIps=[42.42.42.0], finalIfaceRegex="Loopback.*", bound=1, negate=True
get smt-bounded-length finalNodeRegex="R1", dstIps=[42.42.42.0], finalIfaceRegex="Loopback.*", bound=1

2.测试转发

测试路由是否能转发到42.42.42.0的目的ip(就是R2的serial1)

get smt-forwarding dstIps=["42.42.42.0"]
get smt-forwarding dstIps=["192.168.42.2"]


这个为什么会有问题?从R1的接口0到R2的接口0的路径为什么出错了?

将目的ip设置成R2的接口0的ip地址,还是不行。唯一不同的是,这条路改成了直连方式。又试了一下R1的接口0的ip地址,结果跟上面的相同。
又试了一下不同的ip地址,后来发现,好像这个发现的反例不是我想象中的反例。这个命令可能是要求没有流量能够流入目的ip,返回反例是指有这么一条路能流入该ip。

3.测试能否转发

分别选定了R1和R2的Serial0接口,后面的fullModel不知道是啥

get smt-reachability finalNodeRegex="R1", finalIfaceRegex="Serial0.*", fullModel=True
get smt-reachability finalNodeRegex="R2", finalIfaceRegex="Serial0.*", fullModel=True


可以看到,都可以转发过去

4.测试 ?

不知道这个命令是啥意思

get smt-routing-loop

四、疑问

  • 以上提出的所有问题
  • 结果里一堆的显示啥意思了?destport后面的那些东西是啥意思?
  • Summary返回的是所有反例吗?
  • 根据上面的Question显示,被返回的是ACCEPT,也就是通过的流量。那么该如何返回被丢弃的流量呢?

网络验证Minesweeper使用 学习(1)相关推荐

  1. 网络基础知识汇总学习

    一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...

  2. 2023年核盾网络验证-核盾云壳最新逆向教程

    背景 大家好,本人青月.我学习逆向几个月的时候在学习群里面看见有人发了个叫作核盾云壳的软件 这款网络验证大家或多或少都听过吧,百度也有词条 我当时年少轻狂,觉得自己技术碾压一切,于是就对这款验证进行了 ...

  3. 自写网络验证,支持注册 充值 在线消息 自动更新

    废话多了没有味 一张图解析所有内容 右边是客户端 下载地址:自写网络验证系统仅供学习.zip-其它文档类资源-CSDN下载https://download.csdn.net/download/u010 ...

  4. 干货!基于非递减分位数网络的值分布强化学习及其高效探索方法

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 尽管值分布强化学习在过去几年中得到了广泛的研究,但仍然存在两方面未能解决问题:一是如何保证估计出来的分位数函数的有效性,二是如何有效地利 ...

  5. ResNet网络结构详解,网络搭建,迁移学习

    前言: 参考内容来自up:6.1 ResNet网络结构,BN以及迁移学习详解_哔哩哔哩_bilibili up的代码和ppt:https://github.com/WZMIAOMIAO/deep-le ...

  6. 易语言单卡网络验证UI界面源码

    网络验证 www.kekeyz.cn 源码下载: 单卡网络验证UI源码+模块.zip-其它文档类资源-CSDN下载描述:https://blog.csdn.net/u010815991/article ...

  7. 第十课 讲解易语言的网络验证

                             讲解易语言的网络验证 易语言就是一种脚本语言,他是采用的封装形式去完成 他在5.0以下版本时,都是采用的易语言开发环境的编译模式,同时是采用C++编译 ...

  8. Chemical Science | 通过异构网络中的深度学习对已知药物进行靶标识别

    今天给大家介绍的是2020年1月在Chemical Science上发表的论文"Target identification among known drugs by deep learnin ...

  9. 易语言php注册,易语言简单ASP网络验证源码 PHP一键搭建网络验证源码

    说明: 易语言简单ASP网络验证源码 ,很不错的易语言源码,适合易语言爱好者学习, (Easy language simple ASP network verification source code ...

最新文章

  1. C#.net模拟提交表单POST
  2. LinearAlgebra_3
  3. vscode+MinGW+cmake设置轻量ide
  4. Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3
  5. Spring Cloud依赖
  6. javafx阴影_JavaFX技巧23:节省内存! 属性的阴影场
  7. 如何使WordPress博客添加多个sidebar侧边栏
  8. 前端学习(2387):组件库使用说明
  9. Jmeter逻辑控制器-ForEach Controller
  10. HTTP Get Post
  11. web端项目管理/工程项目劳务资源管理系统/考勤审批/人员招聘/企业管理系统/工资管理/入职管理/组织结构/财务管理/大数据指挥中心/劳务系统/岗位工种/智慧工程监管/劳务app原型/axure原型
  12. Hibernate讲解(三)-类映射文件中常用属性的了解
  13. 1.Windows下 PHP 开源框架 laravel 的搭建
  14. 后台查询到前台所需,数据结构转换的通用方法(三) 地图-色斑图的对接
  15. 上周六香山游兄弟们的合影
  16. openstack资料-陈沙克整理
  17. 开课吧 dubbo+zookeeper
  18. 特征值 是 系数行列式等于0时的 解
  19. 在Ubuntu上安装MySQL8.0数据库并使用Navicat远程访问
  20. gpio操作实现人体感应灯(一)

热门文章

  1. 网站分析实战——如何以数据驱动决策,提升网站价值(大数据时代的分析利器)...
  2. 双屏神器——UltraMon,提升工作效率
  3. 【自用】WinSCP-5.21.7安装与使用教程
  4. oracle中怎么查看索引,查看oracle中表的索引
  5. openwrt固件提取方法
  6. 如何利用群控做流量,手机群控引流方法有哪些
  7. DMS+OMS“融合”新风口
  8. 知识图谱推理问题总结
  9. ps.zhu7jie.com/forum-36-1.html,敬伟ps教程解压密码
  10. iPhone 14 Pro灵动岛怎么设置?灵动岛启用/关闭设置教程