如何使用WireShark抓取数据包?

来源:互联网 发布:安卓录屏软件 编辑:程序博客网 时间:2024/04/30 18:07

一、怎样获取WireShark?
很简单,百度搜索WireShark,就会看到下载地址。
不要选择百度杀毒那个勾就好了
二、使用WireShark
因为WireShark是英文软件,所以你需要一些必要的英文基础。
打开软件界面如下图:
这里写图片描述
1、开始抓包
选中你需要的网卡,点击start即可开始抓包,在这个时候请确保你想要抓的包会通过你选择的网卡。一般做法是在电脑上插一块无线网卡,然后让你的设备连接该无线网卡。这里推荐小米miniWIFI和360迷你WIFI,亲测这两个随身wifi均可抓包。抓包界面如下图:
这里写图片描述
你会发现流过网卡的数据包非常多。这时候你需要用到最顶上的过滤选项。过滤语法不算复杂,但是一时半会也记不完,记住常用的即可。
(1)过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1;
(2)端口过滤。如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包;
(3)协议过滤。直接在Filter框中直接输入协议名即可,如过滤HTTP的协议;
(4)http模式过滤。如过滤get包,http.request.method==”GET”,过滤post包,http.request.method==”POST”;其他协议的数据包大都也是这样。
(5)连接符and/or的使用。连接符and的使用。过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http。我想作为一个程序员or就不需要我举例了吧。
2、提取数据
你已经找到你想要的包了。下图是POST数据包的说明:
这里写图片描述
关于各类协议有兴趣可自行学习。
如果你想看到你POST的结果,一般来说都在你请求下面的一个HTTP/1.1 200 ok 的数据包。包结构跟POST去的差不多。如果服务器响应缓慢,你只需要选中POST数据包右键点击Follow TCP Stream(其他协议只是字不一样) 即可快速筛选本次同信的所有数据包。下图表示你应该如何来取得你想要的数据,如果是JSON或文本的话拷贝可打印文字就可以咯。如果是二进制通讯,拷贝HEX即可。
这里写图片描述
3、查看JSON数据
可能大家习惯于用网页上的在线解析。这里我推荐sublime text。可能配置起来麻烦一些,但是你配置好了,效率绝对比在线高很多。这里附上sublime text3解析json的图。如果想要,折腾去吧。作为程序员,必须要能折腾。
这里写图片描述

0 0