dhcp工具_网络分析之DHCP服务闯入QinQ二层隧道引发故障

一、Wireshark显示过滤器和QinQ二层隧道简述

1.本段主要简述什么是Wireshark显示过滤器。显示过滤器是在现有的数据包中通过过滤条件,筛选想要查看的对象,不会丢失数据包,只是为了增强用户阅读而将一部分数据包隐藏起来。在“应用显示过滤器”输入框,你可以输入显示过滤条件,或者通过下拉显示近期使用的过滤条件记录,来选择“应用显示过滤器”。

b98935f84ed11f1bb71b007266c7dc04.png

       用户配置了显示过滤条件之后,只有那些满足过滤条件的数据包才会被显示出来。使用“应用显示过滤器”之后,就会在Wireshark状态栏的第二列看到使用显示过滤器后的相关信息。

8c67af5cab03accba55989b6d48d7de0.png

       如何快速创建显示过滤器,在Packet List(数据包列表面板)上面右键,从作为过滤器、准备过滤器和对话过滤器中快速生成,如下图所示。显示过滤器可以用很多不同的参数作为匹配标准,比如IP地址协议、端口号、某些协议头部的参数。此外也用一些条件工具和组合运算符创建出更加复杂的表达式。将不同的表达式组合起来,让软件显示的数据包范围更加精确。在数据包列表面板中显示的所有数据包都可以用数据包中包含的字段进行过滤显示。

80d864d2985cbd677327d545a0948128.png

以下是常见显示过滤器,供参考。

91ba72fcf0b8d4437818a813183fae9d.png

2.QinQ技术又称为QinQ二层隧道(也称Stacked VLAN 或Double VLAN)。由IEEE 802.1ad标准定义。实现将用户私网VLAN Tag(C-VLAN)封装在公网VLAN Tag(S-VLAN)中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。为用户提供了一种比较简单的二层VPN隧道技术。

794957e18336a195bfad32beee20b0c6.png

二、故障现象

       用户报修4K机顶盒互动页面无法显示,获取不到互动信令IP地址。排障过程抓包点A、B、C如下图所示:

图一:故障图

39fc000fe1682b577046122244430393.png

三、排障过程:

1.由于OLT-2(中兴C320)同一PON口下多台HGU(默认互动C-VLAN是3902)下挂4K机顶盒存在类似故障,现场HUG修改互动C-VLAN或者更换为ONU故障恢复,同时市级机房核心交换机A、B抓包点抓取DHCP报文分析,DHCP DISCOVER、DHCP OFFER、DHCP REQUEST、DHCP ACK报文交互过程均正常,如下图所示:

图一:正常DHCP交互过程

98604f68bc62522e6754e556783d8e67.png

图二:抓包点B抓取的报文

显示过滤条件为:eth.addr == 70:85:40:fe:47:10

b6d242575a7187442ae4e2648dbba2d6.png

图三:抓包点A抓取的报文

显示过滤条件为:dhcp.hw.mac_addr == 70:85:40:fe:47:10

5cecbbd95a3b73136a622fa69b97204c.png

2.同时抓取A、B、C三点对4K机顶盒(70:85:40:fe:47:10)交互数据报文,对C点报文进行分析发现故障图所示橙色区域形成QinQ二层隧道,闯入MAC地址为50:bd:5f:4f:1f:04的用户路由器DHCP服务对4K机顶盒DHCP交互报文优先响应,导致4K机顶盒与互动信令DHCP服务器交互报文被丢弃,又因4K机顶盒DHCP交互报文携带option60字段,即无法获取互动信令IP地址,也无法获取其它IP地址。

图四:抓包点C抓取的报文

显示过滤条件为:dhcp

d096d3a34c93fabf74af08e0c730f4bf.png

3.依据找到的用户路由器MAC地址顺藤摸瓜,最终找到故障引发点,如下图所示:HGU 4口连接用户路由器LAN口后,引入第二个DHCP服务在QinQ二层隧道广播,排除后4K机顶盒快速拿到互动信令IP地址,恢复正常。

660cb1fe2d1fc6ca0adeb246287bfb0f.png

四、总结

       此次故障是由于HGU半自动下发后内层VLAN大量保持默认,形成的QinQ隧道内终端设备数量较大,有任何一个点上用户错接,闯入DHCP等广播报文均会引起广播域内宽带、互动故障,且故障现象多样,排查难度也较大。在日常配置数通设备和维护排查过程中应特别注意VLAN资源的平均分布,减小广播域范围。多学习多使用Wireshark、科来等抓包工具对一些二层环路,QinQ隧道异常报文引发的故障排查有事半功倍的作用。

本文编辑:漳州分公司

本文摘自:三明分公司

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php redis存储位置,redis数据保存在哪里

redis的数据是存在内存里吗?首先要明白redis是一个数据库,redis是一个内存数据库,所有数据基本上都存在于内存当中,会定时以追加或者快照的方式刷新到硬盘中。 (推荐学习:Redis视频教程)由于redis是一个内存数据库&…

python 多条件 选择 算法_浅析Python中的多条件排序实现

多条件排序及itemgetter的应用曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球…

推荐系统: 数据、问题与算法

网络的迅速发展带来了信息量的大幅增长,使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,导致信息超载(information overload)问题。 解决信息超载问题一个非常有潜力的办…

python字典遍历 没有顺序_Python中字典的顺序问题(为什么实践发现字典的遍历和方法popitem并不是随机的?)...

据称,字典的遍历是没有一定顺序的,但是我在实践中发现,它总是从第一组元素开始依次遍历到最后一个元素。 my_dict dict.fromkeys(range(10**5)) i 0 for k, v in my_dict.items(): ... if k ! i: ... print(k, i) ... print("字典的遍…

linux内核优化策略,linux系统调优小结

关于安全系统的调优:1、关闭selinux安全策略sed -i s#SELINUXenforcing#SELINUXdisabled#g /etc/sysconfig/selinuxfor oldboy in chkconfig --list|grep "3:on"|awk {print $1}|grep -vE "crond|network|sshd|rsyslog";do chkconfig $oldboy o…

睡眠音频分割及识别问题(八)--数据采集

问题 在采用PANN或者YAMNet框架进行学习的时候,没有梦话、磨牙等睡眠音频数据,在一些公开数据集上也没有找到(如果有哪位读者知道,麻烦给我在评论区留言,万分感谢)。 公开数据集包括: &#xf…

旋转矩阵公式生成器_坐标变换(8)—复特征值与旋转

1.共轭复特征值设是的实矩阵,假设是的特征值,为对应的特征向量,则同样是的特征值,而是对应的特征向量,所以,当是的实矩阵,它的复特征值以共轭复数对出现。2. rotation-scaling matrix假如,为实数…

睡眠音频分割及识别问题(九)--Android下的YAMNet

部署PANNs模型面临的问题 加载模型出错 在使用PANNs模型时,在PC端可以较好的运行,可是在Android端运行的时候,编译过程提示缺少libpytorch_jni.so文件,导致无法加载模型,无法预测。(如果有读者可以解决这个…

linux终端如何打开文件夹,如何从终端打开文件夹(带GUI)?

问题描述我想在我的统一面板(ubuntu 12.10)中放置一个链接/快捷方式/启动器。我在handytutorial.com上按照this tutorial创建了一个自定义启动器并将其拖到面板上。我只需要知道我必须输入哪个命令。这可能吗?最佳解决方案gnome-open在12.04对我不起作用&#xff0c…

linux 打开上一级目录,linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志...

第二波命令正向我方来袭 :开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志1.1 linux开机启动过程1.1.1 开机自检(BIOS)-- MBR引导-- GRUB菜单--加载内核(kernel)--运行INIT进程--读取/etc/inittab配置文件--执行/etc/rc.sysinit脚本(初始化脚本…

睡眠音频分割及识别问题(十)--Java读取wav文件

简介 Waveform Audio File Format(WAVE,又或者是因为扩展名而被大众所知的 wav),是微软与 IBM公司所开发在个人电脑存储音频流的编码格式。 由于项目需要从 wav 文件中读取音频数据,现有许多框架的 API 文档参差不齐&…

python 开发板 i2s_[Craftor原创] I2S总线接口设计(Verilog)

本文有Craftor原创,转载请保留出处。 I2S是数字音频的接口,这里不用多说,请读者自己查阅相关资料。 本文中要设计的是FPGA与数字音频芯片的I2S接口时序。简单点说,就是通过FPGA向音频芯片写数据,通过的是I2S总线&#…

linux内核态获取ip地址,Linux内核支持动态获取IP地址

配置选项:NFS: Network File SystemPNP: Plug-and-PlayCONFIG_ROOT_NFS若想要Linux box通过NFS依赖网络上的其他计算机来mount其整个根文件系统(假定该机器没有硬盘),则配置为Y。此时,可能还需要将"内核IP自动配置"设置为Y, 以便本…

深度学习(1)--引言

表示学习(representation learning) 使用机器学习来发掘表示本身,而不仅仅把表示映射到输出。 表示学习算法的典型例子为自编码器(autoencoder)。自编码器由一个编码器(encoder)函数和一个解码器(decoder) 函数组合而成。 编码器:将输入数据转换为一种…

pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!

问题的发现 在 pycharm 里把一个编译好的二进制文件放到/usr/local/bin/,然后在程序里调用。 cmmd "xxx ..." os.system(cmmd) 报这样的错,但是/usr/local/bin/已经在环境变量 path 里。 sh: xxx: command not found 最简单的解决办法就是把上…

linux nohup 运行,linux – 如何获取使用nohup运行的程序列表

当我开始使用$ nohup风暴dev-zookeper时,方法1:prayagupdprayagupd:/home/vmfest# jobs -l[1] 11129 Running nohup ~/bin/storm/bin/storm dev-zookeeper &方法2:使用ps命令。$ ps xwPID TTY STAT TIME COMMAND1031 tty1 Ss 0:00 /sbin/…

深度学习(2)--常见概率分布(1)

许多简单的概率分布在机器学习的众多领域中都非常有用,这个内容将分为两个部分来说明,第一个部分介绍伯努利分布、二项式分布、多项式分布及范畴分布,第二个部分介绍高斯分布、指数分布、Laplace分布、Dirac分布、经验分布及混合分布。 伯努…

gdb 调试_GDB调试指南-源码查看

前言我们在调试过程中难免要对照源码进行查看,如果已经开始了调试,而查看源码或者编辑源码却要另外打开一个窗口,那未免显得太麻烦。文本将会介绍如何在GDB调试模式下查看源码或对源码进行编辑。 准备工作为了说明后面的内容,我们…

suse linux 11如何分区,新手发帖,关于SUSE11挂载磁盘阵列并分区的问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼以下是盘阵给的代码:解压缩软件[rootRedHat5 ~]# tar xvzf Open-iscsi-2.0.865.tar.gz在/root下生成目录Open-iscsi-2.0.86,进入该目录进行编译和安装[rootRedHat5 ~]# cd Open-iscsi-2.0.86[rootRedHat5 Op…

深度学习(2)--常见概率分布(2)

上一部分介绍了伯努利分布、二项式分布、多项式分布以及范畴分布,这里将继续介绍高斯分布、指数分布、Laplace分布、Dirac分布、经验分布及混合分布。 高斯分布 高斯分布又称为正态分布,其图形为钟形曲线(bell-shaped curve),特点是中间高、…