文章目录

  • 一. Wireshark下载
  • 二. Wireshark抓取数据包
  • 1.抓取数据包
  • 2.常见的抓包过滤语句
  • 1. 过滤IP
  • 2.过滤端口
  • 3.过滤协议
  • 4.过滤MAC地址
  • 5.http模式过滤
  • 三.对数据包分析
  • 1. 物理层数据帧的分析
  • 2.数据链路层以太网帧头部信息
  • 3.网络层IP数据包头部信息
  • 4.传输层TCP数据段头部信息
  • 四. IP校验和计算


一. Wireshark下载

WireShark官网链接:https://www.wireshark.org/

在官网的下载页面选择相应的下载文件进行下载,然后安装。

wireshark 查看邮件内容 如何查看wireshark内容_wireshark 查看邮件内容



二. Wireshark抓取数据包

1.抓取数据包
  • 打开Wireshark界面如下图所示,点击WLAN即可进行抓包

wireshark 查看邮件内容 如何查看wireshark内容_IP_02

  • 抓取数据包结果如下图所示,在过滤器栏输入tcp会显示抓取的数据包中tcp类型的数据包

wireshark 查看邮件内容 如何查看wireshark内容_wireshark_03

2.常见的抓包过滤语句
1. 过滤IP

抓包操作

过滤语句

抓取源IP地址为 192.168.43.57的数据包

ip.src eq 192.168.43.57

抓取目的IP地址为 192.168.43.57的数据包

ip.dst eq 192.168.43.57

抓取IP地址为 192.168.43.57的数据包(包括源IP地址和目的IP地址)

ip.addr eq 192.168.43.57

2.过滤端口

抓包操作

过滤语句

抓取端口(包括目的端口和源端口)为80的tcp数据包

tcp.port eq 80

同上,含义一样

tcp.port == 80

抓取目的端口为80的tcp数据包

tcp.dstport == 80

抓取源端口为80的tcp数据包

tcp.srcport == 80

抓取端口为6666的udp数据包

udp.port eq 6666

过滤端口范围(抓取端口1到80之间的tcp数据包)

tcp.port >= 1 and tcp.port <= 80

3.过滤协议

抓包操作

过滤语句

抓取协议为tcp的数据包

tcp

抓取协议为udp的数据包

udp

抓取协议为arp的数据包

arp

抓取协议为icmp的数据包

icmp

抓取协议为http的数据包

http

抓取协议为smtp的数据包

smtp

抓取协议为ftp的数据包

ftp

抓取协议为dns的数据包

dns

抓取协议为msnms的数据包

msnms

抓取协议为ip的数据包

ip

抓取协议为ssl的数据包

ssl

抓取协议为oicq的数据包

oicq

抓取协议为bootp的数据包

bootp

抓取非tcp协议的数据包

!tcp

4.过滤MAC地址

抓包操作

过滤语句

过滤目的地址为A0:00:00:04:C5:84的

eth.dst == A0:00:00:04:C5:84

同上

eth.dst eq A0:00:00:04:C5:84

过滤源地址为A0:00:00:04:C5:84的

eth.src eq A0:00:00:04:C5:84

同上

eth.src == A0:00:00:04:C5:84

过滤源地址和目的地址都为A0:00:00:04:C5:84的

eth.addr eq A0:00:00:04:C5:84

5.http模式过滤

抓包操作

过滤语句

http请求方法为GET的数据包

http.request.method == “GET”

http请求方法为POST的数据包

http.request.method == “POST”

包含GET的http数据包

http contains “GET”

详细的抓包语句可以阅读下面这篇博主的文章,以上内容也是节选其中:

三.对数据包分析

以下内容以抓取的一个tcp数据包进行分析

wireshark 查看邮件内容 如何查看wireshark内容_网络_04

对此tcp数据包,①②③④是对Wireshark对数据包的分析内容;⑤是数据包的具体数据内容。

从上往下:

①是物理层

②是数据链路层

③网络层

④是传输层

1. 物理层数据帧的分析

wireshark 查看邮件内容 如何查看wireshark内容_wireshark 查看邮件内容_05

对此物理层数据帧从上往下进行分析结果如下:

■ Frame12:当前帧为第12号帧;

■ 54bytes on wire (432bites):对方发送数据大小为54字节(432比特);

■ 54bytes capatured (432bites) on interface:在接口处捕获54字节,即自己收到54字节。

■ Interface id:0:接口id为0。

■ Interface description:WLAN:我们开启抓包时的接口为WLAN(无线局域网)。

■ Encapsulation type: Ethernet (1):封装类型为以太网。

■ Arrival Time: Dec 22, 2021 19:48:42.483869000 中国标准时间:到达时间。

■ [Time shift for this packet: 0.000000000 seconds]:此数据包的时移时间。

■ Epoch Time: 1640173722.483869000 seconds:此数据包的纪元时间。

■ [Time delta from previous captured frame: 0.004284000 seconds]:此包与前一帧的时间间隔。

■ [Time since reference or first frame: 3.271729000 seconds]:此包与第一帧的时间间隔。

■ Frame Number: 14:帧序号。

■ Frame Length: 54 bytes (432 bits):帧长度。

■ Capture Length: 54 bytes (432 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]:着色规则显示的字符串。

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

wireshark 查看邮件内容 如何查看wireshark内容_IP_06

对此数据链路层以太网帧头部信息从上往下进行分析结果如下:

■ Destination: NewH3CTe_38:b8:02 (a4:fa:76:38:b8:02):目的MAC地址(物理地址)。

■ Source: IntelCor_d3:9e:5b (58:a0:23:d3:9e:5b):源MAC地址(物理地址)。

■ Type: IPv4 (0x0800):使用IPv4协议。

3.网络层IP数据包头部信息

wireshark 查看邮件内容 如何查看wireshark内容_wireshark 查看邮件内容_07

对此网络层IP数据包头部信息从上往下进行分析结果如下:

■ Internet Protocol Version 4, Src: 10.133.198.50, Dst: 124.236.26.172:IPv4协议、源IP地址和目的IP地址。

■ 0100 … = Version: 4:IP协议版本为4。

■ … 0101 = Header Length: 20 bytes (5):包头长度为20字节。

■ Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT):差分服务字段。

■ Total Length: 40:IP包总长度为40字节。

■ Identification: 0x3efc (16124):标识字段。

■ Flags: 0x40, Don’t fragment:标记字段。

■ Fragment Offset: 0:分段偏移量。

■ Time to Live: 64:生存周期TTL。

■ Protocol: TCP (6):此包内封装的上层协议为TCP(6)。

■ Header Checksum: 0x0000 [validation disabled]:头部数据的校验和。

■ [Header checksum status: Unverified]:头部数据校验状态。

■ Source Address: 10.133.198.50:源IP地址。

■ Destination Address: 124.236.26.172:目的IP地址。

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

wireshark 查看邮件内容 如何查看wireshark内容_wireshark_08

对此传输层TCP数据段头部信息从上往下进行分析结果如下:

■ Source Port: 3489:源端口号。

■ Destination Port: 80:目的端口号。

■ [Stream index: 5]:流指数。

■ [TCP Segment Len: 0]:TCP段长度。

■ Sequence Number: 1 (relative sequence number):序列号(相对序列号)

■ Sequence Number (raw): 1709228051:原始序列号。

■ [Next Sequence Number: 2 (relative sequence number)]:下一个序列号。

■ Acknowledgment Number: 1 (relative ack number):确认号。

■ Acknowledgment number (raw): 444882447:原始确认号。

■ 0101 … = Header Length: 20 bytes (5):头部长度。

■ Flags: 0x011 (FIN, ACK):TCP标记字段。

■ Window: 514:流量控制的窗口大小。

■ [Calculated window size: 514]:计算窗口大小。

■ Checksum: 0x686a [unverified]:TCP数据段的校验和。

■ [Checksum Status: Unverified]:校验和状态为未验证。

■ Urgent Pointer: 0:紧急指针。

■ [Time since first frame in this TCP stream: 0.000000000 seconds]:此 TCP 流中自第一帧以来的时间。

■ [Time since previous frame in this TCP stream: 0.000000000 seconds]:此 TCP 流中自上一帧以来的时间。

四. IP校验和计算

点击IP数据报部分,得到的IP数据报的数据如下图蓝色部分所示:

wireshark 查看邮件内容 如何查看wireshark内容_tcp/ip_09

此IP数据报各数据段代表的含义:

■ 45 00:其中4代表IPv4,5代表首部长度,表明没有可变部分。

■ 00 28:表示IP包总长度。

■ 3e fc:标识字段。

■ 40 00:片段偏移量。

■ 40:生存周期TTL。

■ 06:协议号,包内封装的上层协议为TCP(6)。

■ 00 00:头部数据的校验和。

■ oa 85 c6 32:源IP地址。

■ 7c ec 1a ac:目的IP地址。

进行校验和的计算:

(1)校验和置0:00 00;

(2)相加(16位一组):45 00 + 00 28 + 3e fc + 40 00 + 40 06 + 00 00 + 0a 85 + c6 32 +7c ec + 1a ac = 26c9c;

(3)进位加到最后:26c9c有进位2,加到最后为:6c9c+2=6c9e;

(4)结果取反:6c9e结果取反为:9361,即校验和为9361。