局域网瘫痪 傀儡主机的DDoS***
接到客户求助,最近进行了一次网络“出诊”。这是一个由傀儡主机的DDos***引发的网络故障,案例比较典型,排错过程也颇曲折。笔者就还原其过程,与大家分享。
1.网络环境
这个客户是一家化工企业,网络规模不大。十多台交换机组成的局域网,节点大约150个左右。没有划分VLAN,—部分主机运行IPX协议,另一 部分运行TCP/IP协议。其中只有少数主机可以访问Internet,接入模式为ADSL路由器直接连接网络中的一台交换机。ADSL路由器中启用了其 自带防火墙功能,所有可以上网的主机安装了防病毒软件。
2.故障描述
最近的某一天,整个网络突然瘫痪。可以看到所有交换机端口指示灯急速闪烁,测试得知网络中任意两台主机之间不能相互ping通,所有网络应用均 不能正常进行。在拔掉部分网线(交换机之间的级连线)后,症状有所减缓,最后恢复正常。将拔掉的网线逐一插回原位,故障现象未重新出现。此后这种现象不定 时、无规律地出现。
3.故障分析
基于故障发生时交换机端口指示灯急速闪烁、网络中任意两台主机之间相互不能ping通这一现象,初步断定此时网络中充斥了大量的广播包,耗尽了 网络资源。那么这些突然出现的巨量广播包是哪里来的呢?为查找广播源,在故障出现时,使用Sninffer软件捕捉数据包。结果发现,网络中并没有出现原 来估计的广播包,却有大量的不正常单目IP数据包。
4.排除故障
通过分析发现,这些数据包是主机172.*.*.1l发送给主机219.*.*.88的,发送速度不小于每秒l万5千个。询问管理员得知,172.*.*.1l是内网的一台可以访问Internet的主机。这明显是不正常的,将该可疑主机断开后,问题解决。
5.深入分析
网络故障虽然排错,但笔者感觉一切并没有这么简单。因为按常理,发送给主机219.*.*.88的数据包不是广播包,不应该被发送到运行 Sniffer主机所在的交换机端口。很明显,这些数据包在网络中以广播的形式被发送了。如此数量的广播包充斥网络,正是造成网络瘫痪的罪魁祸首。
(1).局域网主机成了傀儡
为搞清故障原因,在可疑主机上安装Sniffer,分析网络行为。通过抓包分析发现,一旦连接Internet,该主机主动连接到外网中一 FTP服务器,并下载文本文件ddos.txt。那么,ddos.txt文件内容中有什么呢?原来是一个IP地址和8O端口。然后,对数据包进一步分析发 现所有数据包的目标主机正好是ddos.txt中指定的IP地址。这些无意义的数据包之所以使用8O端口,是为了突破防火墙的限制。原来,这台主机“有 幸”成了一次分布式拒绝服务***(DDoS)的傀儡机。每次连接E互连网,自动到一个FTP服务器下载文件ddos.txt,如果该文件为空,则继续以一 定时间间隔下载文件,直到获得的文件中有目标主机的IP地址和端口后,即开始向目标主机展开DoS***。这正是网络故障现象不定时、无规律地出现的原因。
(2).ADSL路由器被“淹没”
另一个问题是,这些***包应该是从傀儡机发送到ADSL路由器,然后到Internet中目标主机的,并不是通常所说的广播包,为什么交换机以 广播的形式发送这些广播包呢?分析可能原因只有一个:此时交换机的地址转发表(CAM)中没有ADSL路由器内网接口的物理地址,引起交换机将单目包广播 到所有交换机端口。
开始时,交换机地址转发表中包含ADSL路由器的物理地址。那么,傀儡机开始***后,网络中形成一个稳定的***数据流:傀儡机→若干交换机 →ADSL路由器→被***的目标主机。此时对内网的影响仅仅是某些交换机的端口和ADSL路由器,ADSL路由器因为忙于处理大量的***包而被“淹没”, 会导致内网中主机访问互连网出现问题。
(3).交互导致的广播风暴
什么原因导致交换机的地址转发表丢弃了ADSL路由器内网接口的物理地址昵?有两种情况:一是缺省情况下,5分钟内,如果交换机没有接到某个设 备发送的数据帧,则认为该设备已经宕机,为节省资源,将从CAM表中删除该地址。二是当STP协议探测到网络拓扑有改变时,将清空所有未刷新的CAM表 项。假定此时有人因为不能上网而重新启动主机,或插拨网线,则会引起交换机端口状态发生变化。此时,交换机认为网络拓扑发生了变化,它的下—个动作是通知 所有交换机,15秒内清除未被刷新的地址转发表表项。
这里的“未被刷新”是指,交换机没有收到以该物理地址为源地址的数据帧,也就是说,该设备没有发送数据帧经过交换机到其他设备,那么该设备的物 理地址在交换机的地址转发表中将被清除。以后,所有以该设备物理地址为目的地址的数据帧,虽然不是广播帧,也将被发送到交换机的所有端口,这就是平时所说 的广播风暴。
(4).故障形成过程
通过上面的分析,最后回到我们的例子理一理这次故障形成的过程。在傀儡机的***行为开始后,小小的ADSL路由器每秒要接收、处理不少于 l5o00个数据包,它纵然是有三头六臂,也没机会向交换机发送数据包了。也就是说,它现在是只有接受没有发送,没办法刷新交换机cAM表中的相关表项。 那么,快的话15秒后,慢的话5分钟,交换机就会清除ADSL路由器的物理地址记录。别忘了,此时***数据流并没有停止,而这些***数据帧恰恰是以 ADSL路由器物理地址为目的地址的,这样,灾难发生了,所有数据帧被广播到网络中每台交换机中的每—个端口。
6.解决方案
这此网络故障从表面上看是由一台傀儡主机引起的,具有一定的偶然性。但从根本上来说是必然,不合理的网络结构是造成这次故障的关键因素。笔者给出的解决方案是:
(1).将充当傀儡机的电脑从网络中断开后,重新安装系统,彻底杜绝隐患。
(2).加强本地网络安全防范措施的同时,对原网络结构进行调整:据不同应用分成几个VLAN,将可以上网的机划分到某个特定VLAN中,限定此类故障的影响范围。
(3).将连接主机的端口配置为STP速端口,不参与STP协议,可以减少网络中交换机不
必要的拓扑改变操作。
就这次网络排错笔者的启示是:网络排错类同于医生治病,庸医往往是“头痛医头,脚痛医教”不会从根上进行医治,而高明的医生却往往是治本。网络排错何尝不是呢?
转载于:https://blog.51cto.com/1841cisco/1224093
相关文章:

[hive] hive 内部表和外部表
1.内部表 hive (test1)> create table com_inner_person(id int,name string,age int,ctime timestamp) row format delimited fields terminated by ,; OK Time taken: 0.233 seconds hive (test1)> load data local inpath /opt/hadoop/person.data into table com_inn…

用C#生成随机中文汉字验证码的基本原理
前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码。^_^ 我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段。仔细想了…
Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学
来源 | CSDN(ID:CSDNnews)编译 | 苏宓头图 | CSDN 下载自东方 IC众多语言中,Rust 作为一款小众的现代系统编程语言,近几年间,接连受到了各大企业的青睐。正如不久前,AWS 开源团队宣布聘用 Rust …

Android中Parcel的分析和使用
http://www.360doc.com/content/13/0419/12/9171956_279433672.shtml

Kubernates集群入门(1)
一、K8s安装准备 1.至少两台主机,一台作为master,一台作为node。两台主机需要关闭防火墙。 #centos6 service stop firewalld && service disable firewalld #centos7 systemctl stop iptables && systemctl disable iptables; 2.两台…

Asp.net 不使用SQLDMO实现数据库备份和还原
今天需要做一个历史数据库,备份还原的程序,就是在sql服务器兴建一个数据库的历史版本的复.手工操作很方便,但是程序来实现我还没做过.上网找资料发现都调用了 SQLDMO 的 SQL COM 来实现. 应为我不想在应用服务器上面引用 COM 组件服务.所以没采取这种方式.打开Sql 联机帮助.发现…

B2B行业网站10种经营模式研究及组合方案
许多人对B2B网站的理解仅停留在企业对企业的在线交易上,认为按照B2B电子商务的概念就应该是在网上进行交易。但目前中国比较成功的B2B网站却并非所有都是在线交易模式,尤其是B2B行业网站,许多都没有做在线交易,更多是以基于交易为…

用户数年增长 300%,BitMax如何把握数字资产时代机遇?
12月22日,在2020 BitMax两周年庆典上,BitMax 创始人兼 CEO 曹晶、BitUniverse 合伙人许志宏、BlockVC 创始人徐英凯、红林集团&红链资本创始人李勇敏等多位区块链行业专家,分享了行业洞察,一同探讨交易所的现状和突围之战、数…

2014 年美国程序员薪资调查
Drdobbs 近期向 2,200 名美国的程序开发人员做了一次调查,调查显示高薪领域的工资随着经济的增长而增长。 “Software Engineer”这个职位,除了在德州和几个其他州之外,没有什么特别的意思,在这几个州用这个职称需要经过评定。在其…

ASP.net 验证码(C#)
ASP.net 验证码(C#) /* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */ public class ValidateCode : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { this.CreateCheckCodeImage(GenerateCheckCode()); } #region…

SCCM 2012 SP1系列(十)配置补丁更新-3
自动部署规则SCCM2012中对补丁分发增加了一项新功能—自动部署规则,这功能相当于WSUS的自动审批功能。就是当检测到新的补丁更新后自动进行下载更新动作,然后下发给客户端。其实在大企业中还是建议会对每个更新包进行测试,确定对现有业务没有…
CSDN湘苗培优|保持热情,告别平庸
湘苗培优招生进行中在培优中,遇见更好的自己——CSDN高校俱乐部CSDN湘苗培优随着我国信息产业飞速发展,通过常规灌输式培养出来的学员已经不能够满足企业要求。企业更缺乏的是具备自主学习能力、具备综合解决问题能力的高素质技术人才。高素质技术人才需…

在c#中调用windows脚本的方法
在c#中调用windows脚本的方法 方法1:直接调用CODE: System.Diagnostics.Process proc new System.Diagnostics.Process();proc.StartInfo.FileName"wscript";proc.StartInfo.Arguments" hello.js"; proc.StartInfo.UseShellExecute false;pr…

ie和firefox操作table对象的异同
2019独角兽企业重金招聘Python工程师标准>>> ie和firefox下操作table对象的异同【测试浏览器版本:ie为8,9,firefox为2.0】 1)在ie下,table标签直接使用appendChild增加document.createElement(tr)的行时不显示…
机器学习和计算机视觉的前20个图像数据集
作者 | Meiryum Ali 翻译 | 火火酱,责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国计算机视觉使计算机能够理解图像和视频的内容。计算机视觉的目标是使人类视觉系统可以实现任务自动化。计算机视觉任务包括图像采集、图像处理和图像分析。图像数据可以采用不同的…

移动应用开发者应该关注的 Google I/O 两项更新
移动应用开发者看过来,今年 Google I/O 这两项更新能帮上大忙移动应用开发者看过来,今年 Google I/O 这两项更新能帮上大忙。 I/O 的 Keynote 刚刚结束,用户可能为 Google 新的消费产品感到兴奋。但这毕竟是开发者大会,一些面向开…
赠书 | 手把手教你自己动手打造一个智能恒温器
作者 | Yazeed Sabri翻译 | 火火酱,责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国*文末有赠书福利为了能住得离公司近一点,我就搬进了一套没有温控系统的公寓。因为在芝加哥市区,这个价位的公寓大多都是没有温控系统的,所以我心…

JVM 出了问题 EXCEPTION_ACCESS_VIOLATION
2019独角兽企业重金招聘Python工程师标准>>> # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc0x10002c08, pid5972, tid1404 # # Java VM: Java HotSpot(TM) Client VM (11.3-b02 mixe…

转换字符串中汉字为其拼音缩写(C#)
//将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符。 public string GetPinYin( string text){char pinyin;byte[] array;System.Text.StringBuilder sb new System.Text.StringBuilder(text.Length); foreach(char c in text) { pinyin c; …
weblogic线程阻塞性能调优(图解)
转自:http://blog.csdn.net/z69183787/article/details/12647539 声明:出现这个问题有程序方面、网络方面、weblogic设置方面等等原因,此文章主要讲述由于weblogic设置而导致的解决办法。 因为: 1.程序问题,需要项目自…

ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI
URL重写已经有很多的方法,但是多数都有一个缺点,就是不支持无扩展名的网页。微软提供的方法需要在根目录里面建立jyk的文件夹,然后再建立一个default.aspx的文件,如果您有100名会员的话,这是一个不可想象的事情。 另一…

IDC公布中国深度学习市场综合份额:百度超越Facebook位列第二
近日,权威数据调研机构IDC公布了2020年下半年深度学习框架平台市场份额报告。数据显示,在中国深度学习平台市场综合份额中,Google、百度、Facebook稳居前三,占据70%以上市场份额。其中,百度占比提升3.38%增速第一&…

OpenStack 和 Cloud Foundry
上周我参加了在亚特兰大举行的OpenStack峰会,这是一个非常好的机会去进一步了解Cloud Foundry 和OpenStack ecosystem之间的关系。 在OpenStack阵营里,在讨论PaaS时,“Could Foundry 是不是 OpenStack” ,这个看起来像是一个有争议…

防止IIS文件被下载方法
如何才能防止encry目录下的所有文件被非法下载呢?我们可以应用IIS中的应用程序映射结合ASP.NET中的IHttpHandler自定义权限,把IIS应用程序映射用于所有文件,并将控制权交给我们自己实现的IHttpHandler。 首先添加应用程序映射:打…

转 如何在IOS设备中去掉屏幕上的status bar
引入如何在IOS设备中去掉屏幕上的status bar,即:不显示设备上方的[网络、时间、电池??]条?操作方法一:在-info.list项目文件中,加上“Status bar is initially hidden”选项,并勾选…
倒计时7天!博客之星虚位以待,Macbook等你来拿
也许你陪伴了CSDN一年的时间刚刚写下自己的第二十篇的原创技术博文也许你是陪伴了CSDN近20年风雨的老码农更新了近千百篇的技术文章也许你还在坚持着“技术输出”也许你已经开始封笔也许你刚刚突破粉丝数达到了三位,四位数也许你刚刚申请的博客专家,终于…

UVA 10515 - Powers Et Al.(数论)
UVA 10515 - Powers Et Al. 题目链接 题意:求出m^n最后一位数 思路:因为m和n都非常大,直接算肯定是不行的,非常easy想到取最后一位来算,然后又非常easy想到最后一位不断乘自身肯定会形成周期。而且这个周期还挺短的&am…
视觉+Transformer最新论文出炉,华为联合北大、悉尼大学发表
作者 | CV君来源 | 我爱计算机视觉Transformer 技术最开始起源于自然语言处理领域,但今年5月份Facebook 的一篇文章将其应用于计算机视觉中的目标检测(DETR算法,目前已有78次引用)使其大放异彩,并迅速得到CV研究社区的关注。已有研究表明&…

易宝典文章——怎样管理Exchange Server 2013邮箱地址
对于一个用户邮箱,即邮箱收件人来讲,在创建时Exchange会为其按照Alias分配一个邮件地址,即主邮件地址,也称为“主SMTP地址”或“默认答复地址”。但是在用户日常使用中可能会出现需要多个邮件地址的情况,比如ÿ…

使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图
本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断…