• 多年的网络数据包分析与抓取经验,闲话少说,上干货。
  • 先列举数据包的种类:1、Http数据包;2、UDP数据包;3、TCP数据包;4、ARP数据包;其实数据包的概念是很泛的,在软件可逆领域,数据包抓取、分析、破解、二次封包,是一条完整的技术链。

Http数据包的抓取

1)选型的工具:charlse(圣杯);
2)抓取安居客等作为测试,能看到完整的response;

该工具的附加功能:可以抓取同一个网段的终端设备的http数据包;可以人为制造弱网情况;可以人为改变请求和响应;可以对ip、port做fillter;可以对指定的ip进行breakpoint;

数据抓包 java 数据抓包分析_UDP

分析:1、安居客采用的接口版本机制,是直接带在url后面的;
2、详情界面,是通过多个接口给出;这对于前段时间前端和后端的争执,关于一个界面,一个接口给出?还是多个接口给出?给出一些建议性的方案。
初步分析了下:是分业务系统给出的接口信息,也可以理解为是各业务系统直接给出的接口数据,而非中间层做了一次数据聚合;
3、一些很走心的细节,电话号码没有给出明文;

请求参数:

数据抓包 java 数据抓包分析_UDP_02


接口对于用户数据的收集:设备、操作系统、经纬度、系统版本、机器唯一编号等等,收集还是很全面的。

TCP/UDP/HTTP数据包的抓取&Wireshark工具的使用

1)使用wireshark来抓取数据包,首先要指定网卡,这样能抓取该网卡所通过的网络7层模型的所有数据包,包括我们所熟知的三次握手协议,都可以从中分析而出。然后通过正则过滤,来筛选所需要的数据包。

测试方案:在服务器写了一个service程序,提供一个登录的jsp,那过滤规则为:

http and ip.addr == 10.10.40.113 and tcp.port == 8080

截图如下:

数据抓包 java 数据抓包分析_UDP_03


选择一条记录:右键选择follow stream

截图如下:

数据抓包 java 数据抓包分析_数据抓包 java_04


从这里可以看出在点击登录按钮,调用loginServlet的请求参数以及调用后的返回。

2)接下来分析如何抓取tcp数据包。