1、网卡选择

wireshark是捕获一块网卡中的网络包,如果机器存在多个网卡,需要选择被测的网卡,选择方法:Capture-Interfaces 中选择

wireshark 以mysql显示 wireshark使用_封包

勾选完被测网卡后,点击start即可开始抓包。

2、窗口介绍:

wireshark 以mysql显示 wireshark使用_字段_02

wireshark的界面主要如下:

Display Filter(显示过滤器):用于过滤;

Packet List Pane(封包列表):显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同,如绿色TCP报文,深蓝色DNS,浅蓝色UDP,黑色有问题的TCP报文-如乱序报文;

Packet Details Pane(封包详细信息):显示封包中的字段;

Dissector Pane(16进制数据);

Miscellanous(地址栏,杂项)

3、wireshart显示过滤

wireshark 以mysql显示 wireshark使用_字段_03

这部分是初学的时候最应该理解和掌握的,因为如果不用过滤显示的话,那么抓取的包会很多,我们很难在众多的数据包中得到我们想要的东西,

过滤器有两种,

一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录

一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置

4、过滤表达式的规则:

1) 协议过滤

比如TCP,只显示TCP协议。

只抓取HTTP报文:tcp port 80

只抓取tcp 协议中80端口的包,大部eb网站都是工作在80端口的,如果碰到了81端口呢?可以使用逻辑运算符or呗!如 tcp port 80 or tcp port 81

2)IP 过滤

比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,

ip.dst==192.168.1.102, 目标地址为192.168.1.102

3) 端口过滤

tcp.port ==80,  端口为80的

tcp.srcport == 80,  只显示TCP协议的愿端口为80的。

4)Http模式过滤

http.request.method=="GET",   只显示HTTP GET方法的。

5) 逻辑运算符为 AND/ OR

6)只抓取arp报文:ether proto 0x0806

解析:ether表示以太网头部,proto表示以太网头部proto字段值为0x0806,这个字段的值表示是ARP报文,如果的ip报文此值为0x8000

7)只抓取与某主机的通信:host www.XXXX.com

5、封包详细信息:

这个面板是我们最重要的,用来查看协议中的每一个字段。

wireshark 以mysql显示 wireshark使用_封包_04

各行信息分别为

Frame:   物理层的数据帧概况

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

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

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

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

6、wireshart与对应的OSI七层模型:

wireshark 以mysql显示 wireshark使用_TCP_05

7、TCP包中的具体内容:

wireshark 以mysql显示 wireshark使用_封包_06

8、实例分析TCP三次握手过程

三次握手过程为:

wireshark 以mysql显示 wireshark使用_字段_07