【我的Android进阶之旅】Wireshark的下载安装与使用教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy901213/article/details/82667822

以码为剑,面对疾风


如果你还没有安装wireshark的话,请点击这里

[wireshark百度网盘下载地址](https://pan.baidu.com/s/1pOwzv5WzmlSE_GK2vcKKqA)

打开Wireshark抓包工具开始抓包会看到如下展开内容:
这里我是对wlan进行抓包,192.168.2.112是我当前wifi的ip地址。

这里写图片描述

点击某个包,可以查看具体内容,差不多刚好对于五层协议:

  • Frame:物理层的数据帧概况。
  • Ethernet II:数据链路层以太网帧头部信息。
  • Internet Protocol Version 4:互联网层IP包头部信息。
  • Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议。
    User Datagram Protocol:UDP协议
  • Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。

一、各层分析:

将上诉Frame ,Ethernet || 等展开可看到具体传输信息:

1、物理层Frame

-Frame 5: 66 bytes on wire (528 bits), 66 bytes captured(捕获) (528 bits) on interface 0   //5号帧,对方发送66字节,实际收到66字节

-Interface id: 0 (\Device\NPF_{37239901-4A63-419C-9693-97957A8232CD})     //接口id为0 

-Encapsulation type: Ethernet (1)  //封装类型

-Arrival Time: Jul  5, 2017 15:14:31.865685000 //捕获日期和时间(中国标准时间)

-[Time shift for this packet: 0.000000000 seconds]
-Epoch Time: 1499238871.865685000 seconds
-[Time delta from previous captured frame: 0.006861000 seconds]  //与前一包时间间隔
-[Time delta from previous displayed frame: 0.006861000 seconds]
-[Time since reference or first frame: 0.613985000 seconds] //#此包与第一帧的时间间隔

-Frame Number: 5                      //帧序号
-Frame Length: 66 bytes (528 bits)    //帧长度
-Capture Length: 66 bytes (528 bits)  //捕获字节长度 
-[Frame is marked: False]             //是否做了标记
-[Frame is ignored: False]            //是否被忽略
-[Protocols in frame: eth:ethertype:ip:tcp] //帧内封装的协议层次结构
-[Coloring Rule Name: HTTP]  //着色标记的协议名称
-[Coloring Rule String: http || tcp.port == 80 || http2] //着色规则显示的字符串

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

2、数据链路层以太网帧头部信息:

-Ethernet II, Src: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62), Dst: IntelCor_09:65:a5 (58:fb:84:09:65:a5)

- Destination: IntelCor_09:65:a5 (58:fb:84:09:65:a5) //目的MAC地址   
- Source: Tp-LinkT_f5:3e:62 (c0:61:18:f5:3e:62) //源MAC地址(就是我电脑的MAC地址)
- Type: IPv4 (0x0800)   //0x0800表示使用IP协议

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述


3、互联网层IP包头部信息:

Internet Protocol Version 4, Src: 192.168.2.112, Dst: 116.211.185.142
    0100 .... = Version: 4                   //IPV4协议
    .... 0101 = Header Length: 20 bytes (5)  //包头长度

-Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)                               //差分服务字段
-Total Length: 52                      //IP包总长度
-Identification: 0x3849 (14409)        //标志字段
-Flags: 0x02 (Don't Fragment)          //标记字段
-Fragment offset: 0                    //分的偏移量
-Time to live: 128                     //生存期TTL
-Protocol: TCP (6)                     //此包内封装的上层协议为TCP
-Header checksum: 0xd100 [validation disabled] //头部数据的校验和
-[Header checksum status: Unverified] //头部数据校验状态
-Source: 192.168.2.112                //源IP地址
-Destination: 116.211.185.142         //目的IP地址
-[Source GeoIP: Unknown]              //基于地理位置的IP
-[Destination GeoIP: Unknown]

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

这里写图片描述

这里写图片描述


4、传输层TCP数据段头部信息:

这里写图片描述

这里写图片描述

Transmission Control Protocol, Src Port: 60606, Dst Port: 80, Seq: 0, Len: 0

-Source Port: 60606       //源端口号(ecbe)
-Destination Port: 80     //目的端口号(0050)
-[Stream index: 0]        
-[TCP Segment Len: 0]
-Sequence number: 0    (relative sequence number)  //序列号(相对序列号)(四个字节fd 3e dd a2)
-Acknowledgment number: 0   //确认号(四个字节00 00 00 00)
-Header Length: 32 bytes    //头部长度(0x80)
-Flags: 0x002 (SYN)         //TCP标记字段
-Window size value: 8192    //流量控制的窗口大小(20 00)
-[Calculated window size: 8192] 
-Checksum: 0x97ad [unverified]   //数据段的校验和(97 ad)
-[Checksum Status: Unverified]
-Urgent pointer: 0      //紧急指针(00 00)
-Options: (12 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), SACK permitted  //选项(可变长度)

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

UDP数据段首部:

这里写图片描述

这里写图片描述

User Datagram Protocol, Src Port: 7273, Dst Port: 15030
-Source Port: 7273               //源端口(1c 69)
-Destination Port: 15030         //目的端口(3a 6b)
-Length: 1410                    //长度(05 82)
-Checksum: 0xd729 [unverified]   //校验和(d7 29)
-[Checksum Status: Unverified]
-[Stream index: 6335]

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

怎么查看我们的有效负载data:

![这里写图片描述](https://img-blog.csdn.net/20180913114630199?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6eTkwMTIxMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

如上所示,我们的data 都是以16进制的ASCII码显示,需要按照以下方法来查看

这里写图片描述

右键单击我们的data,选择显示分组字符,就能看到我们熟悉的字符串格式包体内容了

二、Wireshark分析数据包:

1、在过滤器中添加过滤器获得访问百度时的相关信息:

Protocol(协议):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没有特别指明是什么协议,则默认使用所有支持的协议。

Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。
例如,”host 10.2.2.2”与”src or dst host 10.2.2.2”是一样的。
Host(s):
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用”host”关键字。
例如,”src 10.1.1.1”与”src host 10.1.1.1”相同。

Logical Operations(逻辑运算):
可能的值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
例如:
“not tcp port 3128 and tcp port 23”与”(not tcp port 3128) and tcp port 23”相同。
“not tcp port 3128 and tcp port 23”与”not (tcp port 3128 and tcp port 23)”不同。

格式为:

ip.addr == www.baidu.com

这里写图片描述

Wireshark的常见几种过滤方法

这里写图片描述
然后可以获得百度的IP地址等信息。

2、过滤出dns信息

在显示过滤框输入dns,过滤出所有dns信息:
这里写图片描述

在该界面220,234帧,是DNS将www.baidu.com解析为一个IP地址的数据包(被称为一个“A”记录)。238帧表示返回一个与主机名相关的IP地址的DNS响应包。如果客户端支持IPv4和IPv6,在该界面将会看到查找一个IPv6地址(被称为“AAAA”记录)。此时,DNS服务器将响应一个IPv6地址或混杂的信息。

说明:238帧是客户端请求百度,通过DNS服务器解析IP地址的过程。标识为“A”记录。


3、过滤出tcp包分析:

在显示过滤框输入:ip.dst==180.97.33.108 or ip.src==180.97.33.108

这里写图片描述

TCP通信流程大致如下:
客户端和服务器之间TCP三次握手(4941、4942、4943帧)—->客户端请求的GET主页面(4944帧)—>服务器收到请求(4945帧)—>发送响应包(4946帧)。

说明:

  • 客户端向服务器发送TCP请求建立连接。标识为SYN

  • 服务器得到请求后向客户端回应确认包的过程。标识为SYN,ACK

  • 客户端回应服务器发送确认包的过程,将于服务器建立连接。标识为ACK

  • 客户端向服务器发送HTTP请求内容的过程。标识为GET

  • 服务器相应客户端请求的过程,收到请求。标识为ACK

  • 4946帧帧是服务器向客户端回应内容的过程。


参考博客:https://my.oschina.net/u/1585857/blog/479306

Wireshark的常见几种过滤方法

猜你喜欢

转载自blog.csdn.net/wzy901213/article/details/82667822