Wireshark模块介绍
一.窗口简介
二.过滤器使用
1.捕获过滤器
概念:当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包或被捕获。
如何打开捕获过滤器:
(1)打开Wireshark时
(2)使用Wireshark过程中,点击设置按钮,也可打开捕获过滤器界面。
操作实例一:
捕获过滤器中输入表达式 host www.163.com and port 80(80 等效于http)
点击start按钮开始
浏览器访问www.163.com
Wireshark进行抓包,显示如下:
2.显示过滤器
概念:该过滤器根据指定的表达式用于在一个已捕获的数据包集合中,隐藏不想显示的数据包,或者只显示那些需要的数据包。
操作实例一:
捕获过滤器中筛选了满足 host www.163.com and port 80 表达式的数据包。
在显示过滤器中输入表达式 tcp.stream eq 0 筛选出第一个TCP流(包含完整的一次TCP连接:三次握手和四次握手)
三次握手抓包
TCP三次握手
什么是三次握手(Three-way Handshake)
三次握手,是指建立一个TCP连接时,需要客户端和服务器总共发三个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP窗口大小信息。
第一次握手:客户端发送syn包(syn=x)的数据包到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。
Wireshark三次握手过程:
(1)第一次握手数据包
客户端发送一个TCP,标志位为SYN(syn=0),序列号为0,代表客户端请求建立连接。
(2)第二次握手数据包
服务器收到SYN包后,确认客户端的SYN,ack=x+1,同时向客户端发送自己的SYN(syn=y)包,即最后会向客户端发送SYN+ACK包。
(3)第三次握手数据包
客户端收到SYN+ACK包后,向服务器发送确认包ACK(ack=y+1)。
三.封包
什么是封包
计算机只能识别二进制的数据,数据也是用二进制的方式存储在计算机中。要想实现多台计算机之间的通信,就要依赖一定的通信协议,如TCP/IP//HTTP等网络协议。为了区分每个协议,数据在传输过程中,会被用到的协议加上指定的格式。也可以理解为对数据的打包发送。例如:快递人员要把你购买的东西送到你家,就要先包装好,然后加上你的个人信息,最后送到你手中,整个过程称为封包。
Wireshark封包
点击Wireshark 按钮,开始抓包。
1.封包详细信息(Packet Details Pane)
显示封包中的字段
Frame(帧):物理层的数据帧概况(对应OSI七层模型中的物理层)。Frame 494指的是要发送的数据块,494为所抓帧的序号,捕获字节数等于传送字节数:62 bytes。
Ethernet II(以太网):数据链路层以太网帧头部信息(对应OSI七层模型中的数据链路层)。源Mac地址:2a:31:66:39:90:27; 目标Mac地址:38:f9:d3:84:41:e4
Internet Protocal Version 4(IPV4协议,也称网际协议):互联网层IP包头部信息(对应OSI七层模型中的网络层)。源IP地址:203.119.129.47; 目标IP地址:192.168.43.91
Transmission Control Protocol(TCP协议):传输层的数据段头部信息(对应OSI七层模型中的传输层)。 源端口:443;目标端口:51610;序列号:143; ACP: 是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1:确认号有效; 长度为0。
Hypertext Transfer Protocol(HTTP协议):应用层信息(对应OSI七层模型中的应用层)。
[后续补充]
2.每层封包详细含义
物理层的数据帧概况
数据链路层以太网帧头部信息
互联网层IP包头部信息
传输层TCP数据段头部信息
TCP头格式
Wireshark过滤规则
使用过滤器
1.过滤IP
来源IP或者目标IP等于某个IP
ip.src eq 192.168.43.91 (来源)
ip.dst eq 192.168.43.91 (目标)
ip.addr eq 192.168.43.91 (来源、目标同时显示)
2.过滤端口
显示来源端口和目标端口同时满足条件
tcp.port eq 80
tcp.port == 80
tcp.port eq 80 or udp.port eq 80
显示目标端口满足条件
tcp.dstport == 80
显示来源端口满足条件
tcp.srcport == 80
过滤端口范围
tcp.port >=1 and tcp.port <= 80
协议过滤
比如TCP,只显示TCP协议。
IP 过滤
比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,
ip.dst==192.168.1.102, 目标地址为192.168.1.102
端口过滤
tcp.port ==80, 端口为80的
tcp.srcport == 80, 只显示TCP协议的愿端口为80的。
Http模式过滤
http.request.method=="GET", 只显示HTTP GET方法的。
逻辑运算符为 AND/ OR
。
网友评论