抢包是什么意思(Wireshark原理)
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

一、Wireshark抓包原理
(一)网络抓包原理无论在网络中传输什么,最终通过物理介质发送的都是二进制的,类似于0101的比特流。纯文本(字符串)通常在中文中用UTF 8编码,在英文中用ASCII编码。非纯文本音频、视频、图片、压缩包等。按照不同的编码打包并转换成二进制传输。在IP网络中,Wireshark获得的原始数据是二进制的。
在哪种网络情况下可以抢到包?下面的解释是基于网络原理。网络抓包主要有三种情况:本地环境、集线器环境和交换机环境。
1.局部环境
本地环境直接捕获本地网卡的流量。Wireshark会绑定我们的网卡,可以在不借助第三方设备(交换机和集线器路由器)的情况下捕获我们的网络通信流量,这是最基本的数据包捕获方式。
2.集线器环境
枢纽环境可以做流量防洪,同冲域。枢纽的意思是& quotHub & quot用英语,还有& quothub & quot意味着& quot中心& quot。hub的主要功能是对接收到的信号进行再生、整形和放大,从而扩大网络的传输距离,同时将所有节点集中在以它为中心的节点上。它工作在OSI参考模型的第一层,即& quot物理层& quot。
假设三台计算机进行通信,PC1上安装了Wireshark。当PC2和PC3向集线器网络(冲突域或广播域)发送数据包时,由于集线器是物理层产品,无法识别MAC地址和IP地址,因此会将收到的数据包泛洪到所有其他接口。此时,Wireshark可以捕捉到同一hub中其他计算机发送的数据包,即局域网中的数据包。这是典型的旧网络做法,现在基本上已经淘汰了。
3.交换机环境
交换机环境是比较常见的方式,包括端口镜像、ARP欺骗和MAC泛洪。
(1)端口镜像
交换机是数据链路层甚至网络层的产物,其分包的数据包严格按照交换机上的MAC地址表进行通信。因此,在正常情况下,PC2和PC3之间的通信流量很难流向PC1的网卡。当PC2和PC3通信时,PC1无法通过Wireshark捕获数据包。但是,我们可以在交换机端口执行SAPN端口镜像操作,它会将来自其它两个端口的流量拷贝到PC1,并且PC1的网卡和Wireshark会被设置为混合插入模式,因此我们可以在此时抓取数据包。这种模式在很多付费流量分析软件中经常使用。
(2)ARP劫持
假设我们没有权利在交换机上做端口镜像技术,因为我们有一个MAC地址表,我们想获取整个局域网的流量,从PC2和PC3窃取流量。这可以通过著名的ARP攻击软件CainAbel来实现,其流程如下:
首先,PC2发送一个ARP请求广播数据包,交换机收到该数据包后会将其发送给PC1和PC3。PC1和PC3收到了数据包。正常情况下,PC1会丢弃数据包,因为它会询问PC3,但ARP欺骗会回复& quot我是IP3,对应地址是MAC1 & quot。这是典型的ARP欺骗或ARP病毒。最后,PC2会将流量封装到底层MAC1中,然后发送回去。如果PC3和PC3都有回应,但是APR有一个功能叫& quot先来后到& quot,PC1会进行错误的绑定,将数据包发送到MAC1,导致PC2和PC3的通信流量经过PC1,这也是典型的流量劫持和局域网攻击。(3)MAC泛洪
工具泛滥带来大量垃圾包,产生大量MAC地址。这时交换机的MAC地址表就会变成右边的表(脱离图表),MAC2和MAC3就会被挤出MAC地址表。一旦这个MAC地址被挤出MAC地址表,根据交换原理,如果接收到的数据包是未知的,就会对外部流量进行泛洪,此时PC2和PC3对外部流量进行泛洪。
(二)底层框架原理
那么,包捕获的底层架构是什么?让我们开始解释Wireshark的基本原理。
Wireshark包括一个五层架构:
最底层的win-/libpcap:Wireshark捕获数据包时所依赖的库文件(驱动文件和库文件)捕获:数据包捕获引擎使用libpcap/WinPcap的底层来捕获网络数据包,libpcap/WinPcap提供了通用的数据包捕获接口。Wiretap可以从不同类型的网络接口(包括以太网、令牌环网、ATM网等)获取数据包。):此时获得一些比特流,可以通过Wiretap(格式支持引擎)从包捕获文件中读取数据包,支持多种文件格式。核心:核心引擎,通过函数调用将其他模块连接在一起,起到联动调用的作用。包分析引擎涉及协议树(Protocol-Tree,存储数据包的协议信息,协议结构采用树形结构。解析协议报文时,需要从根节点通过函数句柄依次调用各层解析函数)、解析器(各种协议解码器,支持700多种协议解析,可以识别协议字段,显示字段值。Wireshark采用协议树的形式逐层处理各级数据流量的协议)、插件(部分协议解码器实现为插件,源代码在插件目录下)、显示过滤(显示过滤引擎,源代码在epan/dfilter目录下)。GTK1/2:图形处理工具,对用户的输入输出显示进行处理,最终存储在硬盘中。PS:了解基本原理很重要,尤其是为了进一步研究。
二、界面功能介绍
Wireshark运行后,其界面如下图所示,包括标题栏、菜单栏、工具栏、包过滤栏、包列表区和编号。 据包详细区、数据包字节区、数据包统计区。从上下按序编号如下图所示。
下面简单介绍一些界面常识。
1.点击“捕获”->“选项”如下图所示,可以设置输入接口和过滤器。
2.数据包详细区用得最多,它是解析数据包核心区域。数据包包含时间流、谁发给谁(原始IP地址和目的IP地址)、协议、长度、内容等,当双击它能看到对应的详细信息。
数据包详细区、数据包字节区包含比特字节信息。
3.统计栏的内容也值得大家去深入学习,后面会分享流量图信息。
4.显示界面中可以设置字体大小,如下图所示。
5.列设置包括默认列表、增加列、修改列、隐藏列、删除列,设置默认即可,下图是选中某行右键“应用为列”即可增加列。
增加后如下图所示:
选中该列名称,右键“删除列”即可。点击“编辑列”可以对名称进行修改。
6.时间设置涉及时间格式和参考时间。
修改之后如下图所示,不在显示时间间隔。
7.名字解析主要用于判断厂商信息,名词解析库,基本知识如下图所示。
设备相关信息如下图所示:
8.开启传输域名解析。
开启之后可以看到解析的域名(domain)及对应的DNS。
9.查看解析地址。
显示结果如下:
10.数据包操作包括数据包标记、注释数据包、合并数据包、打印数据包、导出数据包,通过不同的协议设置不同的配色方案。
如下图所示修改为红色。
11.文件->打印。
接下来将继续分享Wireshark的实际案例知识,首先讲解数据流追踪、专家信息获取和统计摘要获取的知识。
三、数据流追踪和专家统计说明
1.数据流追踪
数据流追踪主要是将TCP、UDP、SSL数据流进行重组并完整呈现出来,其点击路径为:Analyze->Follow->TCPstream分析。跟踪TCP流实现如下图所示:
我们在访问网页的时候,除了HTTP协议,大部分的流量应该是通过TCP协议生成数据包的,如下图所示。红色部分表示浏览器访问的网址信息(Request),蓝色部分表示对方给我们的反馈信息(Response)。
2.专家信息说明
其功能是对数据包中特定状态进行警告说明,包括错误(errors)、警告(warnings)、注意(notes)、对话(chats)。正常通信是不会丢包的,但实际情况可能有延迟,可以通过专家信息分析和查看网站的稳定性。
显示结果如下图所示,并被标注为各种颜色。
3.统计摘要说明
其功能主要是对抓取的数据包进行全局统计,基本点击路径为:Statistics->Summary统计汇总信息。显示结果如下图所示,后续可能会结合案例详细讲解。
四.Wireshark和NetworkMiner劫持流量及图片
NetworkMiner:一款开源的网络取证和协议分析工具,能够通过嗅探器检测操作系统、主机名以及开放的端口。同时也可以通过分析pcap文件来获取到数据包的详细信息。除了能够进行基本的数据包抓取分析,NetworkMiner还支持以下功能:
以节点形式展示针对某个主机的通讯信息。可以通过数据包详细信息查看主机的IP地址、端口、使用协议以及服务器版本、数据包大小等。可以设置以IP地址或者主机名或者操作系统等其他类别显示数据包。可以自动通过数据包分析出里面的文件,例如图片、js以及css等其他传输的文件。可以分析出数据包中的证书信息。可以分析出http协议中的Session信息和cookie以及其他参数。支持根据关键词查找功能,支持对FTP、TFTP、HTTP、SMB和SMTP协议的文件提取。总之,这个源码项目还是比较复杂的,如果想深入研究数据包结构分析和Pcap,NetworkMiner也是个不错的选择。
下面结合Wireshark和NetworkMiner工具讲解劫持流量案例,获取登录HTTP网站的用户名和密码,并且作者修改了头像图片,通过NetworkMiner软件获取了该上传资源。
第一步:启动Wireshark软件,并开始监听流量数据包。
第二步:打开浏览器并输入目标网址。(后续会尝试分析HTTPS网站或手机APP检测)
第三步:输入用户名和密码登录。
登录之后如下图所示,作者这里尝试点击链接提交我的一张本地头像。
上传之后如下图所示,接下来我们开始尝试分析抓取的流量数据包。
第四步:获取网址对应的IP地址,这里使用IP站长之家实现。IP地址为:47.110.166.107。
第五步:点击暂停并通过过滤器获取与该IP地址相关的HTTP协议数据包。
httpandip.addr==47.110.166.107
第六步:选中POST登录提交表单的链接,可以查看对应的用户名和密码如下图所示,双击该行可以查看详情。注意,该网站是明文传输用户名和密码,如果密码加密,可以采用在线MD5解密。还是建议该网站对密码进行加密或设置HTTPS传输。
第七步:右键链接,点击“追踪流”->“TCP流”。
显示的详情内容如下图所示,其中红色为Request,蓝色为服务器响应Response,我们也可以尝试将其导出保存至本地。
第八步:如果过滤器为“ip.addr==47.110.166.107”,则还除了获取HTTP协议数据包,还能获取其他协议,包括TCP,大多数流量包均通过TCP协议三次握手传输。
这里,读者尝试寻找POST提交图片表单,找到其TCP流的原图片格式进行分析。
第九步:打开工具NetworkMiner,尝试通过它分析数据包。(注意,前面Wireshark抓取的包将存储为本地pcap文件)。
第十步:该软件打开我们本地的0921.pcap文件,显示如下图所示。
第十一步:点击Credentials查看我们Wireshark劫持的所有流量登录信息,可以看到我们目标网站的用户名Yxiuzhang和密码。
第十二步:点击Images可以查看我们上传的图片为“eastmount.jpg”,上传服务器之后头像命名为“17577…jpg”,成果抓取了图像资源。
五、总结
总之,Wireshark是一个非常强大的工具,希望读者能学会使用它,也期待在下方评论中看到你的观点,在学习技术的路途中希望你也能与我同行。
原文链接:https://blog.csdn.net/Eastmount/article/details/101101829
本文主要介绍了关于抢包是什么意思(Wireshark原理)的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/83782.html