共四部分
1.wireshark简介
2.wireshark mac版安装
3.wireshark 抓取普通http
4.高级应用
1.wireshark 简介(百度百科)
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……
Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。
2.wireshark mac版安装
我用的mac系统是10.12,网络上有人说需要安装一些X11或者是XQuartz的,我自己尝试下载安装并不需要安装其他组件,下载网址: http://www.pc6.com/mac/112232.html
一直点下一步就好了,安装后打开:
3.wireshark 抓取普通http报文
点击左上角的鲨鱼头就可以开始捕获包了,界面包含了三部分内容:
第一块:分组的列表项,很多,有序号、时间、源地址、目的地址、协议、长度等
第二块:具体的某个分组的详细信息,具体对应网络分层,每一行信息自己看,截个图
第三块:以二进制显示,可以不用管
可以看到现在已经有一些密密麻麻的数据流记录了,不过都不是我们需要的, 先做一个post访问再过滤
sts-MacBook-Pro:~ garfield$ curl -l -H "Content-type: application/json" -X POST -d '{"header": {"requestTime": "2018100910320000","requestSeq": "e379853d-d93e-4249-b9be-8a272b","appId": "bc1f4a2a995b47db9018031801984857"},"content": {"duration": "300","idCard": "350123199502150000sfsdafwjdhsjofwofnsdfnjdwfnew1561651dsfsdnklndsjfn1165165165fdsfhweufwehfjdsnfiefenf350123199502150000sfsdafwjdhsjofwofnsdfnjdwfnew1561651dsfsdnklndsjfn1165165165fdsfhweufwehfjdsnfiefenf350123199502150000","expressParam": "expressParamexpressParaexpres","name": "name","isPic": "0","availableTimes": "5"}}{"header": {"requestTime": "2018100910320000","requestSeq": "e379853d-d93e-4249-b9be-8a272b","appId": "bc1f4a2a995b47db9018031801984857"},"content": {"duration": "300","idCard": "350123199502150000sfsdafwjdhsjofwofnsdfnjdwfnew1561651dsfsdnklndsjfn1165165165fdsfhweufwehfjdsnfiefenf350123199502150000sfsdafwjdhsjofwofnsdfnjdwfnew1561651dsfsdnklndsjfn1165165165fdsfhweufwehfjdsnfiefenf350123199502150000","expressParam": "expressParamexpressParaexpres","name": "name","isPic": "0","availableTimes": "5"}}' http://10.1.4.34:8080/post
做完后在过滤条件中加入条件,意思是目标网址为10.1.4.34:
ip.dst == 10.1.4.34
意思是,目标ip地址为10.1.4.34,得到:
点开协议为http的访问,从访问的具体信息中可以看到发送到10.1.4.34
同理,用ip.src == 10.1.4.34 能够看到对方返回的对象.
过滤条件有很多种,比较简单的是输入"ip."之后会提示的当前页面存在的字段,如"ip.addr,ip.proto等",具体扩展可以点开右边的"Exprission"按钮,会展示很多字段
只不过大多字段看不懂,且平时用不到,以后再探究吧
4.高级应用
1.wireshark可以对包,流量,时间进行分析,具体在头顶的statistic中:
可以得到多种数据分析图
I/O graph是流量图,里面还可以进行过滤,计算等:
最后一行我自定义添加的图,可以自定义颜色和风格等.
其他图表有全流程时间表(round-trip graphs),包长度(package length)分析等,感觉不实用,以后再记
2.数据包跟踪
提取出两个应用之间的通信,比如我用手机QQ和电脑QQ通信,得到的数据流右键跟踪:
得到完整报文,双色标识来往包数据:
可以保存查看包内容,这里因为是QQ包,被处理后无法识别而已,不过可以看见我QQ号~~~
待续...