#1 楼
可以监视客户端交换端口或服务器交换端口。可以将第三个交换端口配置为镜像端口。这意味着此镜像端口将在相应的原始端口上接收所有数据包的副本,而原始流量将不受影响。例如,在Catalyst 3560上:进入配置模式:
conf t
定义源并设置会话号:
monitor session 1 source interface fa 0/24
此处,会话号可以是1到66,您也可以指定VLAN或以太网通道。此外,如果要同时监视多个客户端,则可以使用
fa 0/25 - 26
之类的接口范围,以及fa 0/24,fa 0/26
之类的接口列表。同样,通过重复该命令,您可以添加端口,或使用no
删除端口。不能在同一会话中混合端口和VLAN,另一个限制是您不能将目标端口用作源端口。 定义目标端口:
monitor session 1 destination interface gi 0/1
您可以使用普通端口,但不能使用VLAN。与上面类似,目标端口不能是源端口:此处使用的端口可以是源端口或目标端口,并且只能是一个会话。再次,您可以像上面一样指定多个端口。
您可能想要
exit
配置模式并保存配置。您可以查看定义的会话-这里多个端口,如上尝试:
#show monitor session 1
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa0/24,Fa0/25-26
Destination Ports : Fa0/48,Gi0/1
Encapsulation : Native
Ingress : Disabled
您可以在此处看到封装-可以选择将其设置为
replicate
以复制源接口封装方法,例如在源接口之后添加encapsulation replicate
。此外,您可以指定方向(tx
,rx
,both
),过滤VLAN等。 Ingress: Disabled
线表示交换机将不接受捕获设备在目标端口上呈现的任何帧。有关更详细的信息以及进一步的限制和默认设置,请查看交换机的IOS版本的命令参考。 配置了源端口和目标端口后,就可以使用连接到目标端口的笔记本电脑捕获流量,例如使用Wireshark。
源会话可以受到限制,例如3560最多支持2个。
捕获后,请不要忘记删除此会话配置。
评论
您可以将监视器会话保留在原处,而只是禁用主机监视器的NIC上的链接。数据包将不会被捕获并通过关闭的链接发送。在Windows服务器上,我有两个网卡,其中一个叫做SPAN。当我不希望交换机承担捕获开销时,我只需进入网络属性并禁用SPAN NIC。 (通常,源端口已更改,但目标端口保持不变,因此我知道以后我将再次镜像到同一目标主机。)
–generalnetworkerror
13年5月21日在1:02
要禁用监视会话,请使用#no monitor session 1
– Wimh
2015年10月29日在9:18
#2 楼
如果您的流量恰好通过运行Cisco IOS 12.4(20)T的路由器,则另一种可能性是使用嵌入式数据包捕获功能。
此功能不适用于3560或3750等交换平台。
此功能的作用是在路由器上捕获并保存一个小的PCAP文件,您可以使用Wireshark下载和分析该文件。
一些详细信息链接。
评论
...这正是人们在发布并回答自己的问题时很好的原因:因为提示其他用户加入并添加新内容。甜。
–克雷格·康斯坦丁(Craig Constantine)
13年5月20日在13:27
在进行此操作时,ASA始终使用capture命令具有此功能。它是从PIX继承的,而PIX从6.2开始。
–詹姆斯·斯诺格(James Sneeringer)
2013年6月17日21:25
#3 楼
我想在混合物中加入ELAM。 PFC3(6500,7600)上支持ELAM。曾经经历过负面影响。本质上,ELAM的作用是向您显示通过DBUS(Data BUS)发送给PFC进行查找处理的内容以及PFC在RBUS(Result BUS)中提供的查找结果。
显示平台盖Elam asic超人插槽DFC / PFC_SLOT_YOU_WANT_TO_LOOK
如果ip_sa = 192.0.2.1
显示平台盖Elam start <显示触发器上限数据
对于触发器,有在线帮助,IP_SA == IP源地址,IP_DA == IP目标地址,还有许多其他可用。如果您要检查的内容不可用,则可以对前64B上的任意数据进行数据+掩码匹配。 />
如果data = DATA1 DATA2 DATAn [MASK1 MASK2 MASKn]
,则数据从DMAC开始。所以说我们想捕获[0 1951]的传入MPLS堆栈,但是我们不在乎MAC地址,我们可以这样做:
show platform capture elam trigger dbus others if data = 0 0 0 0x88470000 0x00000079 0xF0000000 [0 0 0 0xffffffff 0xf000ffff 0xf0000000]
示例输出可能是:
7600#show platform capture elam data
DBUS data:
SEQ_NUM [5] = 0x1D
QOS [3] = 1
QOS_TYPE [1] = 0
TYPE [4] = 0 [ETHERNET]
STATUS_BPDU [1] = 0
IPO [1] = 1
NO_ESTBLS [1] = 0
RBH [3] = b000 ! port-channel hash
CR [1] = 1 ! recirculated
TRUSTED [1] = 1
NOTIFY_IL [1] = 0
NOTIFY_NL [1] = 0
DISABLE_NL [1] = 0
DISABLE_IL [1] = 0
DONT_FWD [1] = 0
INDEX_DIRECT [1] = 0
DONT_LEARN [1] = 0
COND_LEARN [1] = 0
BUNDLE_BYPASS [1] = 0
QOS_TIC [1] = 1
INBAND [1] = 0
IGNORE_QOSO [1] = 0
IGNORE_QOSI [1] = 0
IGNORE_ACLO [1] = 0
IGNORE_ACLI [1] = 0
PORT_QOS [1] = 0
CACHE_CNTRL [2] = 0 [NORMAL]
VLAN [12] = 4086
SRC_FLOOD [1] = 0
SRC_INDEX [19] = 0xC0 ! divmod64(0xc0) = 3,0, add 1 to each, 4/1 == our physical port
LEN [16] = 102
FORMAT [2] = 0 [IP]
MPLS_EXP [3] = 0x0
REC [1] = 0
NO_STATS [1] = 0
VPN_INDEX [10] = 0x7F
PACKET_TYPE [3] = 0 [ETHERNET]
L3_PROTOCOL [4] = 0 [IPV4]
L3_PT [8] = 1 [ICMP]
MPLS_TTL [8] = 0
SRC_XTAG [4] = 0xF
DEST_XTAG [4] = 0xA
FF [1] = 0
MN [1] = 0
RF [1] = 1
SC [1] = 0
CARD_TYPE [4] = 0x0
DMAC = 8843.e1de.22c0
SMAC = 0000.0000.0000
IPVER [1] = 0 [IPV4]
IP_DF [1] = 1
IP_MF [1] = 0
IP_HDR_LEN [4] = 5
IP_TOS [8] = 0x0
IP_LEN [16] = 84
IP_HDR_VALID [1] = 1
IP_CHKSUM_VALID [1] = 1
IP_L4HDR_VALID [1] = 1
IP_OFFSET [13] = 0
IP_TTL [8] = 63
IP_CHKSUM [16] = 0xBCF1
IP_SA = x.x.x ! to protect the guilty
IP_DA = y.y.y.y ! to protect the guilty
ICMP_TYPE [8] = 0x8
ICMP_CODE [8] = 0x0
ICMP_DATA [104]
0000: A0 8B 18 A5 00 39 46 35 BF 51 00 6F 3C ".....9F5.Q.o<"
CRC [16] = 0x71B3
RBUS data:
SEQ_NUM [5] = 0x1D
CCC [3] = b100 [L3_RW] ! normal L3_RW, we know it was not dropped, L2/mls policed etc
CAP1 [1] = 0
CAP2 [1] = 0
QOS [3] = 0
EGRESS [1] = 0
DT [1] = 0 [IP]
TL [1] = 0 [B32]
FLOOD [1] = 1
DEST_INDEX [19] = 0x3E8 ! same as VLAN, but not always
VLAN [12] = 1000 ! you may need to check internal vlan
RBH [3] = b111 ! again, port-channel hash
RDT [1] = 0
GENERIC [1] = 0
EXTRA_CICLE [1] = 0
FABRIC_PRIO [1] = 0
L2 [1] = 0
FCS1 [8] = 0x1
IP_TOS_VALID [1] = 1
IP_TOS_OFS [7] = 15
IP_TOS [8] = 0x0
IP_TTL_VALID [1] = 1
IP_TTL_OFS [7] = 22
IP_TTL [8] = 62
IP_CSUM_VALID [1] = 1
IP_CSUM_OFS [7] = 24
IP_CSUM [16] = 0xBDF1
DELTA_LEN [8] = 0
REWRITE_INFO
i0 - replace bytes from ofs 0 to ofs 11 with seq 'D0 D0 FD 09 34 2D 88 43 E1 DE 22 C0'. ! this is the actual L2 rewrite data, so you should obviously see DMAC and SMAC here
FCS2 [8] = 0x0
7600#
几乎所有较大的平台都具有此类用于传输数据包的低级捕获,当您需要验证硬件是否按照配置说明进行操作时,该功能非常有用,有时存在软件缺陷,并且可以完成某些工作除了预期之外。
我知道在GSR中您可以看到内存中的传输,在Juniper Trio中也有很好的工具。博科可以做到。它们在供应商页面中没有记录,这很令人困惑。
#4 楼
我曾就serverfault提出过类似的问题,答案可能在此处有用。Cisco IOS调试命令和数据包监视
评论
我在这里对Brocade做了同样的自我回答问题:networkengineering.stackexchange.com/questions/672/…感觉有点奇怪... :)@BenjaminA。大!感谢您为Brocade提供的解决方案,并在此处添加了链接!
会话上是否有配置允许捕获的PC /服务器仍从DHCP获得IP?
有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供并接受自己的答案。