流量抓包

文中内容可能不涉及MAC OS, MAC OS需要自行类比。
  • 网络通信
        
    网络通信数据的数据包基本上如下:
 
网络设备<->网卡<-> 操作系统 <->  应用

  

    在操作系统层面用到最多的就是TCP/UDP,使用socket来实现。 处于那个位置就决定了能抓到什么样的协议包, 至于能不能还原出上层的通信的协议,则是另一个问题。所以比较容易抓到的TCP/UDP数据包,在操作系统层面完成封包,通用的tcpdump、wireshark均可以抓包,但是可能出于安全的考虑,均未提供修改的功能。
 
  • 基本工具
  •       burpsuite
    具体的参考资料 burpsuite实战指南(https://legacy.gitbook.com/book/t0data/burpsuite/details?from=timeline
  
  1.     代理设置
     代理设置如下:
        配置burpsuite监听的代理端口,通过代理的方式可以接受其他应用的流量。  import / export  CA  和 HTTPS情景下的代理抓包有关,一般情况下用不到。
  1. 多级代理
     在有些场景下可能会用到多级代理, 下图中就是针对burpsuite的上级代理的设置( 从burpsuite流入的数据包,从这里配置的代理流出)
  1. websockets
    
        4.   扩展插件 NoPE Proxy
    由于burpsuite只能够抓取http/https协议包,对于非http协议的数据包无法截取, 该插件扩展了代理的功能能够截取noHttp数据包
    开始DNS监听:
 
 
 
        设置完后,当前的服务器就可以作为DNS服务器了, 可以把另一台远程系统的DNS服务器填写成当前地址,就可以监听请求的DNS,如下:
 
另外监听TCP:
    其中certificate HostName 是web得域名涉及ssl可能需要填写, Server Address就是目标服务器的地址或域名,server port就是
目标服务器的端口, Listen Port 就是本地监听的端口。 添加到代理后,就是使用代理。
 
   如果 Server Address 填写的是域名,  那么勾选这个选项:
会将所有的域名解析到当前的代理服务器本地, 然后监听的端口与服务端口一致就可以抓到tcp的请求。
 
   如果 Server Address 是一个IP地址, 那么客户端的应用需要将流量转发到代理服务器设置的相应端口上,如下:
其中157.139为原来访问的服务器地址,在开启监听后,  需要去访问代理服务器的地址 157.134
 
        
 
 
  •       fiddler
菜单栏 -> tools -> options,  选中如下信息:
 connections 配置如下:
allow remote computers to connect  是涉及到远程计算机的流量转发到这台,比如手机流量代理抓包
 
gateway里面可以配置应用网关(应用流量转发到哪里)的信息,如下
 
 
配置完毕后,进入菜单 rules  -> automatic breakpoint  ->  选择截断的方式
 
可以采用多级代理的方式,  使用burpsuite作为主要的工具比较合适。
 
 
  •        wireshark
 具体详细的解决使用说明可以参考《 Wireshark官方文档》 (https://www.wireshark.org/download/docs/
    常见的几个操作:
  1.     抓包
        打开工具页面如下:
    菜单-> 捕获 ->  选项如下:
    选择一个接口,点击出现的开始按钮,开始监听数据包,
 
  1.     过滤器
    在filter栏中对协议进行过滤如下:
 
  1.     分析一些常见的协议对象
选择导出对象,支持http协议、SMB协议等
 
 
  • 具体场景
  •   浏览器                
IE、火狐、chrome ,均有网络代理的设置如下:
chrome / IE:
    实际上设置的就是系统代理(控制面板- internet 选项),在具体设置时如下:
 
 可以在例外中设置不需要走代理的地址或者域名。
 
firefox
    菜单-> 选项