Tacacs-协议交互报文抓包示例_曹世宏的博客的博客-程序员信息网_tacacs aaa认证交互日志报文

技术标签: AAA  Tacacs+  授权  计费  网络杂项  认证  网络安全  


其他文章:


tacacs+协议报文抓包示例

如果使用wireshark对tacacs+报文进行抓包,需要将tacacs+服务器的tac_plus服务监听端口设置为49,这是为tacacs+分配的默认端口,TCP 49。

此时,会将TCP 49端口的报解码为tacacs+报文。否则,看到的都是TCP交互报文。

实验拓扑:

本次实验在eve-ng仿真环境中进行测试,可测试H3C,华为,Arista,Cisco设备。

图中Linux运行CentOS7系统,安装了Tacacs+守护进程,监听192.168.147.135 TCP 49端口。

在这里插入图片描述

图:实验拓扑

Tacacs+报文交互流程图:

在这里插入图片描述

在这里插入图片描述

图:tacacs+报文交互

注意:在wireshark中抓的tacacs+报文默认为加密报文,无法看到详细的报文内容,需要在wireshark中输入tacacs+密钥进行解密,从而可以查看报文内容。

操作步骤:选择tacacs+协议报文,右键选择Protocol Preferences, 选择,TACACS+Encryption Key
在这里插入图片描述

输入Tacacs+服务器密钥即可解密报文。

在这里插入图片描述

Authentication报文抓包示例:

认证请求报文:

如下图,当用户远程登陆交换机时,交换机会将用户名,密码都发给tacacs+服务器,进行认证请求。

在这里插入图片描述

图:当发起认证后交换机发起的第一个认证报文

认证回应报文:

Tacacs+服务器收到交换机的认证请求报文后,如果账号密码都正确,则返回认证回应报文,里面表明认证通过。

如果账号或密码不正确,则返回认证失败报文。

在这里插入图片描述

图:tacacs+服务器给交换机回应的认证通过报文

在这里插入图片描述

图:认证失败报文

Authorization报文抓包示例:

授权请求报文:

在认证成功之后,交换机会发起授权请求报文,携带service类型,需要授权的命令。
在这里插入图片描述

图:交换机发起的授权请求报文

授权回应报文:

Tacacs+服务器收到授权回应请求报文后,会根据配置文件进行回应授权情况,如:p riv-lvl=15。

在这里插入图片描述

图:授权回应报文

Accounting报文抓包示例:

计费请求报文:

在认证和授权成功之后,交换机会发起计费请求报文。

在这里插入图片描述

图:计费请求报文

计费回应报文:

在这里插入图片描述

图:计费回应报文

输入dis ip inter bri 后的授权和计费过程抓包示例:

在认证成功之后,在交换机输入的每条命令都会进行如下四个报文交互流程。

授权请求报文:

在下图中可看到,当在交换机上输入dis ip inter bri后,交换机会向Tacacs+服务器发起授权请求报文,报文内的dis ip inter bri 会被交换机自动补全,并按空格进行分割,请求多个cmd value,从而发送个服务器进行授权请求。

在Tacacs+服务器上会根据配置文件的授权配置,匹配正则表达等进行判断是否授权。

在这里插入图片描述

图:交换机命令的授权请求报文

授权回应报文:

在这里插入图片描述

图:授权回应报文,授权通过

计费请求报文:

在命令被授权后,交换机如果配置了tacacs+计费,会发起计费请求报文,计费请求报文中会携带命令的相关信息,命令字符串,命令级,时区等。

在这里插入图片描述

图:交换机发起的命令计费请求报文

计费回应报文:

在这里插入图片描述

图:计费回应报文

Tacacs+服务超时自动端口连接报文抓包示例:

在这里插入图片描述

图:tacacs+服务超时自动断开连接

在这里插入图片描述

图:tacacs+计费会应报文

Tacacs+服务器认证,授权,计费日志示例

Access.log:

[[email protected] ~]# more /var/log/tac_plus/a
access/         accounting/     authentication/ authorization/  
[[email protected] ~]# more /var/log/tac_plus/access/access.log 
2020-10-06 15:47:43 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:01:36 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:07:37 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:13:43 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 17:59:12 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 17:59:22 +0800       192.168.147.134 user    GigabitEthernet1/0      192.168.147.1   ascii login fail
ed (no such user)
2020-10-06 17:59:22 +0800       192.168.147.134 user    GigabitEthernet1/0      192.168.147.1   shell login fail
ed (no such user)
2020-10-06 17:59:22 +0800       192.168.147.134 user    GigabitEthernet1/0      192.168.147.1   shell login fail
ed (no such user)

authentication.log 认证日志示例:

[[email protected] ~]# more /var/log/tac_plus/authentication/authentication.log 
2020-10-06 15:47:43 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:01:36 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:07:37 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 16:13:43 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 17:59:12 +0800       192.168.147.134 tacacsuser      GigabitEthernet1/0      192.168.147.1   ascii lo
gin succeeded
2020-10-06 17:59:22 +0800       192.168.147.134 user    GigabitEthernet1/0      192.168.147.1   ascii login fail
ed (no such user)

authorization.log 授权日志示例:

[[email protected] ~]# more /var/log/tac_plus/authorization/authorization.log 
2020-10-06 15:47:48 +0800       192.168.147.134 tacacsuser      vty0            permit  system-view     <cr>
2020-10-06 16:01:45 +0800       192.168.147.134 tacacsuser      vty0            permit  display ip interface bri
ef <cr>
2020-10-06 16:06:34 +0800       192.168.147.134 tacacsuser      vty0            permit  system-view     <cr>
2020-10-06 16:06:35 +0800       192.168.147.134 tacacsuser      vty0            permit  display this <cr>
2020-10-06 16:06:37 +0800       192.168.147.134 tacacsuser      vty0            permit  display current-configur
ation <cr>
2020-10-06 16:07:19 +0800       192.168.147.134 tacacsuser      vty0            permit  hwtacacs        scheme c
as <cr>
2020-10-06 16:07:20 +0800       192.168.147.134 tacacsuser      vty0            permit  primary authentication 1
92.168.147.135 49 single-connection key simple ****** <cr>
2020-10-06 16:07:20 +0800       192.168.147.134 tacacsuser      vty0            permit  primary authorization 19
2020-10-06 16:09:15 +0800       192.168.147.134 tacacsuser      vty0            permit  display ip interface bri

accounting.log 计费日志示例:

[[email protected] ~]# more /var/log/tac_plus/accounting/accounting.log 
2020-10-06 15:47:43 +0800       192.168.147.134 tacacsuser      vty0    192.168.147.1   start   task_id=0
timezone=0      service=shell
2020-10-06 15:47:48 +0800       192.168.147.134 tacacsuser      vty0            stop    task_id=0       timezone
=0      service=shell   priv-lvl=15     cmd=system-view
2020-10-06 15:49:39 +0800       192.168.147.134 tacacsuser      vty0            stop    task_id=0       timezone
2020-10-06 18:27:23 +0800       192.168.147.134 user1   vty0    192.168.147.1   start   task_id=0       timezone
=0      service=shell
2020-10-06 18:27:24 +0800       192.168.147.134 user1   vty0            stop    task_id=0       timezone=0
service=shell   priv-lvl=15     cmd=system-view
2020-10-06 18:27:27 +0800       192.168.147.134 user1   vty0            stop    task_id=0       timezone=0
service=shell   priv-lvl=15     cmd=display ip interface brief
2020-10-06 18:37:28 +0800       192.168.147.134 user1   vty0    192.168.147.1   stop    task_id=0       timezone
=0      service=shell   disc_cause=0    disc_cause_ext=0        bytes_in=0      bytes_out=0     paks_in=0
paks_out=0      elapsed_time=605

其他文章:


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38265137/article/details/108944530

智能推荐

Flink状态后端keyby之后-Java版_qq_43159264的博客-程序员信息网

说明:keyby分组后的每个分组管理一个自己的状态后端// 富函数初始化状态后端 public static class ValueStateFlatMap extends RichFlatMapFunction&lt;JSONObject,JSONObject&gt; { public transient ValueState&lt;String&gt; preValueFault; @Override public void open(

【Matlab】经验积累(待整理)_小小的行者的博客-程序员信息网

1、MATLAB通过mex文件调用C/C++程序。参考:丨文章丨先切换到mex文件目录在命令行里输入 Retinex()提示用法,其中 I 表示图片地址,正确使用方法:...

metronic学习交流 metronic文档 metronic源码 metronic下载_shyngo的博客-程序员信息网

1.metronic,版本v6.0.1 2,在工作中用到的前端框架,2.metronic一个基于bootstrap的响应式的后台管理平台的UI框架3.地址:https://gitee.com/shyn0121/metronic.git3.不懂的可以相互交流4.官网:http://metronic.org/dist/default/index.htmlhttps://preview.keenthemes.com/metronic/demo1/index.htmlhttps://keenthemes.co

Qt之 自定义QMessageBox(提示框)_Lqsaber的博客-程序员信息网

头文件的编写:#pragma once#include "qdialog.h"#include #include #include class MsgBox :    public QDialog{    Q_OBJECTpublic:    MsgBox(int style,QString text);    ~MsgBox(void);p

WijmoJS V2019.0 Update2发布:再度增强 React 和 Vue 框架的组件功能_葡萄前端框架_葡萄城技术团队的博客-程序员信息网

前端开发工具包 WijmoJS 在2019年的第二个主要版本 V2019.0 Update2 已经发布,本次发布涵盖了React 和 Vue 框架下 WijmoJS 前端组件的功能增强,并加入更为易用且灵活的撤消/重做功能和模板字符串支持。WijmoJS 前端开发工具包由多款灵活高效、零依赖、轻量级的纯前端控件组成,如表格控件 FlexGrid、图表控件 FlexChart、数据分析 O...

华为有哪些认证啊?-程序员信息网

华为认证是华为技术有限公司(简称“华为”)基于“平台+生态”战略,围绕“云-管-端”协同的新ICT技术架构,打造的业界覆盖ICT领域最广的认证体系,包含“ICT技术架构认证”、“平台与服务认证“、“行业ICT认证”三类认证。根据ICT从业者的学习和进阶需求,华为认证分为工程师级别、高级工程师级别和专家级别三个认证等级。华为认证覆盖ICT领域,致力于提供领先的人才培养体系和认证标准,培养数字化时代的新型ICT人才,构建良性的ICT人才生态。根据ICT从业者的学习和进阶需求,华为认证分为工程师级别、高级工程师级

随便推点

无法停止hadoop集群(stop-all.sh)_hadoop stop-all.sh_markix的博客-程序员信息网

执行 ./bin/stop-all.sh 脚本一直提示没有可停止的namenode、datanode、secondarynode。可是输入 jps 命令,发现hadoop 已经启动。[[email protected] src]# bash hadoop-2.6.5/sbin/stop-all.sh This script is Deprecated. Instead use stop-dfs.sh a...

Effective Java 案例分享(一)_珠穆朗玛小王子的博客-程序员信息网

考虑使用静态生产方法替代构造方法如果某一个类拥有多个构造方法,且参数各不相同,使用静态的生产方法替代构造方法的好处:过多的构造方法增加了使用者对于类的理解成本,并且很容易产生误解;静态生产方法拥有自己的方法名,可以进一步描述该方法的使用场景和参数意义;静态生产方法封装了内部的实现,便于扩展。例如实现内部的单例,缓存,子类,匿名类,简单工厂等等;缺点:如果构造方法是私有的,仅仅使用静态生产方法,子类不能继承构造方法;如果使用静态方法,需要使用者首先了解静态生产方法的存在,并在所有的静态方法

不看后悔,学完月薪3w的java编程资源(SSM/Spring Boot/Spring Cloud/Redis/RabbitMQ/RocketMQ/Zookeeper各种面试题都有欢迎白嫖....)_ye游神的博客-程序员信息网

内卷OR躺平不学咋办,得学啊,现在内卷的厉害,而且面试的门槛也越来越高,在10年前只需要会ssm简单搭个框架,会写mysql会用存储过程,写点CRUD就能轻轻松松找一个月薪过万的工资,现在要学的太多啦。各位小伙伴我整理了很多java白嫖资源,大家可以点击下方连接直达地址,网站测试过了,无毒,是某公司内部资源。哈哈哈来白嫖了。资源截图下载方式点我直达下载链接哦打开网站后在输入框搜索相关资源即可,例如并发、视频、面试、书籍等等视频资源这里有很多内部的视频资源,而且会一直更新,

mybatis 详解(二)------入门实例(基于XML)_SKlonglong的博客-程序员信息网

通过上一小节,mybatis 和 jdbc 的区别:http://www.cnblogs.com/ysocean/p/7271600.html,我们对 mybatis有了一个大致的了解,下面我们通过一个入门实例来对mybatis有更近一步的了解。  我们用 mybatis 来对 user 表进行增删改查操作。   ps:本篇博客源代码链接:http://pan.baidu.com/s/1eSEfc...

ES6快速入门第四章------字符串的扩展(可私信解惑)_MyKyle18的博客-程序员信息网

字符的Unicode表示法 JavaScript允许采用\uxxxx形式表示一个字符,其中“xxxx”表示字符的码点。"\u0061" 表示字母 a但是,这种表示法只限于\u0000——\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表达。"\u20BB7" JavaScript会理解成 \u20BB+7 ,所以只会显示一个空格,后面...

推荐文章

热门文章

相关标签