Wireshark抓包学习笔记

        分析网络和抓包神器:tcpdump 和 Wireshark,将我们“看不见”的数据包,毫无保留地呈现在我们眼前。

  • tcpdump 仅支持命令行格式使用,常用在 Linux 服务器中抓取和分析网络包。

  • Wireshark 除了可以抓包外,还提供了可视化分析网络包的图形页面。

        这两者实际上是搭配使用的,先用 tcpdump 命令在 Linux 服务器上抓包,接着把抓包的文件拖出到 Windows 电脑后,用 Wireshark 可视化分析。

        博主使用的是 Windows 系统,只需要用 Wireshark 工具就可以。本篇文章以Wireshark为主进行学习记录。


1 Wireshark软件安装

        软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。

        说明:如果你是Win10系统,安装完成后,选择抓包但是不显示网卡,下载 win10 pcap 兼容性安装包。下载路径:win10 pcap Download + How to use Win10Pcap


2 Wireshark软件使用方法

        学习网址:wireshark抓包新手使用教程 + wireshark数据包分析实战!

        看准上面的超链接,以下学习内容基于上方的网址,并加以实际操作学习Wireshark,记录学习内容。

        Wireshark 开始抓包示例参照 wireshark抓包新手使用教程 进行第一次具体抓包。


        Wireshark 的使用界面中,可以更加直观的分析数据包:

        1. 展示各个网络包的头部信息。

        2. 还会用不同的颜色来区分不同的协议。

Wireshark抓包学习笔记_第1张图片

        网络包列表中选择具体的网络包后,在对应的网络包详情中可以清楚的看到该网络包在协议栈各层的详细信息

        帧 Frame 包括要发送的数据块,帧的序号,捕获字节数等于传送字节数;

        以太网,有线局域网技术,是数据链路层;

        IPv4 / IPv6协议,也称网际协议,是网络层;

        TCP协议 / UDP协议,是传输层;

        HTTP协议 / DNS协议,是应用层。


2.1 TCP 报文

        用来保证数据通信的完整性和可靠性,防止丢包,就是防止数据丢失。因为IP 协议只是一个地址协议,并不保证数据包的完整。在tcp的加持下,也就是tcp/ip协议,可以防止丢包。

        TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP 是面向连接的所以只能用于点对点的通讯。

        以 NO. 1664网络包为例进行分析:

        Frame信息分析、Ethernet Ⅱ 信息分析、Data信息分析:

Wireshark抓包学习笔记_第2张图片

        IPv4 协议信息分析、Trasmission Control Protocol信息分析:

Wireshark抓包学习笔记_第3张图片


2.2 TCP 三次握手

Wireshark抓包学习笔记_第4张图片

第一次握手数据包:客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。

第二次握手的数据包:服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N + 1 .即0+1=1。

第三次握手的数据包:客户端再次发送确认包(ACK) SYN == 0,ACK == 1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方。是客户端向服务端发送。三次握手后和服务器建立了TCP连接,就可以开始进行数据交互了。

        TCP 流的执行过程: 

Wireshark抓包学习笔记_第5张图片


2.3 HTTP 报文

        用来在浏览器(用户)与服务器间传送文档用的。HTTP协议是整个Web应用的基础,万维网的核心。

        以 NO. 1705网络包为例进行分析:

        HTTP的过滤模式:

        1.直接在其中输入协议名即可;

Wireshark抓包学习笔记_第6张图片

        2.例如我们要 过滤POST包 ,那么在 filter 中输入 http.request.method=="POST" 即可进行过滤。

Wireshark抓包学习笔记_第7张图片


2.4 ICMP 报文

        用于传输出错报告控制信息。反馈错误用的,让管理者可以对错误进行诊断,然后采取适当的措施解决问题。

        以 NO. 6152 网络包为例进行分析:

Wireshark抓包学习笔记_第8张图片

        Wireshark抓包——ICMP协议分析ICMP 报文由   IP 首部   和   ICMP 报文   组成:

Wireshark抓包学习笔记_第9张图片


2.5 Wireshark抓包——IP协议分析

Wireshark抓包学习笔记_第10张图片


        网络分层是有序的分工,每一层都有自己的工作任务,上层协议完成工作后就交给下一层,最终形成一个完整的网络包。 


   ip.src ==192.168.1.104 显示源地址为192.168.1.104的数据包列表

   ip.dst==192.168.1.104, 显示目标地址为192.168.1.104的数据包列表

   ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表

        wireshark中 ip 过滤 的指令是:

        ip.host         ip.src_host         ip.dst_host 


  tcp.port ==80,  显示源主机或者目的主机端口为80的数据包列表。

  tcp.srcport == 80,  只显示TCP协议的源主机端口为80的数据包列表。

  tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。

        wireshark中 端口 过滤 的指令是:

        tcp.port==80         tcp.srcport==80         tcp.dstport==80

        比较操作符有    == 等于    != 不等于    > 大于    < 小于    >= 大于等于    <=小于等于

        逻辑运算符    && 与    || 或    !非 


Wireshark分析常用操作

        调整数据包列表中时间戳显示格式。调整方法为View -->Time Display Format --> Date and Time of Day。调整后格式如下:

Wireshark抓包学习笔记_第11张图片

Wireshark抓包学习笔记_第12张图片


TCP 三次握手异常情况分析

实验一:TCP 第一次握手 SYN 丢包

实验二:TCP 第二次握手 SYN、ACK 丢包

实验三:TCP 第三次握手 ACK 丢包


抓包文件属性 capture file properies

        打开方式: statistics --> capture file properies    或者    快捷键:ctrl + alt + shift + c

Wireshark抓包学习笔记_第13张图片


 Wireshark中的专家模式

         进入专家模式的路径:Analyze-->Expert Info Composite    或者    状态栏左下角的圆圈〇 

        Wireshark的专家模式对话框中的信息是由解析器(原始数据与Wireshark软件之间的翻译器)提供的,解析器的作用是对Wireshark中的所有协议进行转换,得到使用这个协议的数据包中的一些特定状态的警告,这些状态可以分为四类:

  1.  Chat: 关于正常通信的基本信息
  2.  Note: 正常通信时的异常数据包
  3.  Warning: 非正常通信中的异常数据包(非正常通讯产生的数据包
  4.  Error:数据包中的错误,或者解析器解析时的错误

Wireshark抓包学习笔记_第14张图片

        解析器将各个警告状态进行了分类,都标志出对应的严重程度和警告信息概要,能够帮助理解警告状态,对其进行分析处理。

        不同的警告状态类下具体的标识出了对应位置、警告概要、组和协议层。

Wireshark抓包学习笔记_第15张图片


端点统计 endpoints

        打开方式:statistics --> endpoints

Wireshark抓包学习笔记_第16张图片

        根据端点,进行筛选 ==> map可以通过在地图上把这些地址给标出来,观察哪些地点的请求较多。


I/O图 I/O Graph

        打开方式:statistics --> I/O Graph

Wireshark抓包学习笔记_第17张图片

数据流图 Flow Graph

        打开方式:statistics->Flow Graph

Wireshark抓包学习笔记_第18张图片

        当用户面对大量连续断开、大量数据帧丢失,I/O Graph 和 Flow Graph 可以帮助排错。


TCP数据流量图

        打开方式:statistics->TCP Stream Graphs->Round Trip Time

  1. 在数据包列表中选择一个TCP数据包
  2. 选择工具栏->statistics->TCP Stream Graphs->Round

Round Trip Time 往返时间图

Wireshark抓包学习笔记_第19张图片

Throughput graph 吞吐量

Wireshark抓包学习笔记_第20张图片

tcptrace 时序图

Wireshark抓包学习笔记_第21张图片

        以上的端点统计 endpoints、I/O图 I/O Graph、数据流图 Flow Graph、TCP数据流量图内容学习来自:wireshark的统计功能


 

 

你可能感兴趣的:(Wireshark抓包学习笔记)