Wireshark 数据包分析实战详解
第一章读书笔记
wireshark 作用
Wireshark
是一个开源的广受欢迎的网络数据包分析软件,使用 Wireshark
可以快速分析一些任务
- 一般分析任务
- 找出在一个网络内的发送数据包最多的主机
- 查看网络通信
- 查看某个主机使用了哪些程序
- 了解基本正常的网络通
- 验证特有的网络操作
- 了解尝试连接无线网络的用户
- 同时捕获多个网络的数据
- 实施无人值守数据捕获
- 捕获并分析到 / 来自一个特定主机或子网的数据
- 通过 FTP 或 HTTP 查看和重新配置文件传输
- 从其它捕获工具导入跟踪文件
- 使用最少的资源捕获数据
- 故障任务
- 为故障创建一个自定义的分析环境
- 确定路径、客户端和服务延迟
- 确定 TCP 问题
- 检查 HTTP 代理问题
- 检查应用程序错误响应
- 通过查看图形显示的结果,找出相关的网络问题
- 确定重载的缓冲区
- 比较缓慢的通信到正常通信的一个基准
- 找出重复的 IP 地址
- 确定 DHCP 服务或网络代理问题
- 确定 WLAN 信号强度问题
- 检测 WLAN 连接的次数
- 检查各种网络配置错误
- 确定应用程序正在加载一个网络片段
- 安全分析(网络取证)任务
- 为网络取证创建一个自定义分析环境
- 检查使用非标准端口的应用程序
- 确定到 / 来自可疑主机的数据
- 查看哪台主机正在尝试获取一个 IP 地址
- 确定
phone home
数据 - 确定网络侦查过程
- 全球定位和映射远程目标地址
- 检查可疑数据重定向
- 检查单个 TCP 或 UDP 客户端和服务器之间的会话
- 检查到恶意畸形的帧
- 在网络数据中找出攻击签名的关键因素
- 应用程序分析任务
- 了解应用程序和协议如何工作
- 图形应用程序的带宽使用情况
- 确定是否将支持应用程序的链接
- 更新 / 升级后检查应用程序性能
- 从一个新安装的应用程序中检查错误响应
- 确定哪个用户正在运行一个特定的应用程序
- 检查应用程序如何使用传输协议,如 TCP 或 UDP
安装
$ sudo apt-get install wireshark
也可以下载源码手动编译安装
捕获数据
Wireshark
为了捕获数据依赖于网络适配器和网卡驱动
认识数据包
数据包分为 帧
、 包
和 段
例如 tcp
数据层次如下
Frame 77: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface 0
Interface id: 0 (eth0)
Encapsulation type: Ethernet (1)
Arrival Time: Oct 31, 2018 09:24:06.106787573 CST
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1540949046.106787573 seconds
[Time delta from previous captured frame: 0.000031648 seconds]
[Time delta from previous displayed frame: 0.000031648 seconds]
[Time since reference or first frame: 0.098032168 seconds]
Frame Number: 77
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: TCP]
[Coloring Rule String: tcp]
Ethernet II, Src: LcfcHefe_62:89:b1 (28:d2:44:62:89:b1), Dst: Intel_e0:e2:eb (00:90:27:e0:e2:eb)
Destination: Intel_e0:e2:eb (00:90:27:e0:e2:eb)
Address: Intel_e0:e2:eb (00:90:27:e0:e2:eb)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Source: LcfcHefe_62:89:b1 (28:d2:44:62:89:b1)
Address: LcfcHefe_62:89:b1 (28:d2:44:62:89:b1)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.110.55, Dst: 183.134.92.103
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 40
Identification: 0x83d5 (33749)
Flags: 0x02 (Don't Fragment)
Fragment offset: 0
Time to live: 64
Protocol: TCP (6)
Header checksum: 0x742d [validation disabled]
[Header checksum status: Unverified]
Source: 192.168.110.55
Destination: 183.134.92.103
[Source GeoIP: Unknown]
[Destination GeoIP: China, AS4134 No.31,Jin-rong Street, China, AS4134 No.31,Jin-rong Street, 28.179199, 113.113602]
Transmission Control Protocol, Src Port: 35720, Dst Port: 443, Seq: 1, Ack: 54021, Len: 0
Source Port: 35720
Destination Port: 443
[Stream index: 0]
[TCP Segment Len: 0]
Sequence number: 1 (relative sequence number)
Acknowledgment number: 54021 (relative ack number)
0101 .... = Header Length: 20 bytes (5)
Flags: 0x010 (ACK)
Window size value: 2786
[Calculated window size: 2786]
[Window size scaling factor: -1 (unknown)]
Checksum: 0x42e8 [unverified]
[Checksum Status: Unverified]
Urgent pointer: 0
[SEQ/ACK analysis]
- 物理层数据帧 Frame 77: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface 0
- 数据链路层以太网帧头部信息 Ethernet II, Src: LcfcHefe_62:89:b1 (28:d2:44:62:89:b1), Dst: Intel_e0:e2:eb (00:90:27:e0:e2:eb)
- 互联网层 IP 包头信息 Internet Protocol Version 4, Src: 192.168.110.55, Dst: 183.134.92.103
- 传输层数据段头信息 Transmission Control Protocol, Src Port: 35720, Dst Port: 443, Seq: 1, Ack: 54021, Len: 0
Wiki Protocol Page
在需要看的协议上 右键
选择 Wiki Protocol Page
,例如上面的 Internet Protocol Version 4
可以查看 IPv4 协议
快速入门
- 在开始捕捉之前现选择
Interface
- 使用
filter
过滤数据 - 打开
Draw packets using you Coloring rules
用于配色,可以方便找出各个协议以及出错帧 - 左下角的
专家信息
按键用于显示更高的信息,可以提醒用户捕捉到的网络数据包中的问题