Winbox 是基于 windows下远程管理 ROS的软件,提供直观方便的图形界面。用它能登陆路由器,这个路由器是软路由ROUTEOS制作的,用Winbox登陆后,就可以配置路由器了,用这个软件便于配置路由器。Winbox控制台使用TCP8291端口,在登陆到路由器后可以通过Winbox控制台操作MikroTik路由器的配置并执行与本地控制台同样的任务。

基于ros 路由的配置,我们可以对ip进行数据解析分析服务,对ros产生的ip详细dns日志收录,对流量记录等。

使用winbox:左边是工具的使用,我们可以用

链接:https://pan.baidu.com/s/1kgJ_RougILQzIQUGj-ljdA 
提取码:bqlx

Manual:API - MikroTik Wiki ROS 是 一个比较流行的软路由系统,它的强大在于它的高度定制性,它提供了应用程序编程使用的API接口,是它应用更加灵活,我们可以自己开发软件或WEB程序来操控ROS,比较实用的例子就是当用ROS管理小区网络时,我们用自己写的软件来管理上网账号,安全又方便。下面是官网,已经简单命令的使用。

Manual:API - MikroTik Wiki

(这里的api是需要通过命令输入查询才行)

这里我们通过命令可以去跑数据,那如何把这个数据通过api读取到我们程序来呢?

git地址

https://github.com/GideonLeGrange/mikrotik-java

可以吧代码拉到本地看看源码。

如何集成到springboot程序里面?我们只需要一个maven包就行了。

<dependency><groupId>me.legrange</groupId><artifactId>mikrotik</artifactId><version>3.0.7</version>
</dependency>

与Ros通信至少需要哪些参数?

host: {}, port: {}, rosUserName: {}, rosPassword: {},Socket:{}

获取连接:

 /*** 获取rosconnect 连接** @return*/public static ApiConnection getRosConnection() {try {//建立连接超时时间限制ApiConnection con = ApiConnection.connect(SocketFactory.getDefault(), host, ApiConnection.DEFAULT_PORT, 30000);//命令执行超时时间限制con.setTimeout(500000);con.login(rosUserName, rosPassword);return con;} catch (Exception e) {e.printStackTrace();}return null;}

执行命令:

  public static List<Map<String, String>> execute(ApiConnection conn, String command) {try {return conn.execute(command);} catch (MikrotikApiException e) {e.printStackTrace();}return null;}

测试数据已经可以拿到了:

工具类。需要测试换成你自己的地址。

package com.nanianxiatian.springboot.util;import me.legrange.mikrotik.ApiConnection;
import me.legrange.mikrotik.ApiConnectionException;
import me.legrange.mikrotik.MikrotikApiException;import javax.net.SocketFactory;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;/*** <p>* ros data** @author yangchang* @since 2022-03-06*/
public class RosUtils {/*** host*/private static String host = "116.6.2.251";private static int port = 8291;private static String rosUserName = "admin";private static String rosPassword = "admin";/*** 获取rosconnect 连接** @return*/public static ApiConnection getRosConnection() {try {//建立连接超时时间限制ApiConnection con = ApiConnection.connect(SocketFactory.getDefault(), host, ApiConnection.DEFAULT_PORT, 30000);//命令执行超时时间限制con.setTimeout(500000);con.login(rosUserName, rosPassword);return con;} catch (Exception e) {e.printStackTrace();}return null;}public static List<Map<String, String>> execute(ApiConnection conn, String command) {try {return conn.execute(command);} catch (MikrotikApiException e) {e.printStackTrace();}return null;}public static void logout(ApiConnection conn) {try {if (conn != null) {conn.close();}} catch (ApiConnectionException e) {//  log.error("", e);}}public static void main(String args[]) {//执行命令ros脚本命令String command = "/ip/firewall/address-list/print";ApiConnection connection = getRosConnection();List<Map<String, String>> existsList = execute(connection, String.format(command));List<String> list = existsList.stream().map(m -> m.get("address")).collect(Collectors.toList());logout(connection);System.out.println("其他");}}

拿到数据就可以愉快的操作了。

喜欢记得一键三连。

java基于winbox 工具下使用 api获取映射表api数据相关推荐

  1. java基于HuTool工具类ExcelWriter合并单元格

    ** java基于HuTool工具类ExcelWriter合并单元格 ** 1.基于HuTool工具类ExcelWriter合并单元格并且使用 jdk1.8 lambda表达式 效果如下: 用姓名和编 ...

  2. 基于vue框架下使用Element-UI获取文件MD5值并上传

    基于vue框架下使用Element-UI获取文件MD5值并上传 使用插件: spark-md5 .vue页面 <el-uploadclass="avatar-uploader idca ...

  3. java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题

    文章目录 java导出Excel增加下拉框选项 一.小数据量情况 二.大数据量情况 java导出Excel增加下拉框选项(java结合easyExcel) 添加传参模型ConsumablesAddDT ...

  4. 使用Youtube官方API获取频道及视频数据

    2020-06-04更新 下面附上笔者提供的源码(已经验证过功能.后续会在同一个工程中更新Facebook和Insgram的相关爬虫代码). https://github.com/zhangjz777 ...

  5. java使用htmlunit工具抓取js中加载的数据

    htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容.项目可以模拟浏览器运行,被誉为java浏览器的开源实现.这个没有界面的浏览器,运行速度 ...

  6. 通过http请求 zabbix api 获取监控的流量数据

    zabbix获取流量监控数据(之前有问题,修正了下) zabbix没有提供监控流量数据的api(至少我没有找到),历史表有一部分数据,但是不全,所以只能从趋势数据表里获取.流量数据是隔段时间保存一次的 ...

  7. 基于JQuery Ajax实现三级联动获取SpringMVC接口的数据(详细一套)

    本文实例为大家分享了ajax实现三级联动的具体代码,供大家参考(复制下来就可以用) 一.省市县数据表可见:全国各.省.市区/县sql语句 二.点我:切换二级联动 在静态页面写调用服务端接口,获取省.市 ...

  8. Msray-Plus采集工具帮您轻松获取目标受众的数据,让您的市场营销更加便捷

    市场营销是企业推广产品和服务的重要手段之一,是企业获取客户和提高销售业绩的关键环节.然而,传统的市场营销方式存在着很多弊端,如缺乏数据支持.信息不准确.效率低下等问题,这些问题直接影响了企业的市场营销 ...

  9. 使用FFMpeg API 获取摄像头的图像数据

    文章目录 1. 获取摄像头的信息 2. 打开并初始化摄像头 3. 获取摄像头数据及渲染 摄像头是我们比较常用的外设,很多场景我们都会用到摄像头.比如视频直播.视频监控等各个领域都会用到摄像头.摄像头图 ...

最新文章

  1. 裸奔浏览器_大概是最好用的隐私浏览器 - Firefox Focus
  2. 字符数据类型转换代码
  3. nio和bio的原理_Java的BIO,NIO和AIO的区别于演进
  4. 开源软件的安全性风险_开源安全性,Google惊喜等
  5. 22号大更新网站大面积降权的原因分析
  6. Codeforces Round #468 (Div. 2, based on Technocup 2018 Final Round)
  7. xcode-select --install选择安装安装失败:下载失败网络问题(2:散列问题解决方案)
  8. PS1545L-ASEMI低压降肖特基二极管PS1545L
  9. 【虚拟机里测试Windows PE的方法】
  10. 1024程序员节!Hello world
  11. Android调用系统相机拍照
  12. SOUI总结之比较常用的类
  13. 百度云主机连接FTP
  14. 刘润《商业简史》读书笔记--拾间房
  15. Easyui Datagrid 中用 Combotree 的显示问题
  16. python pandas包,Python的常用包pandas,numpy
  17. python面向对象:光学元件类的实现
  18. 一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)
  19. 什么是8口poe交换机?8口poe交换机有哪些特点?
  20. 第五章 C++与STL入门 例题

热门文章

  1. 西门子1500通讯与西门子1200通讯(1)
  2. 全局与成员函数做友元(学自王桂林)
  3. USB MSC类存储设备及FatfsR0.14移植
  4. zabbix监控深信服_zabbix snmp类型 无需安装agent也能监控(51)
  5. 面向对象程序设计第三次上机作业Debug心路历程
  6. spring注解驱动开发-5 Spring AOP实现
  7. PMP第5章知识点回顾,练习题
  8. Python爬虫requests模块在线生成请求头
  9. 通过快捷指令GET请求方法登录东华理工校园网
  10. 什么是DataSet_大数据培训