DDOS学习笔记

攻击分类 网络层 ICMP Flood攻击: ICMP(Internet Control Message Protocol,因特网控制报文协议)是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP协议本身特点决定了它非常容易被用于攻击网络上的路由器和主机。当攻击者向目标网络发送大量的ICMP数据包时,目标主机会耗费大量的CPU资源去处理和响应,直至耗尽设备资源,无法为合法用户提供正常服务。 ARP Flood攻击: ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。ARP协议主要以广播的方式发送ARP请求。同网段内的主机都可以收到广播请求,这为攻击者提供了可乘之机。攻击者通过发送大量的ARP请求,使有限的网络资源被无用的广播信息所占用,造成网络拥堵。其次,因为ARP协议没有安全认证机制,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这为ARP欺骗提供了可能。 IP分片攻击: IP协议在传输数据包时,会将数据报文分为若干分片进行传输,并在目标系统中进行重组。IP分片是网络环境中经常发生的事件,但是,如果数据被人为恶意分片就会产生DDoS攻击。攻击者将经过恶意分段的数据包发送至目标网络,导致目标网络耗费大量资源进行重组,直至资源枯竭。 传输层攻击 SYN Flood攻击: SYN Flood是互联网最原始、最经典的DDoS攻击之一,主要利用了TCP协议的三次握手机制。攻击者通常利用工具或控制僵尸主机向服务器发送海量的变源IP地址或变源端口的SYN报文,服务器响应报文后产生大量的半连接,直至系统资源被耗尽,服务器无法提供正常的服务。 ACK Flood攻击: 攻击者通过僵尸网络向目标服务器发送大量的ACK报文,报文带有超大载荷,会引起链路拥塞。或向目标服务器发送极高速率的变源变端口请求,导致转发设备异常,从而引起网络瘫痪。 UDP Flood攻击: UDP Flood攻击常用于大带宽DDoS攻击。攻击者使用包含无状态UDP协议的IP数据包充塞目标主机的端口,受害主机会寻找与UDP数据包相关的应用程序。如果没有找到,就向发送者回发一条“目标不可达”消息。一旦目标主机被攻击流量淹没,系统就会失去响应,从而造成合法用户无法正常访问的现象。 应用层攻击 DNS Flood攻击: 攻击者通过操纵大量傀儡机器,对目标网络发起海量域名查询请求,以中断该域的DNS解析。这种攻击将会破坏网站、API或Web应用程序响应合法流量的能力,让合法用户无法查找到用于调用特定资源的地址,导致业务暂时中断或停止。 HTTP Flood攻击: HTTP GET 攻击:攻击者操控多台设备向目标服务器发送对图像、文件或其他资产请求,当目标服务器被传入请求和响应所淹没时,来自正常流量源的业务请求也将被拒绝。 HTTP POST 攻击:与发送 POST 请求所需的处理能力和带宽相比,处理表单数据和运行必要数据库命令的过程相对密集。这种攻击利用相对资源消耗的差异,直接向目标服务器发送大量POST请求,直至目标服务器容量饱和并拒绝服务为止。 CC攻击: CC攻击常用于攻击提供网页访问服务的服务器。攻击者通过代理服务器向目标服务器发送大量貌似合法的请求,使CPU长时间处于高负荷运行状态,永远都有处理不完的连接。攻击会导致正常访问被中止,最终宕机崩溃。 SIP注册 Flood攻击: 攻击者发送大量的SIP注册请求到SIP服务端,SIP服务器需要查询数据库,拖慢正常的数据库查询,也回占用大量的资源来维护注册的事务。 FAQ 防火墙能否拦截DDOS攻击? 拦截不了,防火墙就好比饭店的保安,保安再多,但是饭店门口道路交通堵塞了,饭店的营业额下降,再多的保安也无能为力 在遭受DDOS攻击后,用什么手段防御? 购买硬件设备:除了比较贵之外,对于使用云服务器的服务也无能为力 更换公网IP:对于使用云服务器来说,更换云服务器的公网IP看起来比较简单方便。但是也有麻烦的地方,比如自己的服务可能要涉及到配置改变和服务重启,和自己相关的第三方,也可能要修改IP的访问地址 使用云服务厂商提供的DDOS服务 如何感知到自己的服务正在遭受DDOS攻击? 异常大的流量波动 正常用户大量离线 参考 https://info.support.huawei.com/info-finder/encyclopedia/zh/DDoS%E6%94%BB%E5%87%BB.html https://www.microsoft.com/zh-cn/security/business/security-101/what-is-a-ddos-attack

2024-12-17 21:10:40 · 1 min · Eddie Wang

你不怕暴露自己的无知吗?

我在写博客时,有时候脑海里总会蹦出一个小人,面露鄙夷的脸色对我说:你写这么多没啥技术含量的垃圾,公开在网上,难道不怕暴露自己的无知吗? 说实话,我是有这样的担忧。 因为我是有自知之明的,我知道自己估计也是黄老师那种"样样通,样样松"的人。 写的东西也都是一些表面的东西,甚至有错误的可能。这并不是自谦。 我一直无法找到反击脑海里小人的理由。 今天,我在读一本书的时候,学到了一个概念,这个概念叫做坎宁安定律。 在互联网上获得正确答案的最好方法并不是提出问题,而是发布错误的答案 也许我的答案是错误的,但是它并没有被隐藏我脑海的某个角落,二是被公开在了网上。 即使我的小破站再小,必然也会有几个阅读量吧,或许能有读者对错误的答案提出自己的异议。

2024-12-07 14:17:28 · 1 min · Eddie Wang

第一节 如何熟悉Kamailio文档的文档结构

对于熟悉OpenSIPS的文档结构来说的人,看了Kamailio的文档,往往觉得无从下手。 当我们打开Km的官网(kamailio.org)后, 会重定向到https://www.kamailio.org/w/, 在页面的右侧, 接着,我们会导航到 https://www.kamailio.org/w/documentation/ 这个页面的结构需要烂熟于心 1. 模块文档 如果你知道km的版本号和对应的模块,可以点击这里进入对应版本,然后再选择对应模块 2. wiki部分 2.1 必学部分 wiki部分主要是一些教程,非常值得看。 其中有三个重点部分 core cookbook: 主要讲解km的脚本的结构、全局参数、模块参数、路由类型、预处理、脚本操作等等,是编写km脚本的必学之处,各种参数都可以看看 Pseudo-Variables CookBook:主要讲解各种伪变量,用来读写SIP消息 Transformations CookBook: 主要讲解各种操作变换,例如把字符串型转为int型数据 全部函数索引 在km的wiki官网,即https://www.kamailio.org/wikidocs/, 其中Alphabetic Indexes就是所有的参数或者函数的索引。 在你学些km的脚本时,有时候想知道某个函数在哪个模块中,就可以用这个全部函数索引中查找。 源码安装 这部分讲解如何通过GIT进行源码安装。 FAQ https://www.kamailio.org/wikidocs/tutorials/faq/main/ 外部资源 这里涉及了如何用km和常见的媒体服务器如何集成 其他 官方的Web版本的wiki, 对于刚入门的人来说,还是有点绕的。 另外一个问题就是mkdocs的页面渲染效果的确不太行,目录滚动一点都不灵敏。 如果你想看的不是某个模块的说明文档,我更建议你直接把https://github.com/kamailio/kamailio-wiki 这个git仓库下载到本地查看。 总结 总体来说,km的文档算是非常完整了,但是和OpenSIPS相比,还有待加强。

2024-12-02 22:43:24 · 1 min · Eddie Wang

TypeSctipt类型实战  [draft]

2024-11-22 13:04:35 · 0 min · Eddie Wang

AXB的玩法说明

2024-11-18 19:58:38 · 0 min · Eddie Wang

#4 糖中毒

人类诞生在200万年前,工业革命诞生到现在不到200年。 200相比于200万,几乎可以忽略不计。 我们的身体,细胞,是两百万年的经历累积的结晶。在200万年的时间,我们从采集、狩猎获取食物,大部分时间处于饥饿状态,改变为从超市、菜市场、美食广场、在线商城中选购。 就好像早上刚出生小牛,中午就开始吃红酒配法式鹅肝。 身体变化不大,我们的饮食结构可以说在极短的时间发生了翻天覆地的变化。 因此,也难怪三高、各种慢性病,全世界遍地开花、星火燎原。 《糖中毒》 牧田善二 13个笔记 了解糖分是什么,就能轻松减肥 大脑处于不由自主地想摄入米饭和面类食物等碳水化合物、无醇饮料、零食 在现代社会,不上瘾是很难的 两者的根源都是“大脑无法忘记快感”。 “为了大脑运转而摄取糖分”是恶魔的谎言 大脑的能量来源通常是葡萄糖。如果葡萄糖不足,则通过蛋白质和脂肪分解出来的氨基酸和甘油三酯来维持血糖值。但是如果继续禁食,血液中的酮体就会上升,大脑就会用酮体代替葡萄糖作为能量源 第一章回顾 ◎须知肥胖和糖中毒都是慢性病。 ◎让我们发胖的不是热量而是糖分。 ◎肥胖的原因是糖中毒,与意志和体质无关。 ◎了解糖分是什么并适当摄取,就能轻松减肥。 ◎蔬菜汁和果汁对身体有害。 ◎碳水化合物才是引起糖中毒的主要原因。 ◎记住了至福点的大脑,就像被糖控制了一样。 ◎如果没有意识到这一点,大多数人都会陷入糖中毒。 ◎即使葡萄糖不足,大脑也不会停止运转 “奖励系统”——引起糖中毒的机制 所谓的糖中毒,就是由于大脑对糖分的反应机制,人们无法从这种循环中摆脱出来的一种状态。 液态糖是一种魔鬼食品 血糖值一旦跌破70 mg/dL,就会出现不适症状,就会被迫按照大脑的指令摄取糖分 糖分使你发胖——肥胖的机制 胰岛素先将血液中溢出的葡萄糖转化为糖原,储存在肝脏和肌肉中 第二章回顾 糖分摄入的越多,大脑就越容易上瘾。 ◎烦躁易怒也可能是因为糖中毒。 ◎含有大量糖分的碳酸饮料和果汁简直就是魔鬼食品。 ◎糖中毒会加速衰老。 ◎糖中毒会导致糖尿病、高血压、癌症、心肌梗死、脑卒中、慢性肾病和阿尔茨海默病。 ◎糖分几乎百分之百会转化为葡萄糖,被人体全部吸收。 ◎吃脂质并不会变胖。 ◎减少脂质摄入量不能减肥,反而会危害健康。 ◎只要不停地吃碳水化合物,就永远也瘦不下来。 ◎男性肥胖特别危险,女性太瘦也不好。 哪些食物不会导致血糖值升高 蔬菜(不包括根茎类蔬菜)、蘑菇、海藻、豆类、肉类、鱼类、豆腐基本上不会导致血糖值升高 米饭、面包等碳水化合物,薯类等含糖量高的根茎类蔬菜,南瓜等含糖量高的蔬菜,含糖量高的无醇饮料等,会导致血糖值大幅升高 最后再吃碳水化合物 只要好好咀嚼,就能向大脑的饱腹中枢发出“吃了很多”的信号,最终就能减少碳水化合物的摄入量。 “吃完后马上运动”——抵消刚刚吃进去的碳水化合物 12秒深蹲”,特别适合那些没有时间运动的人。顾名思义,每次深蹲只需12秒。慢慢蹲下来,慢慢站起来,这个动作对大腿的负荷很大,效果很好。 这样做10次,就能抵消刚刚吃进去的碳水化合物。 第三章回顾 一辈子都不喝含糖的碳酸饮料、含糖的罐装咖啡等饮料 来自微信读书

2024-11-12 14:02:00 · 1 min · Eddie Wang

#3 戒糖 改变一生的科学饮食法

戒糖,关键是理解两个字 戒:应当理解为警戒,而不是戒除。完全戒除是不可能的 糖:不能单纯的只理解为甜食、白砂糖之类的具有甜味的视频。具有甜味只是冰山一角的特征,更大的特征是碳水画合物。嘴巴舌头喜欢的东西,胃、小肠、小肠并不一定喜欢。就拿舌头喜欢的“甜、香、软、糯、鲜”来说,这部分都可以算作糖类。 《戒糖:改变一生的科学饮食法》 初夏之菡 20个笔记 戒糖戒掉的是什么? “空热量”食物的概念很好理解,指除了能够给我们热量之外,没有其他已知的营养益处的食物,而游离糖正符合这一概念。 高糖饮食:对一生有害的习惯 戒糖是在备孕期间就应该着手养成的良好营养习惯之一。真正让孩子赢在起跑线上的,往往是妈妈的饮食和身体素质。 “生酮饮食”真的健康吗? 我们的身体是不需要游离糖的。但是我们的心需要它,而且这种对甜的渴望并不是一种错 食品配料表、营养成分表怎么读? ,即每天需求2000千卡热量,蛋白质60克,脂肪60克,碳水化合物300克,钠2000毫克,然后按这几个数值的百分比来显示。 每100克大米饭约含有26克碳水化合物 如何综合判断食品中的碳水化合物含量高低? 碳水化合物在食物中主要有三种形态:膳食纤维、淀粉以及游离 所以膳食纤维是有能量效应的,它在营养学中统一的折算能量是每克2千卡,是可消化碳水化合物的50%。 在热且湿润的食物中,淀粉的口感非常明显,就是“软乎”和“糯” 蛋白质和淀粉的混合会让食物的口感更加绵软湿润,比如奶酪蛋糕 我国国家标准规定“纯牛奶”只能含有新鲜牛乳,所以可以认为任何加了糖的乳制品都属于“调味乳 葡萄糖是膳食纤维的一种) 进一步减少血糖波动:吃的顺序很重要 2024/11/05 发表想法 先吃蔬菜,接着肉、蛋白、最后米饭 原文:最后吃碳水化合物丰富的食物 最后吃碳水化合物丰富的食物 抗糖办法之运动与思考 2024/11/05 发表想法 无论如何运动,都无法弥补过度进食造成的伤害。 原文:过度进食造成的能量负载过度对我们百害而无一利。这一点从微观的能量代谢上来说就更加说得通了 过度进食造成的能量负载过度对我们百害而无一利。这一点从微观的能量代谢上来说就更加说得通了 所以只有适量地吃、适当地动才是平衡的养生之道。而适量的确是个很难把握的度,但是只要听从你的身体和内心, 第10章 戒糖的另一种方式:轻断食 [插图] • “5+2”模式:这个也是麦克尔·莫斯利博士提出的一个改良方法,即以周为单位,选择任意2天(可以不连续)进行热量限制饮食——只吃平时热量的1/4,其他5天正常进食。 • 禁止加餐模式: 戒糖的终极动力来源 那些充满游离糖和快消化碳水化合物的食物,一般是“甜、香、软、糯”必占其一的食物, 来自微信读书

2024-11-12 10:55:06 · 1 min · Eddie Wang

第二份工作的辞职总结

总结 第二份工作快到一年了,我最近申请离职了。 同事问我离职原因,我说被领导骂了,感觉自尊受辱,索性不干了。 实际上被领导骂只是压死骆驼的最后一根稻草,我也不是那种会心血来潮说干就不干的。 这份工作,我做了不到一年,大部分的时间我是做的不开心的。 所以离职是一直在心里酝酿。 为什么会工作不开心? 主要原因有以下四点: 行业前景暗淡:S公司处在行业的中游,上游受到运营商管控,下游在客户层面话语权也不大。这是一个资源限制型的行业,行业的命脉就在运营商,可能运营商有个风吹草动,整个行业就要翻江倒海。 自研能力薄弱:S公司大部分业务都是购买的第三方的软件,各种变更都受到制约,添加一个小功能都要付费升级。自研能力弱的一个原因可能就是前些年赚钱太容易了,投资研发哪有赚快钱来的舒服呢。同时也是这个原因,多个第三方软件之间也造成了数据割裂,运行维护困难。 家族企业制约:S公司大部分人员都是老板的亲朋好友,家族式企业的优点是内聚力强,但是包容性弱。之前也有一些大厂进来的员工,没多久就辞职了。 我曾经也跟老板沟通过,似乎老板也有心做些变革。但是变革哪有那么容易,要变革不早都变了,还要等到现在? 短期主义:似乎S公司没有什么具体的愿景,唯一感觉到的愿景就是赚快钱。一旦发现投入的回报太少,就立即切换目标。 企业关怀差:说实在,我没有感觉到多少员工关怀。在S公司的工作和在地主家做短工也没啥区别,老板想什么都要管,但是即管不了那么多,又管的不好。所以给人的感觉就是东一棒槌,西一榔头,看起来很卖力,实际上并没有什么产出。几乎每个月都有人离职,对员工都吝啬,不考虑员工的自尊,员工怎么可能对公司有归属感。 工作压力大:受限于资源收紧、产品优势小,老板想提高营业额的方法是提高员工的服务水平。说实在,这真是杯水车薪。不想着从底层系统的解决问题,只想着通过给员工压力、通过加班来解决问题,只会造成工作压力大、人员流失大。 所以,我的离职,实际上也是考虑再三的一个选择。 当然,我在S公司也不是什么收获都没有。 收获总结 深入了解了行业的运行原理、客户、资源、政策等信息 对于数据分析方面有了较大的进步,毕竟我做了40+个数据报表来分析运行数据 深入学习了python, 主要用来做数据分析。数据分析方面的协议栈主要有pandas、duckdb、doris(MySQL)、grafana来组成 深入学习了python的GUI开发,主要用到的框架是wxPython,开发的两个工具分别给到运维人员和客服去使用,来提高运行效率

2024-09-10 21:08:51 · 1 min · Eddie Wang

Windows安装Tesserocr

安装tesserocr-windows_build 到tesserocr-windows_build release页面下载对应的whl文件 如下载 tesserocr-2.6.2-cp312-cp312-win_amd64.whl, 下载之后用pip安装 pip install tesserocr-2.6.2-cp312-cp312-win_amd64.whl 安装ocr windows exe程序 在这个页面,有对应的exe程序,https://digi.bib.uni-mannheim.de/tesseract/ 例如下载这个exe文件 https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe 下载完成之后点击安装,一般我们不需要修改他的安装位置,默认的安装位置是C:\Program Files\Tesseract-OCR 我们将C:\Program Files\Tesseract-OCR\tessdata下的所有文件,复制到C:\Program Files\Tesseract-OCR\目录下 参考 https://github.com/simonflueckiger/tesserocr-windows_build/releases https://digi.bib.uni-mannheim.de/tesseract/ https://tesseract-ocr.github.io/tessdoc/Downloads.html https://blog.csdn.net/Yuyh131/article/details/103880585

2024-04-24 08:34:07 · 1 min · Eddie Wang

使用Excel理解prometheus的变化率相关函数

counter类型的变化率 rate, irate, increase counter类型一般是只增不减的累积值,例如系统累计的http请求数量, 累计的话单数量。 counter类型的指标变化率一般使用三个函数来计算,rate, irate, increase 指标每隔15s采样一次数据, A列是采集的指标值,B列是对应的采集时间。 demo_api_request_duration_seconds_count{instance="demo-service-0:10000",path="/api/bar",status="200",method="GET"}[1m] 序号 A B 1 294401976 1710549816.105 2 294402185 1710549831.105 3 294402393 1710549846.105 4 294402599 1710549861.105 rate是计算每秒的变化率, rate 计算方案 (A4-A1) / (B4-B1), 这里选择了首尾两个值的差值,除以时长秒 irate 计算方案 (A4-A3) / (B4-B3) , 这里只选择里最后两个点的差值,除以时长秒 increase 计算方式 (A4-A1) / (B4-B1) * 60, 这里的60是1m, 其实increase就是rate() * windows_seconds的语法糖 guage 296164749 @1710648381.105 296165055 @1710648396.105 296165364 @1710648411.105 296165668 @1710648426.105 296165978 @1710648441.105 296166186 @1710648456.105 296166505 @1710648471.105 296166826 @1710648486.105 296167151 @1710648501....

2024-03-16 08:38:46 · 1 min · Eddie Wang