Wireshark抓包使用

学习视频:https://www.bilibili.com/video/BV1Kr4y1k7S8/?p=33&vd_source=ba19aa8fc2195a583f80ad6924aa176c

一、Wireshark抓包使用

1、打开看波浪连续的点进入(这个是选择网卡的过程)

当你的机器上有多块网卡的时候,你需要选择一个网卡。点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包

 

2、输入请求命令,点击绿色

http.request.method=="POST"  (前端界面接口抓包或者app接口抓包)

 

二、Wireshark 窗口介绍

 

 1:显示过滤器( Display Filter)  2:封包列表(Packet List Pane) 3:封包详细信息(Packet Details Pane)

4、十六进制数据  5:地址栏

 

三、Wireshark 窗口介绍详细信息

1、过滤器过滤方式

 

过滤器有两种:

 

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

 

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

在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 102",

Filter栏上就多了个"Filter 102" 的按钮。

 

1. 协议过滤

比如TCP(udp),只显示TCP协议。

2. IP 过滤

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

 

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

ip.addr==192.168.1.102   IP 过滤

3. tcp端口过滤

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

 

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

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

4. Http模式过滤

http.request.method=="GET", 只显示HTTP GET方法的。(linux下curl www.baidu.com)

 


http.request.method=="POST" 只显示HTTP POST方法

(配合linux命令抓包:curl --data "mobilephone=15577972158&pwd=123456"  http://oldapi.lemonban.com/futureloan/mvc/api/member/login或者网页访问地址)

 

5. 逻辑运算符为 AND/ OR

ip.src==192.168.3.101 and  http.request.method=="POST"

 ip.src==192.168.3.101 and  tcp.port==80 and http(linux下操作命令:wget  110.242.68.3:80)

 

 

2、Packet List Pane(封包列表)

显示捕获到的封包, 显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。你也可以修改这些显示颜色的规则,  View ->Coloring Rules.颜色规则详细:?

 

3、Packet Details Pane(封包详细信息), 显示封包中的字段

  1)Frame:   物理层的数据帧概况

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

 

 

  ip.src==192.168.3.101 and  tcp.port==80 and http( wget  110.242.68.3:80 )

 

cat /proc/net/arp 查看连接到本机的远端ip的mac地址

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

1、IP协议格式

 

 

 

 

 

 

 20个字节

 

 4)user Datagram protocol(UDp协议传输层)

udp协议格式:  造数据,:https://jingyan.baidu.com/article/a681b0de52b7d43b1843468b.html 

 

 

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

tcp协议格式:

 

 

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

 

TCP包的具体内容

 从下图可以看到wireshark捕获到的TCP包中的每个字段

 

4. Dissector Pane(16进制数据)

三次握手

看到这, 基本上对wireshak有了初步了解, 现在我们看一个TCP三次握手的实例

 1)三次握手过程为

 

 

 

SYN->SYN+ACK->ACK

1、第一次握手:客户端给服务器发送一个 SYN (syn=1,seq=0)报文。

2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK (ack=seq+1=0+1=1)报文。

3、第三次握手:客户端收到 SYN+ACK 报文之后,会回应一个 ACK( ACK=1,seq=1) 报文。

4、服务器收到 ACK 报文之后,三次握手建立完成。

2)windows下抓取三次握手报文:

打开WireShark:过滤条件http,访问网页输入:http://www.xitongcheng.com/jiaocheng/xtazjc_article_32713.html,抓包完毕,找get请求:GET /jiaocheng 找到目录地址,就是访问服务器的地址为39.91.182.41 。

抓取tcp三次握手:将IP的源地址和目标地址,都设置为HTTP服务器的IP:ip.dst==39.91.182.41 or ip.src==39.91.182.41

 3) liunx下安装WireShark抓取的三次握手  ,ftp之前实现的tcp三次握手:(本机连接linux的过程)  

 

 

4) window下WireShark 查看linux 下抓包的报文,需要在linxu打包.cap,.导入分析

1、linux 下 tcpdump -i ens33   port 80 -w a.cap(wget 110.242.68.4:80) 抓取包,windos下WireShark 查看linux 下抓包的报文

 

 

 

 

5)三次挥手作用是为了确认双方的接收与发送能力是否正常。 抓取报文如下:

打开wireshark, 打开浏览器输入 http://www.cr173.com(参考抓包详解:https://www.elecfans.com/tongxin/202305102078165.html)

在wireshark中输入http过滤, 然后选中GET /tankxiao HTTP/1.1的那条记录,右键然后点击"Follow TCP Stream",

这样做的目的是为了得到与浏览器打开网站相关的数据包,将得到如下图

图中可以看到wireshark截获到了三次握手的三个数据包。第四个包才是HTTP的, 这说明HTTP的确是使用TCP建立连接的。

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

 就这样通过了TCP三次握手,建立了连接

 

四次挥手

 

 

 

 

4次挥手过程:别名连接终止协议

1、第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号(FIN=1,seq=0 )。此时客户端处于FIN_WAIT1(终止等待)状态。

2、第二次握手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 + 1 作为 ACK 报文的序列号值(ack=seq+1=1,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT(关闭状态)状态。

3、第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文(fin=1,ack=seq+1=1,seq=0,且指定一个序列号。此时服务端处于 LAST_ACK(最后确认) 的状态。

4、第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 + 1 作为自己 ACK 报文的序列号值(ack=1,seq=1,此时客户端处于 TIME_WAIT(等待2s) 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态

5、服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。

 应用程序关闭,然后启动,不能马上启动起来,原因端口没有马上释放?

 

 5. Miscellanous(地址栏,杂项)

 

posted @ 2020-11-26 11:29  syy714363310  阅读(174)  评论(0编辑  收藏  举报