美文网首页
《wireshark数据包分析实战》

《wireshark数据包分析实战》

作者: 老鹰40 | 来源:发表于2019-11-08 15:34 被阅读0次

wireshark介绍

         一款网络流量包嗅探软件,在windows系统基于winpcap接口实现,支持http及udp等多种不同ISO层协议的处理、交互良好布局合理可视化界面,活跃社区维护的免费开源。功能模块主要有捕获、分析、统计、视图配置。针对捕获的分片流量进行重组展示,通过流追踪查看会话完整性。

     数据包嗅探器工作原理

       数据包嗅探过程中涉及软件和硬件之间的协作,分为3个步骤:

      1、收集:收集原始二进制数据

       2、转换:将捕获的二进制数据转换为可读格式

       3、分析:针对转换后的数据进行深入分析,基于对流量的理解,对数据包进行应用,可视化呈现。

     OSI模型

       网络通信原理应用OSI7层模型。发送端由应用层自上往下,依次通过协议依次标记身份,接受端自下而上依次按协议解开身份。举例:我们在浏览器上访问baidu.com,应用层就是浏览器使用的是http协议,表示层进行数据数据转换加密解密处理,会话层为本次交互新建一条线路,传输层新建一个管道,网络层承载交通要员角色,数据链路层物理期设备和网贤承上启下作用,物理层承载上次活动硬件支撑。客户端和服务端数据封装过程示意图如下:

    TCP传输

       TCP建立通过3次握手,ACK确认后客户端开始应用层交互请求(这里用户的是HTTP协议,如果邮件就是SMTPPOP3IMAP4),服务器发出ACK确认收到,再发出应用响应,客户端发出FIN/ACK进行关闭操作,服务器发出FIN/ACK进行关闭,客户端发出ACK进行最终确认,一次完整应用交互完成。就像两人见面先打招呼,再说事,说我事后相互告别。

一次完整会话

数据包采集

       在一个局域网中如何采集目标设备流量?

       依据目标设备所在网络的网络拓扑进行分析在何处及通过什么方式采集。

       本机的数据包:就相对容易,网卡开启混杂摸索就可以用wireshark捕获数据包。           集线器连接网络:因集线器是广播模式,在集线器任意一个端口可进行采集目标设备数据包                                                                                                                                 交换机连接网络,如交换机支持端口镜像功能并由空闲端口,可以通过端口镜像命令或可视化界面把目标设备数据包经由交换机端口进行到空闲端口,接入交换机空闲端口接口。                                                                                                                                  集线器和交换机端口都不支持的网络:可以通过分流器在交换机和目标设备之间接入,这种方式需要脱线,是有感知的,要断会网。                                                             arp攻击方式:伪造请求为广播模式,技术上是可行,一般不建议采用。        

      上面我们描述的都是针对一个设备点的采集,如果网络链路分布在多端,就需要在不同节点进行流量数据包采集。

抓包

      可以全量抓包也可以设定过滤规则进行抓包,windows是基于winpcap API,linux基于tcpdunmp。

分析

       数据包抓取后,在页面展示分组列表,ISO层协议信息,分组详情。

       显示过滤器支持输入语句进行查询,常用关键字:“eq” 和“==”等同,可以使用“and”表示并且,“or”表示或者,“!”和“not”都表示取反。常用分析如下:

一、IP过滤查询

1.对原IP过滤

  ip.src_host == 193.36.10.100

2.对目标IP过滤

  ip.dst == 192.168.0.1

3.排查不包含信息可以用

  !(ip.dst=192.168.0.1)

二、协议过滤

1、捕获某种协议,表达式输入协议名称即可查询

    表达式为:http

2、捕获多种协议

    表达式:http or tcp

3、排除某种协议

    表达式为:not arp  或者!arp

三、针对端口过滤

1、捕获某一个端口的数据包,区分目的ip端口。

      表达式为:tcp.port == 80

                      tcp.dstport == 80

2、捕获多端口的数据包,可以使用and来连接,下来是捕获高端口的表达式

    表达式为:udp.port >= 2048

四、针对长度和内容的过滤

1、针对长度过滤     

    表达式为:udp.length < 30  http.content_length <=20

2、针对数据包内容的过滤

    表达式为:http.request.uri matches "vip"  (匹配http请求中含有vip字段的请求信息)

五、对方法、内容过滤

    http.request.method == "GET"

    http contains "Server"

六、过滤图片、压缩包等资源

http.request and !((http.request.full_uri matches "http://.*\.jpg.*") or(http.request.full_uri matches "http://.*\.png.*") or(http.request.full_uri matches "http://.*\.zip.*")) and !ssdp

七、分析接口,可以用统计功能下协议名称->请求,例如http协议,此协议下的ip+port访问资源

常用安全分析

       TCP端口扫描,攻击端对服务器端口进行扫描,查看哪些是激活状态,然后对有漏洞端口践行攻击目标。或是获取操作行指纹系统,利用操作系统漏洞进行目标攻击。

       ARP攻击,伪造访问,进行获利。

常用网络分析

       通过tcp过程,分析客户端和服务器端具体那端网络延迟,利用RTC、零窗口这些值分析网络质量。

相关文章

网友评论

      本文标题:《wireshark数据包分析实战》

      本文链接:https://www.haomeiwen.com/subject/rowibctx.html