• Wireshark网络分析工具(一)


    关于Wireshark,熟悉网络或网络性能方面的同学应该知道,使用Wireshark工具通过抓取数据包,对系统网络问题进行分析,该工具简单、易用、易学!

    百度百科上面是这样描述的:Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

    Wireshark抓包原理:把Wireshark主机上的网卡接入有线或无线网络开始抓包时,介于有线网卡和抓包引擎之间的软件驱动程序便会参与其中。在Windows和UNIX平台上,分别对应WinPacp和Libcap驱动程序,对于无线网卡,抓包时启动AirPacp驱动程序。

    学习Wireshark网络分析,先了解OSI网络协议模型共分为七层:

    应用层    指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件

    表示层    数据语法的转换、数据的传送等

    会话层   建立起两端之间的会话关系,并负责数据的传送

    传输层   负责错误的检查与修复,以确保传送的质量,是TCP工作的地方。(报文)

    网络层(互联网层) 提供了编址方案,IP协议工作的地方(数据包)

    数据链路层  将由物理层传来的未经处理的位数据包装成数据帧

    物理层   对应网线、网卡、接口等物理设备(位)

    一、wireshark工具界面介绍

    抓取网络包后,wireshark面板每一行对应一个网络报文,每一个网络报文包含的信息:

    报文接收时间(相对开始抓取的时间点)、源地址IP、目标地址IP、协议以及报文信息。

    Frame:物理层的数据帧概况

    Ethernet II :数据链路层以太网头部帧

    Internet Protocol Version 4:互联网层IP包头的信息

    Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议

    Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议

    在Wireshark中关于数据包的叫法有三个术语,分别是帧、包、段

     

    所以对于包结构的分析关键在于三个知识点的学习:http header, tcp header, ip header

    二、Wireshark架构

    wireshark可以被划分为四个主要模块:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Capture Core使用pcap(windows下为winpcap,linux下为libpcap)抓取网络数据包,获取数据包后,WireTap把它保存为二进制文件,interpreter and dissector就是把二进制文件展现成用户容易理解的文本形式,其中dissector又分为build-in和plug-in两种,build-in很好理解,plug-in在1.3节会详细介绍一下;GUIinterface,顾名思义就是用户界面了。

    架构图:

     

    三、过滤抓包

    Wireshark抓包过滤器运作机制是基于tcpdump程序的。

    Wireshark的Filter分为两种,一种为Capture Filter,另一种是Display Filter。

    启动wireshark后,在抓包前,可以使用Capture Filter进行过滤抓包

    过滤条件:

    #针对服务器IP地址进行过滤抓取

    host 58.67.220.228

    #针对抓取请求端口进行过滤抓取

    port 9080

    #只抓取源或目的端口范围的2000到2500之间的TCP数据包

    tcp portrange 2000-2500

    另一种是Display Filter,这是在抓取包之后,在wireshark界面上操作,进行过滤信息

     

  • 相关阅读:
    bitmap解码
    好用的dos命令
    Navicat Premium 12.0.18 / 12.0.24安装与激活
    Linux基本概念与常用命令
    Hbuilder+MUI(一)
    VS2015 运行项目报错“无可用源”,无法加载“C:WindowsMicrosoft.NETassemblyGAC_MSILSystem.Netv4.0_4.0.0.0__b03f5f7f11d50a3aSystem.Net.dll”这类型错误
    报错:找到了与该请求匹配的多个操作
    ACCESS迁移到SQLSERVE的两种方法
    C# 调用HTTP接口两种方式Demo
    转:WebApi(二)
  • 原文地址:https://www.cnblogs.com/luihengk/p/6857117.html
Copyright © 2020-2023  润新知