zoukankan      html  css  js  c++  java
  • Mac 抓包工具wireshark使用

    共四部分

      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号~~~

    待续...

  • 相关阅读:
    Overloaded的方法是否可以改变返回值的类型
    parseXXX的用法
    java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
    UVA 10405 Longest Common Subsequence(简单DP)
    POJ 1001 Exponentiation(大数处理)
    POJ 2318 TOYS(计算几何)(二分)
    POJ 1265 Area (计算几何)(Pick定理)
    POJ 3371 Flesch Reading Ease (模拟题)
    POJ 3687 Labeling Balls(拓扑序列)
    POJ 1094 Sorting It All Out(拓扑序列)
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/10006546.html
Copyright © 2011-2022 走看看