Introduction
去年的信息安全课我自己设计的实验题目是伪造掌阅ireader plus升级的服务器,没想到后来访问量还不少,现在记录下使用wireshark抓流量的方法。
1. wireshark 安装
linux可从源里直接install,windows从wireshark官方下载即可:
https://www.wireshark.org/
2. 构建网络
实验环境:
- 一台PC或者笔记本等B
- 要抓取的设备A(手机或者其他目标设备)
先让设备A和PC B连入同一个网络中,可以通过手机建立热点或者使用现有的无线热点。如果想要更干净的网络环境,建议购买小米wifi等建立热点,减少连入网络的设备数量。
3. 运行wireshark
选择要监听的网络适配器。
双击即可开始,如果网络内有设备进行网络通信,那么立刻会产生大量的数据。
4. 保存流量trace
如果一直开启抓取,那么数据流列表会越来越大。因此有两个建议:
- 使用小米wifi等建立热点,PC的流量也不在监控范围内,只有设备A的流量被监控,保证网络流量的干净,容易监听
- 在需要监听的操作完成后,立刻点击终止按钮关闭流量监听,并从文件--》保存来存留流量监听文档。
5. 常用的过滤规则
5.1 针对协议的过滤
仅仅需要捕获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可。
表达式为:http
-
问题:是否区分大小写?答:区分,只能为小写
-
需要捕获多种协议的数据包,也只需对协议进行逻辑组合即可。表达式为:http or telnet (多种协议加上逻辑符号的组合即可)
表达式为:http or telnet (多种协议加上逻辑符号的组合即可)
- 排除某种协议的数据包。表达式为:not arp 或者 !tcp
5.2 关键字
“与”:“eq” 和 “==”等同,可以使用 “and” 表示并且,
“或”:“or”表示或者。
“非”:“!" 和 "not” 都表示取反。
多组条件联合过滤数据包的命令,就是通过每个单个的条件命令与关键字“与或非”的组合实现的。
5.3 针对ip的过滤
针对wireshark最常用的自然是针对IP地址的过滤。其中有几种情况:
- 对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包。
表达式为:ip.src == 192.168.0.1
- 对目的地址为192.168.0.1的包的过滤,即抓取目的地址满足要求的包。
表达式为:ip.dst == 192.168.0.1
- 对源或者目的地址为192.168.0.1的包的过滤,即抓取满足源或者目的地址的ip地址是192.168.0.1的包。
表达式为:ip.addr == 192.168.0.1,本表达式的等价表达式为 ip.src == 192.168.0.1or ip.dst == 192.168.0.1
- 要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可。
表达式为:!(表达式)
等等,可以查阅Wireshark 用户手册
6. 分析流量数据
wireshark可以打开之前保存的流量数据。
过滤http,并通过显示分组字节来查看内容:
可以查看到这是个zip压缩包的文件请求,其地址为:
/ota/root_data02_2/zhangyue/zhangyue_IMX6_KK/R6003/zh/other/10830032/2017110717591310920.zip
及为本次流量中的请求地址,当然这里的数据省略掉了网址前缀,在之前的伪造掌阅ireader plus升级的服务器我们调查过,其访问地址是http://fotadown.mayitek.com/
,合成的地址便可以直接下载。
7. 总结
通过简单的介绍和演示,本文说明了wireshark抓取流量的方法。更多高级功能,请参阅wireshark用户手册以及网络上的信息。
Comments