数据包分析技术与网络基础
1,数据包分析与数据包嗅探器
- 数据包分析,通常也被称为数据包嗅探或协议分析,指的是捕获和解析网络上在线传输数据的过程。
- 数据包分析过程通常由数据包嗅探器来执行,而数据包嗅探器则是一种用来在网络媒介上捕获原始传输数据的工具。
- 数据包分析技术的应用:
- 了解网络特征。
- 查看网络上的通信主体。
- 确认谁或是那些应用在占用网络带宽。
- 识别网络使用高峰时间。
- 识别可能的攻击或恶意活动。
- 寻找不安全以及滥用网络资源的应用。
1.1,数据包嗅探器工作过程
- 数据包嗅探过程中涉及软件和硬件之间的协作。可分为3个步骤。
- 收集
- 数据包嗅探器从网络线缆上收集原始二进制数据。
- 转换
- 将捕获的二进制数据转换成可读形式。
- 分析
- 对捕获和转换后的数据进行真正的深入分析。
- 收集
2,网络通信原理
2.1,协议
- 常见的网络协议包括传输控制协议(TCP),互联网协议(IP),地址解析协议(ARP)和动态主机配置协议(DHCP)。协议栈是由一组协同工作网络协议的逻辑组合而成的。
- 协议的作用
- 发起连接
- 是由客户端还是服务器发起连接?在真正通信之前必须要交换哪些信息?
- 协商连接参数
- 通信需要进行协议加密吗?加密密钥如何在通信双方进行传输?
- 数据格式
- 通信数据在数据包中如何排列?数据在接收设备时以什么样的顺序进行处理?
- 错误检测与校正
- 当数据包花费过程时间才到达目的地时该如何处理?当客户端暂时无法和服务器建立通信时,该如何恢复连接?
- 连接终止
- 一台主机如何告知另一台主机通信已经结束?为了礼貌地终止通信,应该传送什么样的最终信息?
- 发起连接
2.2,七层OSI参考模型
- 应用层(Application layer)
- OSI参考模型的最上层,为用户访问网络资源提供一种手段。这通常是唯一一层能够由最终用户看到的协议,因为它提供的接口,是最终用户所有网络活动的基础。
- 表示层(Presentation layer)
- 将接收到的数据转换成应用层可以读取的格式。
- 在表示层完成的数据编码与解码取决于发送与接收数据的应用层协议。
- 表示层同时进行用来保护数据的加密与解密等操作。
- 会话层(Session layer)
- 管理两台计算机之间的对话,负责在所有通信设备之间建立,管理和终止会话连接。
- 负责以全双工或半双工的方式来创建会话连接。
- 传输层(Transport layer)
- 为较低层提供可靠的数据传输服务。通过流量控制,分段/重组,差错控制等机制,传输层确保网络数据端到端的无差错传输。
- 传输层同时提供了面向连接和无连接的网络协议。某些防火墙和代理服务器也在这一层工作。
- 网络层(Network layer)
- 负责数据在物理网络中的路由转发,是最复杂的OSI层之一。
- 负责处理数据包分片和一些情况下的错误检测。路由器在这一层工作。
- 数据链路层(Data link layer)
- 提供了通过物理网络传输数据的方法,其主要目的是提供一个寻址方案,可用于确定物理设备(如MAC地址)。
- 交换机和网桥是工作在数据链路层的物理设备。
- 物理层(Physical layer)
- 定义了所有使用的网络硬件设备的物理和电气特征,包括电压,集线器,网络适配器,中继器和线缆规范等。
2.3,OSI参考模型各个层次上的典型网络协议
层次 | 协议 |
---|---|
应用层 | HTTP,SMTP,FTP,Telnet |
表示层 | ASCII,MPEG,JPEG,MIDI |
会话层 | NetBIOS,SAP,SDP,NWlink |
传输层 | TCP,UDP,SPX |
网络层 | IP,IPX |
数据链路层 | Ethernet,Token Ring,FDDI,AppleTalk |
2.4,OSI参考模型中的数据流向
- 网络上传输的初始数据首先从传输网络的应用层开始,沿着OSI参考模型的七层逐层向下,直到物理层。在这一层传输网络物理媒介会将数据发送到接收系统。接收系统从它的物理层获取到传输数据,然后向上逐层处理,直到最高的应用层。
- OSI模型中的每层都只能直接与它的上层或下层协议通信。
- 在OSI模型任意层上,由不同协议提供的服务都不是多余的,如果某层上的一个网络协议提供了一种服务,那么其他任何层上的协议都不会提供与之完全相同的服务。
- 在对应层次上,发送和接收的网络协议是相互配合的。
2.5,数据封装
数据封装过程将创建一个协议数据单元(PDU),其中包括正在发送的网络数据,以及所有增加的头部与尾部协议信息。随着网络数据沿着OSI参考模型向下流动,PDU逐渐变化,增长,各层协议均将其头部或尾部信息添加进去,直到物理层时达到其最终形式,并发送给目标计算机。接收计算机收到PDU后,沿着OSI参考模型往上处理时,逐层剥去协议头部和尾部,当PDU到达OSI参考模型的最上层时,将只剩下原始传输数据。
注意:OSI参考模型使用特别的术语来描述每一层的数据。物理层叫比特,数据链路层叫帧,网络层叫数据包,传输层叫数据段。最上面的三层可以统称数据。
2.6,网络硬件
1,集线器
- 集线器一般是一个提供了多个RJ-45端口的机盒。
- 因为集线器产生很多不必要的网络流量,并仅在半双工模式下运行,所以现在以基本淘汰(使用交换机代替)。
- 工作在OSI参考模型物理层上的转发设备。它从一个端口接收到数据包,然后将数据包传输到设备的每一个端口上。
2,交换机
- 工作在OSI参考模型的数据链路层上。
- 交换机将每个连接设备的2层地址都存储在一个CAM(Content Addressable Memory,内容寻址寄存器)表中。当一个数据包被传输时,交换机读取数据包中的第2层协议头部信息,并使用CAM表作为参考,决定往那个或那些端口发送数据包。交换机仅仅将数据包发送到特定端口上,从而大大降低了网络流量。
3,路由器
- 路由器工作在OSI参考模型的第3层,负责在两个或多个网络之间转发数据包。路由器在网络间引导数据包的流向,这一过程被称为路由。
- 几种不同类型的路由协议定义了不同目的的数据包如何被路由到其他网络。路由器通常使用第3层地址(如IP地址)来唯一标识网络上的设备。
数据包分析技术与网络基础相关推荐
- 读书笔记 1.数据包分析技术与网络基础 Wireshark数据包分析实战 第3版
1.数据包分析技术与网络基础 1.2.1 协议 发起连接 :是由客户端还是服务器发起连接?在真正通信之前必须要交换哪些信息? 协商连接参数 :通信需要进行协议加密吗?加密密钥如何在通信双方进行传输? ...
- 《Wireshark数据包分析实战(第2版)》目录—导读
版权声明 Wireshark数据包分析实战(第2版) Copyright © 2011 by Chris Sanders. Title of English-language original:Pra ...
- 网络分析系列之一 网络数据包分析基础知识
在高速发达的计算机网络世界,网络和系统运维者每天都可能面对成千上万的故障问题,从简单的终端病毒感染,到复杂的网络配置,甚至更为复杂的应用架构.当问题出现,我们永远也不可能立即解决所有的,而良好的知识储 ...
- 【转载】网络数据包分析 网卡Offload
对于网络安全来说,网络传输数据包的捕获和分析是个基础工作,绿盟科技研究员在日常工作中,经常会捕获到一些大小远大于MTU值的数据包,经过分析这些大包的特性,发现和网卡的offload特性有关,本文对网卡 ...
- pcap文件解析工具_【免费毕设】PHP网络数据包分析工具的设计与开发(源代码+论文)...
点击上方"蓝字"关注我们目录 系统设计 网络数据包分析系统的设计 整个网络数据报分析工具采用模块化的设计思想,原因是许多程序太长或太复杂,很难写在单一单元中.如果把代码分为较小的功 ...
- 【php毕业设计】基于php+mysql+apache的网络数据包分析工具设计与实现(毕业论文+程序源码)——网络数据包分析工具
基于php+mysql+apache的网络数据包分析工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的网络数据包分析工具设计与实现,文章末尾附有本毕业设 ...
- 网络分流器-DPI深度数据包检测技术及作用
戎腾网络分流器又名核心网采集器,作为网络安全领域网络监控前端重要的基础装备,是整个网络安全中不可缺少的必要装备!对网络安全起到了关键作用! 戎腾当前固网已经升级到400G,支持不同链路,移动互联网信令 ...
- 网络分流器-网络分流器之DPI深度数据包检测技术及作用
戎 腾 网络分流器又名核心网采集器,作为网络安全领域网络监控前端重要的基础装备,是整个网络安全中不可缺少的必要装备!对网络安全起到了关键作用 ! RT当前固网已经升级到400G,支持不同链路,移动互联 ...
- 利用无线网络数据包分析无线网络安全
转载:http://security.ctocio.com.cn/236/11489236.shtml 导言 无线网络的弊端在于你总是无法看到所面对的问题.在无线网络中,建立连接并不像连接有线网络那样 ...
最新文章
- 竞赛|数据竞赛Top解决方案开源整理
- GPS nmealib学习笔记
- MFC中CSliderCtrl的使用(收集)
- 很多想法、很多感慨。
- .NET Core+Selenium+Github+Travis CI =amp;gt; SiteHistory
- Linux 中vim编辑器学习笔记
- ENSP配置 实例一 不同VLAN间通信
- window常用命令(持续更新)
- java——Random类和Math.Rondom
- jfinal分页时使用like
- bool型数组python_Python bool()
- vector中resize()和reserve()区别
- FISCO BCOS 《新摩登时代》:卓别林演绎共识与同步流程优化
- dojo0.9的第一个实例
- 微盟致远OA聚水潭YonSuite系统对接集成整体解决方案
- Python实现电子词典(图形界面)
- 泰山OFFICE技术讲座:微软雅黑字体故意设置的坑,粗体错误
- 网页P2P加速视频解析dplayer播放器源码(带记忆播放功能)
- 易语言浏览本地html,简单的易语言读取网页文本程序
- 一言不合就想斗图?快用深度学习帮你生成表情包