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

    待续...

  • 相关阅读:
    PHP 获取js中变量的方法
    Golang文件操作整理
    Golang的文件处理方式-常见的读写
    golang中文件以及文件夹路径相关操作
    服务器常用的状态码及其对应的含义
    left join on 和where条件的放置
    golang 文件导入数据追加sheet
    使用io/ioutil进行读写文件
    Go语言编程中字符串切割方法小结
    Golang学习
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/10006546.html
Copyright © 2011-2022 走看看