wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP,UDP,等网络协议包。注:wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

一、开始界面
  开始界面,如图所示:

点击Caputre->Interfaces,出现图2所示对话框,选择需要捕获网络包的网卡,点击start按钮开始抓包。
注:如果点击interfaces时弹出提示如下:“There are no interfaces on which a capture can be done.” ->解决方法:用管理员身份运行即可。

二、窗口界面介绍
  如图所示,是抓包后的窗口界面及自己所添加的界面描述:

1、Filter(过滤规则介绍)
  使用过滤是非常重要的,在捕获的数据中会有大量的冗余信息,所以过滤功能会帮我们过滤掉不符合条件的包,提高我们的分析效率。

过滤器有两种:
1)显示过滤器,就是图中的Filter,用来过滤在捕获的记录中找到所需要的记录,过滤后,可以点击save按钮,然后在filter栏上就多了个刚刚保存的数据按钮;
比如:

    tcp->只显示TCP协议的记录;
    http->只看HTTP协议的记录;
    ip.src ==192.168.1.102 ->显示源地址为192.168.1.102的记录;
    ip.dst==192.168.1.102 ->目标地址为192.168.1.10的记录;
    ip.addr == 42.121.252.58 ->只显示与某主机的通信;
    tcp.port ==80->端口为80的;
    tcp.srcport == 80 ->只显示TCP协议的源端口为80的;
    http.request.method==”GET” ->只显示HTTP GET方法的;
    eth.type == 0x806->只显示ARP报文,这个字段的值表示是ARP报文,如果是ip报文此值为0x8000

注:Type后面的值记不住的话,可以在Expression中选择,如图所示:
 
2)捕获过滤器(Capture -> Capture Filters),用来过滤捕获的封包,以免捕获太多的记录。

2、封包列表(Packet List Pane)
  封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在View ->Coloring Rules中修改显示颜色的规则。

3、封包详细信息(Packet Details Pane)
  这是最重要的信息,用来查看协议中的每一个字段。而OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

在封包信息中,每行对应的含义及在OSI模型中的对应关系如下:

  Frame: 物理层的数据帧概况 ->对应OSI七层模型中的【物理层】
  Ethernet II: 数据链路层以太网帧头部信息 ->对应OSI七层模型中的【数据链路层】
  Internet Protocol Version 4: 互联网层IP包头部信息 ->对应OSI七层模型中的【网络层】
  Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP ->对应OSI七层模型中的【传输层】
  Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议 ->对应OSI七层模型中的【应用层】

每层的封包详细含义如下:
下面的封包数据解析来源于博客:https://my.oschina.net/u/1585857/blog/479306

(1)物理层的数据帧概况

Frame 5: 268 bytes on wire (2144 bits), 268 bytes captured (2144 bits) on interface 0 #5号帧,线路268字节,实际捕获268字节
Interface id: 0 #接口id
Encapsulation type: Ethernet (1) #封装类型
Arrival Time: Jun 11, 2015 05:12:18.469086000 中国标准时间 #捕获日期和时间
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1402449138.469086000 seconds
[Time delta from previous captured frame: 0.025257000 seconds] #此包与前一包的时间间隔
[Time since reference or first frame: 0.537138000 seconds] #此包与第一帧的时间间隔
Frame Number: 5 #帧序号
Frame Length: 268 bytes (2144 bits) #帧长度
Capture Length: 268 bytes (2144 bits) #捕获长度
[Frame is marked: False] #此帧是否做了标记:否
[Frame is ignored: False] #此帧是否被忽略:否
[Protocols in frame: eth:ip:tcp:http] #帧内封装的协议层次结构
[Number of per-protocol-data: 2] #
[Hypertext Transfer Protocol, key 0]
[Transmission Control Protocol, key 0]
[Coloring Rule Name: HTTP] #着色标记的协议名称
[Coloring Rule String: http || tcp.port == 80] #着色规则显示的字符串

(2)数据链路层以太网帧头部信息

Ethernet II, Src: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89), Dst: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0)
Destination: Tp-LinkT_f9:3c:c0 (6c:e8:73:f9:3c:c0) #目标MAC地址
Source: Giga-Byt_c8:4c:89 (1c:6f:65:c8:4c:89) #源MAC地址
Type: IP (0x0800)

(3)互联网层IP包头部信息

Internet Protocol Version 4, Src: 192.168.0.104 (192.168.0.104), Dst: 61.182.140.146 (61.182.140.146)
Version: 4 #互联网协议IPv4
Header length: 20 bytes #IP包头部长度
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport)) #差分服务字段
Total Length: 254 #IP包的总长度
Identification: 0x5bb5 (23477) #标志字段
Flags: 0x02 (Don’t Fragment) #标记字段
Fragment offset: 0 #分的偏移量
Time to live: 64 #生存期TTL
Protocol: TCP (6) #此包内封装的上层协议为TCP
Header checksum: 0x52ec [validation disabled] #头部数据的校验和
Source: 192.168.0.104 (192.168.0.104) #源IP地址
Destination: 61.182.140.146 (61.182.140.146) #目标IP地址

(4)传输层TCP数据段头部信息

Transmission Control Protocol, Src Port: 51833 (51833), Dst Port: http (80), Seq: 1, Ack: 1, Len: 214
Source port: 51833 (51833) #源端口号
Destination port: http (80) #目标端口号
Sequence number: 1 (relative sequence number) #序列号(相对序列号)
[Next sequence number: 215 (relative sequence number)] #下一个序列号
Acknowledgment number: 1 (relative ack number) #确认序列号
Header length: 20 bytes #头部长度
Flags: 0x018 (PSH, ACK) #TCP标记字段
Window size value: 64800 #流量控制的窗口大小
Checksum: 0x677e [validation disabled] #TCP数据段的校验和

结合抓包数据分析TCP三次握手过程
1、首先要清楚TCP三次握手过程,如图所示:

百度百科解释TCP三次握手过程如下:
  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN SENT状态,等待服务器确认;SYN:即是同步序列编号(Synchronize Sequence Numbers);
  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN RECV状态;
  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
  
2、要清楚TCP包中的具体内容如图6所示:(TCP包的具体内容图来源于博客:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html)
  
3、下面用实例讲下wireshark中的tcp三次握手过程:

1)打开wireshark后,在浏览器输入访问地址:http://www.cnblogs.com/Chilam007/,wireshark自动捕获数据包,然后过滤自己需要分析的数据,这里是过滤与主机通信的记录,过滤规则为:ip.addr == 116.211.169.93 ,过滤后的数据如图所示

574帧是客户端向服务器发送TCP请求建立连接。标识为SYN。
619帧是服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK。
620帧是客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK。
663帧是客户端向服务器发送HTTP请求内容的过程。标识为GET。
667帧是服务器响应客户端请求的过程,收到请求。标识为ACK。
674帧是服务器向客户端回应内容的过程。

2)TCP三次握手分析:
第一次握手数据包,客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接,如图所示
 
第二次握手的数据包,服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1,如图所示
 
第三次握手的数据包,客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如图所示
  
以上就是 wireshark中的tcp三次握手过程。

【抓包工具】Wireshark(详细介绍与TCP三次握手数据分析)相关推荐

  1. 抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)

    功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...

  2. 抓包工具Wireshark基本介绍和学习TCP三次握手

    原文链接:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html#threehand,肖佳 之前写过一篇博客:用 Fiddler ...

  3. Wireshark抓包介绍和TCP三次握手分析

    wireshark介绍 wireshark的官方下载网站: http://www.wireshark.org/ wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示 ...

  4. 网络抓包工具 Wireshark 和 tcpdump(三)

    今天我们分享网络抓包工具 Wireshark 和 tcpdump 一.WireShark工具  1.为什么要抓包 1).定位网络问题: 2).分析接口数据: 3).学习网络协议,使用抓包工具分析网络数 ...

  5. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

  6. 抓包工具wireshark和Fiddler的使用

    抓包工具wireshark的设置 数据包的查看方法,使用Fiddler工具 最后找到你对应的请求,查看 

  7. Linux系统安装网络抓包工具wireshark

    既然要安装抓包工具wireshark,那么我们首先必须得了解下它是什么,干什么的? 我只是知识的搬用工:http://baike.baidu.com/link?url=1bxmqMKKN_IItxSc ...

  8. 最强电脑抓包工具Wireshark中文版下载 | 经典电脑抓包软件

    Wireshark中文版是迄今为止最优秀也是世界上最重要和广泛使用的网络协议分析软件,就是大家常说的电脑抓包软件,可以从互联网.IEEE 802.11.PPP/HDLC.ATM.蓝牙.USB.令牌环. ...

  9. 网络抓包工具Wireshark与tcpdump介绍

    文章目录 1.网络协议介绍 2.Wireshark工具介绍 2.1 Wireshark的使用 3.tcpdump工具介绍 3.1 tcpdump的使用 3.2 tcpdump的源码与编译 1.网络协议 ...

最新文章

  1. 情人节学写html5微信游戏
  2. 配置Tomcat和在Eclipse中创建Web工程
  3. 进程的同步、互斥以及PV原语
  4. android gridview不显示 自定义,Android gridview和自定义标题
  5. 用户手撕锤子产品总监引10万人围观,竟还拿到了Offer
  6. springboot的yml配置文件绑定时必须和相应的类中的属性类型对应,不然启动报错
  7. Python《使用selenium解决动态加载的问题》
  8. flutter 输入框限制输入 数字、小数
  9. Smart3D软件基本操作步骤
  10. devExpress各个版本的下载地址收藏
  11. Glide遇到重定向url产生的bug分析以及解决
  12. android脚本实现自动捉妖,一起来捉妖自动捉妖
  13. 删除薛定谔安装文件夹后导致无法卸载或重新安装解决方案(附正常卸载方法)
  14. 云服务平台有哪些?云算力网络哪家强?
  15. python应该安装在哪个盘_python要安装在哪个盘
  16. 拒绝传统电销无序性,智能外呼系统规范电销全流程
  17. Labview数据存储与读取——TDMS文件的创建与写入
  18. 2022材料员-通用基础(材料员)考试题及模拟考试
  19. 很漂亮的蓝色经典CSS导航菜单代码
  20. 利用BCB自己打造QQ炸弹

热门文章

  1. std::remove
  2. 我使用过的Linux命令之curl - 强大的网络传输工具
  3. 【发现】iframe 放入 Updatepanel 中没有作用,整页总要闪烁一次的解决办法
  4. android StringBuilder的Capacity的使用
  5. CSS:你真的会用 z-index 吗?
  6. Python 模块之heapq
  7. MySQL 用户创建及设置
  8. (一)使用pycharm创建django项目
  9. (转)python3 计算字符串、文件md5值
  10. SimpleDateFormat非线程安全