Embedded Packet Capture (EPC)
Embedded Packet Capture (EPC)是一个很好的抓包工具,在排障的时候,需要在线抓包的情况下,是一个非常好的选择。
EPC在IOS和IOS-XE都是支持,不过,不同平台下有版本的限制。
1、IOS:需要在12.4(20)T及之后的版本支持
2、IOS-XE:需要在15.2(4)S - 3.7.0 及之后的版本
如下配置示例,简单记录了IOS和IOS-XE的EPC不同配置:
关于IOS的EPC
配置步骤:
1、定义一个“capture buffer”,这是一个临时的buffer,给抓取的数据使用,当定义buffer的时候,有各种参数可以定义,例如:buffer大小(size),最大报文大小(max packet size),capture buffer的模式【这里分为2中,一种是linear(称为“线性模式”吧,当buffer满了,丢弃新的数据包),另一种是circular(称为“循环模式”吧,当buffer满了,丢弃旧的数据包)。】
2、可以定义一个ACL去匹配对应的流量。
3、定义一个“capture point”,定义哪个位置的流量会被抓取,抓取的方向是in,out,还是both,还可以定义是发生在IPv4还是IPv6,或者交换方式是process还是CEF。
4、为“capture point”关联buffer。
5、开启capture,开启之后,就可以抓取报文了。
6、待抓取结束,停止capture。
配置示例:
monitor capture buffer BUF size 2048 max-size 1518 linear <<<<<<定义一个名为BUG的buffer,buffer大小2MB,最大报文1518 Byte,当buffer满了,丢弃抓取的数据包。
ip access-list extended BUF-FILTER <<<<<<定义流量的src&dst地址
permit ip host 192.168.1.1 host 172.16.1.1
permit ip host 172.16.1.1 host 192.168.1.1
monitor capture buffer BUF filter access-list BUF-FILTER <<<<<<关联ACL到BUF
monitor capture point ip cef P fastethernet 0 both <<<<<<定义要抓取的接口,方向,交换方式
monitor capture point associate P BUF <<<<<<定义一个名为“P”的capture point并关联buffer参数
monitor capture point start P <<<<<<开启monitor capture
.... <<<<<<抓取过程
monitor capture point stop P <<<<<<停止抓取
直接在设备上查看抓取的信息:(但是看到的是16进制的方式)
show monitor capture buffer BUF dump
我们可以通过如下方式去查看:
1、导出为wireshark可读文件(通过FTP/TFTP)。
monitor capture buffer BUF export tftp://10.1.1.1/BUF.pcap
其他:当信息收集完毕之后,删除capture:
no monitor capture point ip cef P fastethernet 0 both
no monitor capture buffer BUF
注意:在IOS 15.0(1)M之前,buffer size被限制为512K,报文大小被限制为1024 Byte。抓取的信息存在DRAM中,不能存到NVRAM中,且重启后消失。另外,可以定义在某接口抓取或者全局抓取。
关于IOS-XE的EPC
配置步骤如下:
1、定义抓取的位置。
2、关联一个过滤信息,这里可以直接指定,也可以跟ACL或者route-map。
3、开启抓取。
...
4、停止抓取。
5、查看抓取的摘要信息或详细信息。
6、可以到处抓取的信息。
7、操作完毕,移除capture。
配置示例:
monitor capture C interface GigabitEthernet 0/0/1 both
monitor capture C match ipv4 protocol tcp any any
monitor capture C start
...
monitor capture C stop
查看抓取的信息:
show monitor capture C buffer brife
show monitor capture C buffer detailed
导出抓取的文件:
monitor capture C export tftp://10.0.0.1/C.pcap
移除capture:
no monitor capture C
注意:capture可以在物理接口,子接口和tunnel接口执行;目前不支持NBAR。
排查IOS-XE的EPC配置,如下debug可以确保正确的设置EPC:
debug epc provision
debug epc capture-point
相关链接1:Embedded Packet Capture Configuration Guide, Cisco IOS Release 15M&T
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/epc/configuration/15-mt/epc-15-mt-book/nm-packet-capture.html?referring_site=RE&pos=3&page=https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-embedded-packet-capture/116045-productconfig-epc-00.html
相关链接2:Embedded Packet Capture Configuration Guide, Cisco IOS XE Release 3S
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/epc/configuration/xe-3s/epc-xe-3s-book.html?referring_site=RE&pos=2&page=https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-embedded-packet-capture/116045-productconfig-epc-00.html
Embedded Packet Capture (EPC)的更多相关文章
- 无Root抓包:Packet Capture 1.2.3
无Root抓包:Packet Capture 1.2.3 http://www.coolapk.com/apk/app.greyshirts.sslcapture
- configure: error: The LBL Packet Capture Library, libpcap, was not found!
configure: error: The LBL Packet Capture Library, libpcap, was not found! yum install libpcap*
- 手机抓包HTTPS (Fiddler & Packet Capture)
手机抓包HTTPS (Fiddler & Packet Capture) 以前写了一个小游戏(消灭病毒)的刷金币小脚本,使用需要获取openid ,就需要抓微信的HTTPS包 一直都是用Fid ...
- packet Capture 手机抓包工具
packet Capture packet Capture 是一款免root的app, 运行在安卓平台上,用于捕获http/https网络流量嗅探的应用程序 特点: 捕获网络数据包,并记录太慢,使用中 ...
- packet capture
1.下载地址:https://www.coolapk.com/apk/app.greyshirts.sslcapture
- Cisco IOS Debug Command Reference Command E through H
debug eap through debug he-module subslot periodic debug eap : to display information about Extensib ...
- ISR4K-IOS XE EPC
1.该操作在ISR4K的平台操作,简单的执行了一个控制层面的抓包 配置命令: R01#monitor capture A control-plane both R01#monitor capture ...
- LTE Module User Documentation(翻译8)——核心网(EPC)
LTE用户文档 (如有不当的地方,欢迎指正!) 14 Evolved Packet Core (EPC) 我们现在讲解如何编写一个仿真程序——除了 LTE 无线接入网外,还允许仿真 EPC. EP ...
- [转]Getting a Packet Trace
src:https://developer.apple.com/library/mac/qa/qa1176/_index.html Technical Q&A QA1176 Getting a ...
随机推荐
- js的一些基础
事件对象: 就是用来存储事件相关的信息 事件对象存储信息有: 事件的类别,如:click,keydown等等 点击事件的位置 点击的哪一个键 等等 用于阻止事件流,用于阻止浏览器默认动作(表单提交.a ...
- Jarvis OJ - 爬楼梯 -Writeup
Jarvis OJ - 爬楼梯 -Writeup 本来是想逆一下算法的,后来在学长的指导下发现可以直接修改关键函数,这个题做完有种四两拨千斤的感觉,记录在这里 转载请标明出处:http://www.c ...
- python numpy中sum()时出现负值
import numpy a=numpy.random.randint(1, 4095, (5000,5000)) a.sum() 结果为负值, 这是错误的,a.sum()的类型为 int32,如何做 ...
- 题解 P5594 【【XR-4】模拟赛】
P5594 [[XR-4]模拟赛] 洛谷10月月赛 II & X Round 4 Div.2前两道签到题还是很简单的,基本上是半小时内一遍过两题 看看题解,这题STL做法有用set输出size ...
- c++中const变量定义与头文件包含的有关问题
在使用C++进行程序开发的时候,有个常识我们很熟悉,就是把类的定义写在.h文件中,把类的具体实现写在.cpp文件中.这毫无疑问是对的.但我们很少去思考为什么要这样做,本文结合自己的学习体会,对头文件及 ...
- Logarithmic-Trigonometric积分系列(二)
\[\Large\displaystyle \int_0^{\pi/2}\ln^2(\sin x)\ln(\cos x)\tan x \,{\rm d}x\] \(\Large\mathbf{Solu ...
- Servlet转发
可以使用ServletContext中的getRequestDispatcher(url).forward(request, response)方法进行转发 myservlet2.java publi ...
- 【转】解决jenkins自动杀掉衍生进程
在执行 shell输入框中加入BUILD_ID=dontKillMe ,即可防止jenkins杀死启动的进程 export BUILD_ID=dontKillMe PROJECT_LOCATION=& ...
- 前端——语言——Core JS——《The good part》读书笔记——第三章节(Object)
本章介绍对象. 在学习Java时,对象理解为公共事物的抽象,实例为具体的个例,对象为抽象的概念,例如人为抽象的概念,具体的个例为张三,李四. Java对象种类多,包含普通类,JavaBean,注解,枚 ...
- 【PAT甲级】1102 Invert a Binary Tree (25 分)(层次遍历和中序遍历)
题意: 输入一个正整数N(<=10),接着输入0~N-1每个结点的左右儿子结点,输出这颗二叉树的反转的层次遍历和中序遍历. AAAAAccepted code: #define HAVE_STR ...