绿盟实习点滴【2】

来源:互联网 发布:crf算法详解 编辑:程序博客网 时间:2024/04/19 11:28

名词记录

这里对出现过的名词进行摘录总结,虽然知识点零散,但好记性不如烂博客


CDN

概念:CDN-(Content Delivery Network)内容分发网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

作用:解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

原理:CDN网络是在用户和服务器之间增加Cache(高速缓冲存储器)层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现。

这里写图片描述

对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。


C&C

C&C服务器(又称CNC服务器)也就是 Command & Control Server,一般是指挥控制僵尸网络botnet的主控服务器,用来和僵尸网络的每个感染了恶意软件(malware)的宿主机进行通讯并指挥它们的攻击行为。包括获取DDoS攻击开始的时间和目标,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

拓展:

  • @WooYun–用机器学习识别随机生成的C&C域名

  • @绿盟科技–DDoS botnet常见类型及特点


whois

概念:whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)

工作过程:WHOIS服务是一个在线的“请求/响应”式服务。WHOIS Server运行在后台监听43端口,当Internet用户搜索一个域名(或主机、联系人等其他信息)时,WHOIS Server首先建立一个与Client的TCP连接,然后接收用户请求的信息并据此查询后台域名数据库。如果数据库中存在相应的记录,它会将相关信息如所有者、管理信息以及技术联络信息等,反馈给Client。待Server输出结束,Client关闭连接,至此,一个查询过程结束。


DPI

概念:DPI 全称为“Deep Packet Inspection”,称为“深度包检测”。所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包的层4 以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型,而DPI 除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内容,基本概念如下图所示:

这里写图片描述

技术原理:普通报文检测是通过端口号来识别应用类型的。如检测到端口号为80时,则认为该应用代表着普通上网应用。而当前网络上的一些非法应用会采用隐藏或假冒端口号的方式躲避检测和监管,造成仿冒合法报文的数据流侵蚀着网络。此时采用L2~L4层的传统检测方法已无能为力了。DPI技术就是通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用。因为非法应用可以隐藏端口号,但目前较难以隐藏应用层的协议特征。


Python使用的一些小Tip

主要是看别人写的代码的时候借鉴的,添加新的思想和学习新的技巧,

  • Try/Except的使用

一般而言我都会使用try/except,但是一般都是为了让程序流畅运行,except一般都接pass,好吧,这是个坏习惯,改掉!拿下面的例子说话:

    try:       # 执行sql语句       print url,data       cursor.execute(sql,(data,url))       db.commit() # 提交    except Exception as ex:       print ex #       # Rollback in case there is any error       traceback.print_exc()       db.rollback()

这里拿程序的一部分来说明,一个数据库的相关操作,如果失败,则进行错误的抛出和数据库的回滚,即在没有commit之前,回归到没有修改之前的状态。

traceback.print_exc()

这一条是说会抛出红色字体的错误,就是和报错一样的那种,一般我们用前面的print ex就行了


- 位运算和逻辑运算

这里写图片描述

看到一行代码,瞬间懵逼,差点被同事骗了。

if (l.isdigit()==True)|((l.__len__()<=1)&(l<='z')&(l>='a')):

粗略的一看我还以为她要表达的是逻辑上的关系,然后python用的又是and,or之类的,直觉上竟然会认为一样,太大意了,这里记录一下,这个|是位或操作!
一个例子:

a = 9b = 347c = 9print a != b | a != 9print a != 9 | a != b#True#False

Python的几个小接口

重复造轮子这种事,我才不要干,何况是python,所以我的接口计划启动,编写常用的接口函数,直接调用就可以了!现在正在不断增加中!现有接口库查看

新增接口库:

  • 混淆矩阵可视化接口
  • 随机采样子接口

最后一周总结

转眼进入绿盟已经两周了,事情非常多,都没有时间写总结博客,这也是在深夜码的字,工作时间工作,下班之后还要整研究生的课题,几乎过着8227的生活,虽然很辛苦,但过得很充实,对这里的环境也非常适应,开会还是很频繁的一件事,几乎隔两天就开一次会,和武汉研发或者广州研发的同事们开电话会议,商量这一周的进度和提出问题,看看能不能交叉讨论,这周最重要的一次会议是中科院的一个博导团队来交流技术,不像我们上课那样,还有问题么?然后大家一致的沉默,在这里,问题层出不穷,当然问的很多都是我连听都没听过的,比如说C&C,DPI,DGA,CDN等等一系列很专业类的问题,我都只有摸摸记下,回来查一下说的到底是啥,因为自己做机器学习数据分析这一块,也斗胆在一票专家面前提问关于分类,特征选择这一块,专家们也是细心回答。这种氛围我是挺喜欢的,大家都是技术控,没有绕来绕去的心思,直接问最深的,把中科院那博导问到涉密部分才罢休,哈哈,真是群可爱的攻城狮啊。还有件事情对我触发也比较大,因为领域关系,我被调到另一组做技术支持,当谈到一个分类算法的样本数据集时,我和其leader有不同想法,我的做法甚至会推翻他们做了好几个礼拜的实验!我们还专门找了个会议室讨论研究,我得直属上级也参与进来讨论,问我们数据方面还有什么需求,尽量提出来。这次讨论后,我的方法很有可能推翻他们的实验,我想leader要是是一个爱面子的人,肯定不会给我好看脸。但是,当天中午,他又到了我的座位,和我进行想法的确认和交换,数据之间共享,还提出了基于我的想法下的一些改进,完全没有架子!一点给脸色的样子都没有!这点我还是很开心的,毕竟学术方面的争斗我觉得非常正常,但在企业中能看到这样的氛围,我很荣幸加入这个大家庭。
PS.坐在我隔壁的小哥,和我差不多大,哈哈,从京东跳槽过来的,虽然天天抱怨这里任务多,但是却天天开心的加班,和研发经理打得不亦乐乎,再说一句,面试我的就是这个研发经理,但是就像个比我大一两岁的大哥而已,玩心简直比我还重,有这么个直属上级,非常幸运啊,哈哈,今晚就到这,明天继续努力工作!加油!


致谢

@萤火之森–python表达式操作符【学习python必知必会】
@V_can–Python与自然语言处理_第一期_NLTK入门之环境搭建
@xc100002–用python画confusion matrix
@coolmeme–一张图说明cdn原理
@WooYun–用机器学习识别随机生成的C&C域名
@绿盟科技–DDoS botnet常见类型及特点
@转–DPI深度包检测技术及作用

0 0
原创粉丝点击