图片 44

Wireshark基本介绍和学习TCP三次握手,wireshark怎么抓包

相信大多数朋友都是会使用WPE的,因为这里也有不少好的教程,大家都辛苦了!
先说说接触WPE的情况。当时好像是2011年,我本来不知道WPE对游戏竟有如此大的辅助作用的。起先找WPE软件的时候,只是因为我找网络抓包工具,相信大家都听说过大名鼎鼎的Sniffer。偶然之间,我发现了WPE,当时对WPE了解甚少,也不会使用,但并没急着找教程,因为对于软件,一般很容易上手的我,会自己先试用一下。大多软件都很容易上手的,WPE倒是花了很大的工夫,根据对抓包和发包的理解,一开始摸索出了一点点门道来。
后来慢慢的熟悉WPE了,但是没有像各位大神那样经过系统学习,可能只算小偏方,或者只是旁门左道吧。
————————————————————————————————————————————————
<上面的话可以不看啊,哈哈哈>

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

Wireshark基本介绍和学习TCP三次握手

这篇文章介绍一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。

记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包,
老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。

对我而言, wireshark
是学习网络协议最好的工具。

阅读目录

  1. wireshark介绍
  2. wireshark不能做的
  3. wireshark VS Fiddler
  4. 同类的其他工具
  5. 什么人会用到wireshark
  6. wireshark 开始抓包
  7. wireshark 窗口介绍
  8. wireshark 显示过滤
  9. 保存过滤
  10. 过滤表达式
  11. 封包列表(Packet List Pane)
  12. 封包详细信息 (Packet Details Pane)
  13. wireshark与对应的OSI七层模型
  14. TCP包的具体内容
  15. 实例分析TCP三次握手过程 

下面开始简易教程!
以页游为例:

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS
还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.

wireshark介绍

wireshark的官方下载网站:

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。

使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

登录游戏,打开WPE肯定是作为准备工作的,大家用的中文版也是一样的,实在不清楚对照按键的位置即可【下图】

图片 1

Wireshark不能做的

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

图片 2

Wireshark(网络嗅探抓包工具) v1.4.9
中文版(包含中文手册+主界面的操作菜单) 评分:

Wireshark VS Fiddler

Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容

总结,如果是处理HTTP,HTTPS 还是用Fiddler, 
其他协议比如TCP,UDP 就用wireshark

 

3.0

同类的其他工具

微软的network monitor

sniffer 

 

类别: 远程监控    大小:22M    语言: 中文 
查看详细信息 >>

什么人会用到wireshark

  1. 网络管理员会使用wireshark来检查网络问题

  2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件

  3. 从事socket编程的工程师会用wireshark来调试

  4. 听说,华为,中兴的大部分工程师都会用到wireshark。

总之跟网络相关的东西,都可能会用到wireshark.

下面开始行动:
点击View(查看)——Option(选项)【下图】

 

wireshark 开始抓包

开始界面

图片 3

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

点击Caputre->Interfaces..
出现下面对话框,选择正确的网卡。然后点击”Start”按钮, 开始抓包

图片 4

 

Wireshark 窗口介绍

图片 5

WireShark 主要分为这几个界面

  1. Display Filter(显示过滤器),  用于过滤

  2. Packet List Pane(封包列表), 显示捕获到的封包,
    有源地址和目标地址,端口号。 颜色不同,代表

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

  4. Dissector Pane(16进制数据)

  5. Miscellanous(地址栏,杂项)

图片 6

wireshark 开始抓包

Wireshark 显示过滤

图片 7

使用过滤是非常重要的,
初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种,

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

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

将除了Send(发送)以外的其余3个选项全部取消选择,并确定【下图】(小诀窍:此处我只想要截取发送的封包,其他对我来说只会碍眼,也影响之后的操作,所以只留Send)

开始界面

保存过滤

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

图片 8

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

图片 9

 

图片 10

过滤表达式的规则

表达式规则

 1. 协议过滤

比如TCP,只显示TCP协议。

  1. IP 过滤

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

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

  1. 端口过滤

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

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

  1. Http模式过滤

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

  1. 逻辑运算符为 AND/ OR

常用的过滤表达式

过滤表达式 用途
http 只查看HTTP协议的记录
ip.src ==192.168.1.102 or ip.dst==192.168.1.102  源地址或者目标地址是192.168.1.102
   
   

图片 11

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

封包列表(Packet List Pane)

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。
你可以看到不同的协议用了不同的颜色显示。

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

图片 12

点击Target program(目标程序),选择所玩游戏的进程(此处玩傲剑用的是单进程版的Opera浏览器,故很容易就选择了,再Open(打开)【下图】,注意:现在世面上有很多浏览器是多进程的,这个就需要大家用耐心去一一测试了,或者巧合之下第一次就选中了

点击Caputre->Interfaces..
出现下面对话框,选择正确的网卡。然后点击”Start”按钮, 开始抓包

封包详细信息 (Packet Details Pane)

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

各行信息分别为

Frame:  物理层的数据帧概况

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

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

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

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

 

 

图片 13

wireshark与对应的OSI七层模型

图片 14

图片 15

Wireshark 窗口介绍

TCP包的具体内容

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

图片 16

接着点击Send(发送)界面,如下图,接着按图中黑色按钮就可以抓包了【下图】

图片 17

实例分析TCP三次握手过程

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

 三次握手过程为

图片 18

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入

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

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

图片 19

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

第一次握手数据包

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

图片 20

第二次握手的数据包

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

图片 21

第三次握手的数据包

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

图片 22

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

Ubuntu 13.10 安装 Wireshark 

网络抓包工具Wireshark的简单使用

Ubuntu 12.04 下安装Wireshark

Linux中从普通用户启动Wireshark抓包

Linux下安装和运行Wireshark

Wireshark 的详细介绍:请点这里
Wireshark 的下载地址:请点这里

本文永久更新链接地址:

这篇文章介绍一个好用的抓包工具wireshark,用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。
记…

 

WireShark 主要分为这几个界面

图片 23

  1. Display Filter(显示过滤器),  用于过滤

  2. Packet List Pane(封包列表), 显示捕获到的封包,
    有源地址和目标地址,端口号。 颜色不同,代表

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

  4. Dissector Pane(16进制数据)

  5. Miscellanous(地址栏,杂项)

点击黑色按钮开始记录后,将鼠标转移到游戏,在游戏界面按了一下X键(傲剑的打坐快捷键,至于为何选择这个按键,也是经过多次使用的一点小心得,使用X键,点击一下就能看到人物打坐,或者站起身,特别直观)马上按红色按钮停止,看吧,只抓到一个包,太棒了!【下图】不用麻烦找包了(这也是为什么在设置的时候只留下Send的原因了)

 

 

图片 24

图片 25

使用过滤是非常重要的,
初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

 

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

 

过滤器有两种,

选中刚才抓到的打坐(X)的包,按鼠标右键,选择Set
Send List with this socket
id(设置用这个封包ID到追踪器)后,并无直观表象【下图】

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

图片 26

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

 

保存过滤

下面以昨天的封包为例来使用一下WPE
点击导入以下封包,选中一个,再点击打开【下图】

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

 

图片 27

图片 28

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

导入后选中3个小勾,接着就可以按黑色按钮进行Send
Settings(发送设置)了,因为是3条,实际就是3个包,所以设置3Time(s),就是3次,Time(定时):100ms(100毫秒),设置完后按右侧黑色按钮发送封包即可【下图】

图片 29

图片 30

过滤表达式的规则

 

表达式规则

可以看到从【襄阳城】传送到了【圆月山庄第三层】【下图】

 1. 协议过滤

 

比如TCP,只显示TCP协议。

 

  1. IP 过滤

好了,基本上就完工了,每次登录游戏都要进行此般操作,或许也有智能工具可以帮助大家更容易的操作封包,在此就不讨论了。当然有兴趣的吧友可能还要自己制作封包,那么我们以上面打坐封包为例吧【下图】

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

 

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

图片 31

  1. 端口过滤

为了不受怪物的影响,首先回到【襄阳城】
好,在此包上点击鼠标右键,再点击Add to Send List(添加到追踪器)【下图】

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

 

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

图片 32

  1. Http模式过滤

我们选中这个封包,双击还可以更改名字哦,最后Ok(确定)【下图】

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

 

  1. 逻辑运算符为 AND/ OR

图片 33

常用的过滤表达式

修改名字之后,按黑色按钮进行Send
Settings(发送设置),本来是3次,这里改1次,Time(定时):100ms(100毫秒),设置完后按右侧黑色按钮发送封包【下图】

过滤表达式 用途
http 只查看HTTP协议的记录
ip.src ==192.168.1.102 or ip.dst==192.168.1.102  源地址或者目标地址是192.168.1.102
   
   

图片 34

封包列表(Packet List Pane)

 

封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。
你可以看到不同的协议用了不同的颜色显示。

这里已经完成了哦

你也可以修改这些显示颜色的规则,  View ->Coloring Rules.

不过为了让效果更明显,刷新了一下网页,并重新找了开启封包ID,让我们将1次改成Continuously(连续地)(这也是其他连续性封包的设置,比如吃经验),再按黑色按钮开启【下图】

图片 35

图片 36

封包详细信息 (Packet Details Pane)

 

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

【细心的朋友应该看到了开启封包ID的变化,因为刷新了网页,就需要重新寻找一下ID】

各行信息分别为

呵呵,看看,此过程连续不断地进行,直到我们点击停止为止【下图】

Frame:   物理层的数据帧概况

 

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

 

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

现在到保存封包文件了,点击它就可以保存了【下图】

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

 

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

图片 37

图片 38

假如有不对的地方可以指出,请大家多多指教!

TCP包的具体内容

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

图片 39

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

 三次握手过程为

图片 40

这图我都看过很多遍了, 这次我们用wireshark实际分析下三次握手的过程。

打开wireshark, 打开浏览器输入 

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

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

图片 41

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

第一次握手数据包

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

图片 42

第二次握手的数据包

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

图片 43

第三次握手的数据包

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

图片 44

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