抓包什么意思(网络抓包犯法吗)

平时和其他老板交流的时候,总会有“抢个包看看怎么了”“抢流量,有效载荷都在里面”“这个数据流怎么这么奇怪”之类的话。这里所有的名词都是一个意思吗?包、帧、流、会

平时和其他老板交流的时候,总会有“抢个包看看怎么了”“抢流量,有效载荷都在里面”“这个数据流怎么这么奇怪”之类的话。这里所有的名词都是一个意思吗?包、帧、流、会话有什么区别?你真的知道区别吗?

平时关系不大。这些名词都是随便用的,大家都知道是什么意思。在这段时间里,我在分析了协议类型的漏洞后,终于意识到基础知识的浅薄,意识到自己根本没有区分这些基础概念。我看了一些不明所以的国外技术文献,所以查了很多资料,写了这篇文章。

抓包什么意思(网络抓包犯法吗)插图

区分控制平面和数据平面

抓包什么意思(网络抓包犯法吗)插图(1)

控制平面、数据平面是实现网络设备需要理解的两个基本概念。数据平面一般用于快进,而控制平面是为快进准备必要的信息。控制平面包括路由协议;设备管理;命令行;ARPIGMP;等等。并且数据平面通常转发分组。这种划分的目的是将系统的主要工作和次要工作分开,以避免不同类型处理的干扰。在一个网络设备中,转发无疑是最重要的工作,它具有最高的优先级。由于路由协议不需要在短时间内处理大量数据包,因此可以将其置于下一个优先级。数据平面可以用asic或NP优化,可以达到高速,而控制平面可以用通用库或系统保护。

控制平面的Os和数据平面的os功能完全不同。数据平面的os需要实时响应,需要更快更高效的内存管理、队列管理、定时器管理等。另一方面,控制平面的os往往保护更好,编程更容易,移植更快。当然,实际操作中需要选择哪些任务放在控制平面,哪些放在数据平面。例如,由于arp学习和响应的时间不确定,mac学习立即生效。所以arp学习和响应一般放在控制平面;Mac学习放在数据平面上。

就数据平面而言,可以分为控制路径和数据路径。控制路径也为数据路径准备必要的信息。有时候为了加快速度,避免控制平面和数据平面交互过多,控制平面的一些工作是在数据平面上完成的,比如ICMP响应。

区分会话和流

抓包什么意思(网络抓包犯法吗)插图(2)

流是发送方和接收方之间数据包中的数据平面流,它共享关键的IP报头信息。例如,SSH的10.1.1端口12398的客户端和192.168.1.1端口22的服务器之间的通信是一个特定的流,当关键字段不变时可以捕获该流。

会话是发送方和接收方之间的控制平面通信。TCP三次握手创建会话,并在发送方的源端口和接收方的目标监听端口之间建立连接。TCP窗口大小、初始序列和确认值以及保持活动作为建立会话的一部分进行协商。

简单来说,flow代表数据平面,session代表控制平面。

区分数据报和数据流

抓包什么意思(网络抓包犯法吗)插图(3)

流就是我们通常认为的交流渠道。比如远程登录,文件传输,邮件传递,这些都使用stream。斯特兰就像一根管子。它有两个端点。数据从一端输入,从另一端输出。没有以任何方式复制、丢弃或重组任何数据。两个流可以合并形成一个全双工连接。

数据报(通常称为数据包)本质上更具有原子性。它是一小段数据,通常要求小于最大长度(通常在256到2000字节的范围内)。数据报是完全独立的、主动的、有目的的,但不能称为连接。该报告与它之前或之后的任何其他数据无关。

很难理解吗?

我们再打个比方。

流就像打电话——一方打电话,另一方接听,你问候对方(TCP中的SYN/ACK),然后交换信息。一旦完成,你就说再见(TCP中的FIN/ACK)。如果一方没有听到再见,一般会给对方打电话,因为是突发事件;也就是说,通常客户端会重新连接到服务器。这可以确保数据不会以与我们发送的顺序不同的顺序到达,并且数据不会被损坏。

数据报就像在班里传递小纸条。如果你不和想拿到纸条的人坐在一起,纸条就会在别人中间传递。小纸条可能到不了目的地,到了目的地也可能被修改。另外两种,如果把两张小纸片投递给同一个人,这两张小纸片可能不会按照我们需要的顺序到达,因为小纸片通过教室的路线可能不同,一个人可能没有另一个人投递小纸片的速度快,等等。会有很多因素影响小纸片的传递。

虽然大部分网络通信使用的是stream,但是所有的互联网传输都是采用数据报的形式,实际上是通过TCP协议来模拟互联网流。为了诊断Internet故障,您可以使用TCPdump之类的数据包解码器来查看每个数据包。

区分数据包和帧

抓包什么意思(网络抓包犯法吗)插图(4)

为了简化问题,我们认为帧和包是从一个人发送到另一个人的信息的信封。帧包和帧包的主要区别在于它们如何封装信息,这取决于信息发送到哪里。

想象一下,一个公司有跨部门的邮件,一个人可以把文件发给他当地组织的另一个人。内容放在一个内部信封中,发件人在“发件人”栏中写下他们的姓名和部门,然后在“收件人”栏中写下收件人的姓名和部门。当发送信封时,邮件室识别内部使用的信封,读取目的地名称和部门,并使用目录将这些信息转换为物理位置(办公室)并交付给收件人。信封永远不会离开本地组织,信封的所有投递行为都在本地处理。

部门间的信封不能寄到公司以外,因为信封上没有邮寄地址。要将内容发送到本地以外的办公室,您需要将办公室间信封放入邮政信封中,并贴上适当的邮政地址标签。

框架以类似的方式工作。它是包含源地址和目的地址的数据的容器,用于在同一网络的两个位置之间传输称为有效负载的信息。Frame的源地址和目的地址不是姓名和部门,而是电脑、平板、IP电话、物联网设备等的MAC地址。这是世界上每台以太网设备的唯一ID号。

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

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

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

与需要用邮政信封将局间信封发送到不同办公室的示例非常相似,以太网帧封装了附加信息以创建数据包。

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

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

区分数据包捕获和流捕获(数据包捕获和流量捕获)

抓包什么意思(网络抓包犯法吗)插图(5)

数据包捕获允许我们获取网络数据包通过网络时的图像。而流数据通常包含网络上建立的连接的概要。都是非常有用的故障排除技术,可以找出网络上的故障。那么这两种技术有什么区别呢?

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

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

缺点是:

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

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

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

缺点是:

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

在我们知道区别之前,我们可能会混淆这两者,现在应该很清楚了。那么我们应该使用哪种技术呢?总的来说,两者都需要。如果有许多WAN链接,并且需要一种简单的方法来获得最大的可见性,那么捕捉流量可能会更好。数据包捕获可以为我们提供网络上一些节点的更详细的信息。这两者的结合意味着我们可以更容易地检测带宽使用等情况,并查看正在使用的应用程序。

标签

有很多点需要区分。我在这篇文章里做了很好的整理,把它们一步步引出来,从控制平面、数据平面的区别入手,因为这是区分0×03流和会话的基础。0×03中提到了流的概念,所以0×04中讨论了流和数据报的区别。在0×04的结尾提到了用于解码分析包的tcpdump,引出了包,于是很自然的在0×05中讨论了包和帧。在明确了以上基本概念和概念后,最后讨论包捕获和流捕获的区别以及各自的优缺点。

大部分安全伙伴应该不是网络工程出身,所以这篇文章或多或少有参考价值。希望你能从中受益。

作者:Yale1024来源:Freebuf

天下数据与全球近120个国家的顶级机房直接合作,提供香港、美国、韩国、日本、台湾省、新加坡、荷兰、法国、英国、德国、埃及、南非、巴西、印度、越南等国家和地区的服务器和云服务器的租赁服务。如有需要请联系天下数据客服!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/79711.html

发表回复

登录后才能评论