需要搞清楚的关于抓包的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要搞清楚的关于抓包的问题相关的知识,希望对你有一定的参考价值。

参考技术A

不同主机之间的数据通信都是通过网络来进行传输,对那些在网络上传输的数据(发送、请求的数据)进行截获、编辑、转存等操作叫做抓包。抓包可以是抓取电脑端请求的数据,还可以抓取移动端(手机APP)的数据包。

通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件的Debug很大的帮助。当然也可以通过抓取用户发送的涉及用户名和密码的数据包来获取用户的密码。

一般情况下,数据按照各种网络协议按照一定的格式在网络上进行传输,网络上传输的数据是以帧为单位,在对需要发送的数据进行包装的时候,会把数据的接收方、发送的的地址(MAC地址、IP地址等)一起进行包装并进行发送。根据发送方和接收方的地址,会有一条数据包的传输路径,在这条路径上,发送的数据包,会经过网络上很多台主机,标准的TCP/IP协议是这样处理的:当有数据经过主机时,主机会通过存放在数据包里面的地址来进行判断,这个数据包是否是发送自己的,如果不是发给自己的,主机就不会对它进行解析,简单的进行丢弃(转发)。如果是发送给自己的,那么主机就会对其进行解析和存储。

如果想要存储那些不是发送给自己的数据包,可以把网络适配卡设置为杂乱模式。这样它就会接收经过它的每一个数据包了。

目前主流的移动端抓包工具为:TcpDump、WireShark、Fiddler, 他们的对比如下。

android平台下的网络数据抓包工具,Android模拟器中自带 TcpDump 文件。
用 TcpDump 对网络数据抓包,手机不用走代理——将网络数据包添加到 WireShark 中分析即可。

缺点:

PC端截获、分析通过该网卡的所有网络通信的数据包(针对移动端时候,就要对移动端设置 代理服务器)强大的工具,完整查看网络中的每层、每个协议、每个数据包的详细组成信息;TCP、UDP、HTTP、HTTPS等协议的数据包均可获取;

缺点:

HTTP协议的代理工具,抓取、分析电脑中所有进出该网卡、与网络进行数据交互的数据(针对移动端抓包时,需要设置代理服务器),主要针对的是 HTTP/HTTPS协议;能够清晰查看 数据包 中的内容——HTTPS中的数据包可以解密出来;

优点:

缺点:

百度百科

利器 -- 抓包工具总结

移动端网络数据抓包工具对比分析

fiddler和wireshark工具介绍及对比 - catherine的心路历程 - 博客大巴

真·干货你务必要搞清楚的十大数据挖掘知识点


数据挖掘是神马


数据挖掘的含义


数据挖掘是指有组织有目的地收集数据、分析数据,并从这些大量数据提取出需要的有用信息,从而寻找出数据中存在的规律、规则、知识以及模式、关联、变化、异常和有意义的结构。


数据挖掘是一种从大量数据中寻找存在的规律、规则、知识以及模式、关联、变化、异常和有意义的结构的技术,是统计学、数据库技术和人工智能技术等技术的综合。


数据挖掘的本质


数据挖掘的本质就是寻找出数据中存在的规律、规则、知识以及模式、关联、变化、异常和有意义的结构。


数据挖掘的学科联系


数据挖掘是一门涉及面很广的交叉学科,包括数理统计、人工智能、计算机等。涉及机器学习、数理统计、神经网络、数据库、模式识别、粗糙集、模糊数学等相关技术。


数据挖掘的价值、目的、作用


数据挖掘的价值


数据挖掘大部分的价值在于利用数据挖掘技术改善预测模型,产生学术价值、促进生产、产生并促进商业利益,一切都是为了商业价值(数据——>信息——>知识——>商业)。


数据挖掘的目的


数据挖掘的最终目的是要实现数据的价值,所以,单纯的数据挖掘是没有多大意义的。


数据挖掘的作用


从大量数据中寻找存在的规律、规则、知识以及模式、关联、变化、异常和有意义的结构。


数据挖掘技术产生的背景


1. 数据正在以空前的速度增长,现在的数据是海量的大数据。现在,不缺乏数据,但是却面临一个尴尬的境地——数据极其丰富,信息知识匮乏。


2. 海量的大数据已经远远超出了人类的理解能力,如果不借助强大的工具和技术,很难弄清楚大数据中所蕴含的信息和知识。重要决策如果只是基于决策制定者的个人经验,而不是基于信息、知识丰富的数据,那么,这就极大地浪费了数据,也极大地给我们的商业、学习、工作、生产带来不便和巨大的阻碍。所以,能够方便、高效、快速地从大数据里提取出巨大的信息和知识是必须面对的,因此,数据挖掘技术应运而生。数据挖掘填补了数据和信息、知识之间的鸿沟。


3. 数据挖掘技术有助于实现从 DT(数据时代)向 KT(知识时代)转变。


数据挖掘与数据分析的区别


数据分析的两种说法


即广义的数据分析和狭义的数据分析。广义的数据分析包括狭义的数据分析和数据挖掘,而我们常说的数据分析就是指狭义的数据分析。


数据分析(狭义)


(1) 数据分析(狭义)的定义:简单来说,狭义的数据分析就是对数据进行分析。专业的说法,狭义的数据分析是指根据分析目的,用适当的统计分析方法及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用。


(2) 作用:它主要实现三大作用:现状分析、原因分析、预测分析(定量)。狭义的数据分析的目标明确,先做假设,然后通过数据分析来验证假设是否正确,从而得到相应的结论。


(3)方法:主要采用对比分析、分组分析、交叉分析、回归分析等分析方法;


(4)结果:狭义的数据分析一般都是得到一个指标统计量结果。比如,总和、平均值等,这些指标数据都需要与业务结合进行解读,才能发挥出数据的价值与作用。


数据挖掘


(1)定义:数据挖掘是指从大量的数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、且有价值的信息和知识的过程。


(2)作用:数据挖掘主要侧重解决四类问题,即分类、聚类、关联和预测(定量、定性)。数据挖掘的重点在寻找未知的模式与规律。比如,我们常说的数据挖掘案例:啤酒与尿布、安全套与巧克力等,这就是事先未知的,但又是非常有价值的信息。


(3)方法:主要采用决策树、神经网络、关联规则、聚类分析等统计学、人工智能、机器学习等方法进行挖掘。


(4)结果:输出模型或规则,并且可相应得到模型得分或标签,模型得分如流失概率值、总和得分、相似度、预测值等,标签如高中低价值用户、流失与非流失、信用优良中差等。


总结


数据分析(狭义)与数据挖掘的本质都是一样的,都是从数据里面发现关于业务的知识(有价值的信息),从而帮助业务运营、改进产品以及帮助企业做更好的决策。所以数据分析(狭义)与数据挖掘构成广义的数据分析。


数据挖掘软件及其发展


1. 第一代,代表软件:Salford Systems 公司早期的 CART 系统。


2. 第二代,代表软件:SAS Enterprise Miner;DBMiner,DBMiner 是加拿大 SimonFraser 大学开发的一个多任务数据挖掘系统,它的前身是 DBLearn。


3. 第三代,代表软件:SPSS Clementine,SPSS Clementine 是 SPSS 公司的一个数据挖掘平台;RapidMiner,RapidMiner 是世界领先的数据挖掘解决方案。


4. 第四代,正在开发。


数据挖掘技术及其分类


数据挖掘技术(方法)分为两大类


(1)预言(Predication):用历史预测未来。

(2)描述(Description):了解数据中潜在的规律。


有哪些数据挖掘技术(方法)


数据挖掘常用的方法有:分类、聚类、回归分析、关联规则、神经网络、特征分析、偏差分析等。这些方法从不同的角度对数据进行挖掘。


(1)分类


  • 分类的含义:就是找出数据库中的一组数据对象的共同特点并按照分类模式将其划分为不同的类。分类是依靠给定的类别对对象进行划分的。

  • 分类的目的(作用):其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别中。

  • 分类的应用:客户的分类、客户的属性和特征分析、客户满意度分析、客户的购买趋势预测、应用分类、趋势预测等。

  • 主要的分类方法:决策树、KNN 法 (K-Nearest Neighbor)、SVM 法、VSM 法、Bayes 法、神经网络等。

  • 分类算法的局限:分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应。但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,这时候可以考虑使用聚类算法。


(2)聚类


  • 聚类的含义:聚类指事先并不知道任何样本的类别标号,按照对象的相似性和差异性,把一组对象划分成若干类,并且每个类里面对象之间的相似度较高,不同类里面对象之间相似度较低或差异明显。我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,聚类是一种无监督学习。

  • 聚类与分类的区别:聚类类似于分类,但是,与分类不同的是,聚类不依靠给定的类别对对象进行划分,而是根据数据的相似性和差异性将一组数据分为几个类别。

  • 聚类的目的:聚类与分类的目的不同。聚类是要按照对象的相似性和差异性将对象进行分类,属于同一类别的数据间的相似性很大,但不同类别之间数据的相似性很小,跨类的数据关联性很低。组内的相似性越大,组间差别越大,聚类就越好。

  • 聚类的方法(算法):主要的聚类算法可以划分为如下几类,划分方法、层次方法、基于密度的方法、基于网格的方法、基于模型的方法。每一类中都存在着得到广泛应用的算法, 划分方法中有 k-means 聚类算法、层次方法中有凝聚型层次聚类算法、基于模型方法中有神经网络聚类算法。

  • 聚类的应用:它可以应用到客户群体的分类、客户背景分析、客户购买趋势预测、市场的细分等。


(3)回归分析


  • 回归分析的含义:回归分析是一个统计预测模型,用以描述和评估因变量与一个或多个自变量之间的关系;反映的是事务数据库中属性值在时间上的特征,产生一个将数据项映射到一个实值预测变量的函数,发现变量或属性间的依赖关系。

  • 回归分析的目的(作用):回归分析反映了数据库中数据的属性值在时间上的特征,通过函数表达数据映射的关系来发现属性值之间的依赖关系。

  • 回归分析的应用:回归分析方法被广泛地用于解释市场占有率、销售额、品牌偏好及市场营销效果。它可以应用到市场营销的各个方面,如客户寻求、保持和预防客户流失活动、产品生命周期分析、销售趋势预测及有针对性的促销活动等。

  • 回归分析的主要研究问题:数据序列的趋势特征、数据序列的预测、数据间的相关关系等。


(4)关联规则


  • 关联规则的含义:关联规则是隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现。关联规则是描述数据库中数据项之间所存在的关系的规则。

  • 关联规则的目的(作用):发现隐藏在数据间的关联或相互关系,从一件事情的发生,来推测另外一件事情的发生,从而更好地了解和掌握事物的发展规律等等。

  • 关联规则的挖掘过程主要包括两个阶段:第一阶段为从海量原始数据中找出所有的高频项目组;第二阶段为从这些高频项目组产生关联规则。

  • 关联规则的应用:关联规则挖掘技术已经被广泛应用于金融行业企业中用以预测客户的需求,各银行在自己的 ATM 机上通过捆绑客户可能感兴趣的信息供用户了解并获取相应信息来改善自身的营销。


(5)神经网络方法


  • 神经网络作为一种先进的人工智能技术,因其自身自行处理、分布存储和高度容错等特性非常适合处理非线性的问题,以及那些以模糊、不完整、不严密的知识或数据为特征的问题,它的这一特点十分适合解决数据挖掘的问题。

  • 典型的神经网络模型主要分为三大类:第一类是以用于分类预测和模式识别的前馈式神经网络模型,其主要代表为函数型网络、感知机。第二类是用于联想记忆和优化算法的反馈式神经网络模型,以Hopfield的离散模型和连续模型为代表。第三类是用于聚类的自组织映射方法,以ART模型为代表。虽然神经网络有多种模型及算法,但在特定领域的数据挖掘中使用何种模型及算法并没有统一的规则,而且人们很难理解网络的学习及决策过程。


(6)Web数据挖掘


  • Web数据挖掘的含义:web数据挖掘是一项综合性技术,指Web从文档结构和使用的集合C中发现隐含的模式P,如果将C看做是输入,P 看做是输出,那么Web 挖掘过程就可以看做是从输入到输出的一个映射过程。

  • Web数据挖掘的研究对象:是以半结构化和无结构文档为中心的Web,这些数据没有统一的模式,数据的内容和表示互相交织,数据内容基本上没有语义信息进行描述,仅仅依靠HTML语法对数据进行结构上的描述。当前越来越多的Web 数据都是以数据流的形式出现的,因此对Web 数据流挖掘就具有很重要的意义。

  • 目前常用的Web数据挖掘算法:PageRank算法、HITS算法、LOGSOM 算法。这三种算法提到的用户都是笼统的用户,并没有区分用户的个体。

  • Web数据挖掘的应用:可以利用Web的海量数据进行分析,收集政治、经济、政策、科技、金融、各种市场、竞争对手、供求信息、客户等有关的信息,集中精力分析和处理那些对企业有重大或潜在重大影响的外部环境信息和内部经营信息,并根据分析结果找出企业管理过程中出现的各种问题和可能引起危机的先兆,对这些信息进行分析和处理,以便识别、分析、评价和管理危机。

  • 目前Web 数据挖掘面临着一些问题:用户的分类问题、网站内容时效性问题,用户在页面停留时间问题,页面的链入与链出数问题等。


(7)特征分析


  • 特征分析的含义:特征分析是从数据库中的一组数据中提取出关于这些数据的特征式,这些特征式表达了该数据集的总体特征。

  • 特征分析的目的(作用):在于从海量数据中提取出有用信息,从而提高数据的使用效率。

  • 特征分析的应用:如营销人员通过对客户流失因素的特征提取,可以得到导致客户流失的一系列原因和主要特征,利用这些特征可以有效地预防客户的流失。


(8)偏差分析


  • 偏差分析的含义:偏差是数据集中的小比例对象。通常,偏差对象被称为离群点、例外、野点等。偏差分析就是发现与大部分其他对象不同的对象。

  • 偏差分析的应用:在企业危机管理及其预警中,管理者更感兴趣的是那些意外规则。意外规则的挖掘可以应用到各种异常信息的发现、分析、识别、评价和预警等方面。而其成因源于不同的类、自然变异、数据测量或收集误差等。


什么叫“异常”


(1)Hawkins给出了异常的本质性的定义:异常是数据集中与众不同的数据,使人怀疑这些数据并非随机偏差,而是产生于完全不同的机制。


(2)聚类算法对异常的定义:异常是聚类嵌于其中的背景噪声。


(3)异常检测算法对异常的定义:异常是既不属于聚类也不属于背景噪声的点。他们的行为与正常的行为有很大不同。


阅读全文请扫描

下方二维码,

还可以加入读者圈与作者聊天~:



以上是关于需要搞清楚的关于抓包的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于Linux 网络抓包的一些笔记整理

关于Linux 网络抓包的一些笔记整理

真·干货你务必要搞清楚的十大数据挖掘知识点

你该搞清楚的体系化安全思维

关于Linux LOOPBACK网口抓包的一个细节

DeFi“钱从哪来”?一个大多数人都没搞清楚的问题