zoukankan      html  css  js  c++  java
  • Wireshark

    今天将自己的电脑既作为客户端又作为服务端进行一个程序的测试,想着用WireShark来抓包分析一下问题,但由于WireShark只能抓取经过电脑网卡的包,由于我是使用localhost或者127.0.0.1进行测试的,流量是不经过电脑网卡的,所以WireShark无法抓包,一番查找之下找到了解决方法。

    1 . 以管理员身份打开命令提示符

    2 . 输入 route add 本机ip mask 255.255.255.255 网关ip
    如果不知道本机ip和网关ip,可以在命令行输入ipconfig查看
    例如我的 : route add 192.168.0.106 mask 255.255.255.255 192.168.0.1

    3 . 将我们程序里面的localhost或者127.0.0.1替换成本机ip

    4 . 使用WireShark即可抓到本地包

    注:在测试完之后,使用route delete 本机ip mask 255.255.255.255 网关ip来删除我们上面的更改,不然我们本机的所有报文都会先经过网卡再回到本机,会比较消耗性能。

    1.抓取特定IP地址的数据包

    过滤以某地址为源地址的数据包:ip.src==指定的ip地址

    过滤以某地址为目的地址的数据包:ip.dst==指定的ip地址

    2.基于端口号的过滤

    协议名.port==端口号(这种会把包含此端口号的请求都过滤掉,无论是源端口或者目的端口)

    使用tcp.dstport==443只过滤目的端口为80的,tcp.srcport==443只过滤源端口为443的包;

    3.过滤协议

    直接输入协议名:如过滤HTTP的协议;

    4.应用层协议模式

    http模式过滤。如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST";

    5.多个条件&操作

    总结:src总是“源”,dst总是“目的”

    注意:通过ip地址过滤的时候,ip地址是不用加引号的

     

  • 相关阅读:
    19年下半年读书清单一览
    2019-2020:时间戳
    全链路压测资料汇总——业内大厂解决方案
    个人公众号开通啦
    windows 10环境下安装Tensorflow-gpu
    如何判断安卓模拟器的型号(品牌)
    socket.io的websocket示例
    Node + Selenium使用小结
    基于SOUI开发一个简单的小工具
    国际化之Android设备支持的语种
  • 原文地址:https://www.cnblogs.com/edda/p/12803837.html
Copyright © 2011-2022 走看看