加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 策划 > 正文

你真的懂“抓包”吗?

发布时间:2019-05-16 10:25:25 所属栏目:策划 来源:Yale1024
导读:在平时和其他大佬交流时,总会出现这么些话,抓个包看看就知道哪出问题了,抓流量啊,payload都在里面,这数据流怎么这么奇怪。这里出现的名词,都是差不多的意思吗?packet,frame,flow,session区别是什么,你真的分的清楚吗? 平时关系还不大,这几个名词随

frame由网络接口设备在TCP/IP协议栈的第2层生成,payload大小取决于传输的数据类型。frame被发送到网络上,以太网交换机根据其存储器中的MAC表检查frame的目的地址。MAC表告诉交换机哪个物理端口(RJ45端口)与设备相关联,该设备的MAC地址与帧的目的地址相匹配。

交换机将frame转发到由MAC表确定的物理端口。如果电缆直接连接到目的设备,传输就完成了。如果电缆连接到另一台交换机,下一台交换机将重复查找和转发过程,直到frame到达预期目的地。

这一切都发生在LAN中的第2层交换机上。与部门间邮件一样,frame不能在本地/专用网络之外发送到因特网上,因为它没有正确的地址。要将数据发送到不同网络或互联网服务器上的设备,必须在packet中构建一个frame。

很像部门间信封需要放在邮政信封内发送到不同的办公室的例子,Ethernet frame用附加信息封装,以创建一个IPpacket。

虽然网络设备的MAC地址是唯一,永久的,但IP地址通常会临时分配给网络设备,并随着设备连接到不同的网络而改变。例如,平板电脑每次连接到不同的无线网络时,其IP地址都会发生变化。packet在网络的第3层创建,允许不同局域网之间交换信息,通常是通过路由器。路由器将小型网络互连在一起,允许使用IP地址而不是MAC地址进行更大规模的信息交换。

第3层packet允许路由器使用标识网络的IP地址和网络上设备的临时地址来提供网络间的数据传输(互联网)。一旦进入网络,网络内(局域网)数据转发由二层交换机处理,它读取frame的MAC地址,并将其转发到目的设备,在那里以太网控制器提取payload,完成不同网络上设备之间的信息传输过程。

区分packet capture和flow capture(抓包和抓流量)

你真的懂“抓包”吗?

Packet capture可以让我们在网络数据包通过网络时拿到镜像。而flow data通常包含在网络上设置的连接的摘要。它们都是非常有用的故障排除技术,可以找出网络上发生的故障。那么这两种技术有什么区别呢?

Flow capture:在OSI模型的第3层运行的大多数路由器和交换机都具有flow导出选项。有许多flow标准,包括NetFlow,sFlow和IPFIX。 只需安装一个flow连接器,它可以处理网络设备使用的任何flow标准。基于flow的分析可以很好地找出网络中某些部分的通信状况。它的优点是:

  • 易于在第3层设备上设置操作;
  • 不需要布线;终端用户系统不需要软件客户端或代理。

缺点是:

  • 某些交换机上没有flow选项;
  • 想要解决问题时缺少详细信息;
  • 当应用程序依赖其他协议时,不适合在网络边缘进行监控

Packet capture: 抓包能够捕获在网络中传输的网络数据包的镜像。大多数交换机允许在不影响网络性能的情况下设置镜像端口。通常,深度数据包检测(DPI)应用程序连接到镜像端口,并从数据包中提取某些信息,以便我们可以发现网络上发生了什么。优点是:

  • 更好地分析应用程序和用户行为,非常适合监控重要应用程序,服务器或至关重要的Internet连接;
  • 会得到更多的信息,如应用程序,文件,网站和主机名;
  • 终端用户系统上不需要软件客户端或代理。

缺点是:

  • 需要在镜像端口和DPI应用程序之间连接物理线路;
  • 需要确保镜像端口在繁忙的网络上不会过载。

在不清楚区别之前,我们可能会将两者混为一谈,现在应该已经明确区别了。那我们应该使用哪种技术?在一般情况下,两者都需要用到。如果有大量的WAN链接并且需要一种简单的方法来获得最大程度的可见性,抓流量可能更好。而抓包可以为我们提供网络上某些节点的更多详细信息。两者的结合意味着我们可以更轻松地检测诸如带宽占用,以及查看正在使用的应用程序等情况。

结语

需要区分的点都很多,我在文中已经比较好的安排,一步步引出来,从control plane,data plane的区别开始讨论,因为这是区分0×03 flow和session的基础,在0×03中提到了stream的概念,于是在0×04中讨论stream和datagram的区别,在0×04最后提到了用于解码分析packet的tcpdump,引出了packet,于是自然在0×05中讨论packet和frame。以上基础概念和去都明确之后,最后讨论了抓包(packet capture)和抓流量(flow capture)的区别及各自优缺点。

大部分做安全的小伙伴应该都不是网络工程出身,所以本文或多或少还是有些参考价值的。希望各位师傅能从中获益。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读