1、网卡选择
wireshark是捕获一块网卡中的网络包,如果机器存在多个网卡,需要选择被测的网卡,选择方法:Capture-Interfaces 中选择
勾选完被测网卡后,点击start即可开始抓包。
2、窗口介绍:
wireshark的界面主要如下:
Display Filter(显示过滤器):用于过滤;
Packet List Pane(封包列表):显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同,如绿色TCP报文,深蓝色DNS,浅蓝色UDP,黑色有问题的TCP报文-如乱序报文;
Packet Details Pane(封包详细信息):显示封包中的字段;
Dissector Pane(16进制数据);
Miscellanous(地址栏,杂项)
3、wireshart显示过滤
这部分是初学的时候最应该理解和掌握的,因为如果不用过滤显示的话,那么抓取的包会很多,我们很难在众多的数据包中得到我们想要的东西,
过滤器有两种,
一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在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、封包详细信息:
这个面板是我们最重要的,用来查看协议中的每一个字段。
各行信息分别为
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
6、wireshart与对应的OSI七层模型:
7、TCP包中的具体内容:
8、实例分析TCP三次握手过程
三次握手过程为: