WireShark抓包命令

  本机环回包

  在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。 具体方法如下:

 
      ①:以管理员身份运行cmd
 
      ②:route add 本机ip mask 255.255.255.255 网关ip
 
      例如: route add 172.16.51.115 mask 255.255.255.255 172.16.1.1 metric 1
 
      使用完毕后用 route delete 172.16.51.115 mask 255.255.255.255 172.16.1.1 metric 1 删除,否则所有本机报文都经过网卡出去走一圈回来很耗性能
 
      此时再利用wireshark进行抓包便可以抓到本机自己同自己的通信包,这样配置的原因是将发往本机的包发送到网关,而此时wireshark可以捕获到网卡驱动的报文实现抓包。
  

  WireShark语法

  1. 基本语法:
    等于:==
    小于:<
    并且:&&
    或者:||
  2. 过滤来源IP或者目标IP:
    ip.src == 192.168.1.107
    ip.dst == 192.168.1.107
    ip.addr == 192.168.1.107;
  3. 过滤端口:
    tcp.port == 80; 
    udp.port == 80;
    tcp.dstport == 80// 只显tcp协议的目标端口80
    tcp.srcport == 80// 只显tcp协议的来源端口80
  4. 过滤MAC:
    eth.dst == A0:00:00:04:C5:84;
    eth.src == A0-00-00-04-C5-84
  5. 包长度过滤:
    udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
    tcp.len 
    >= 7   指的是ip数据包(tcp下面那块数据),不包括tcp本身
    ip.len 
    == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后 frame.len == 119 整个数据包长度,从以太网开始到最后
  6. HTTP过滤:
    http 只显示http报文
    ssl 只显示ssl加密报文(https)

    http.request.method == "GET" http.request.method == "POST" http.request.full_uri==” http://task.browser.360.cn/online/setpoint” http.request.uri == "/online/setpoint" http.content_type == "text/html" http.response.code==302
原文地址:https://www.cnblogs.com/lene-y/p/10370634.html