zoukankan      html  css  js  c++  java
  • 利用rawcap抓包(自己发给自己的包裹)

      恰逢需要实现一个简单的web服务器,在调试中发现使用chrome访问的时候,似乎会发出3个包裹,只有一个有效,其他两个不知道是干啥的,于是准备用wireshark抓包

      期间了解到ping使用icmp协议,抓包中发现,不管是TCP/IP还是ICMP,都没有自己发给自己的包

      无奈用google一搜寻,才发现

      类似发给127.0.0.1的包,是发给回环设备的,wireshark并不能抓到, 参见 https://wiki.wireshark.org/CaptureSetup/Loopback

      需要使用rawcap这款工具

      管理员权限打开CMD,然后跑这款工具就行了,抓的包再用wireshark分析就行了

      顺便继续下这次抓包游戏~(第一次吧)

      

      服务端跑起来后,用chrome访问,发现总是会出现多个REQUEST,不由得疑惑了,多出的REQUEST是在握手吗,还是浏览器作祟?

      使用rawcap抓包

      

      wireshark 分析

      

      结合服务端输出,第一张图是没有"数据传输"的连接,第二张是"成功的连接",里面有HTTP协议传输的报文

      参考这篇文章:http://blog.chinaunix.net/uid-9112803-id-3212041.html,还需要参考TCP连接的断开

      我先是对第二张图进行了分析,在开头发现了TCP连接建立的三次握手,irdmi=8000 端口

      在结尾也发现了TCP连接断开的迹象,但是不像网上看到博文一样,分别发送了一次带FIN的TCP报文

      图一也发现了TCP连接的建立,断开,只是中间少了HTTP报文的传输

      由此推断是浏览器发出了多次TCP握手,可能是减少因为数据受损带来TCP连接受损而需要重新请求浪费的时间

      虽然对TCP连接没有深刻的认识,但还是勉强分析完成了任务,用python抄了个服务端,多线程的,但是可能存在内存泄漏

  • 相关阅读:
    网站负载均衡判断
    端口扫描nmap+masscan
    Ant Design Upload 组件之阻止文件默认上传
    Hybrid App技术解析
    react 路由
    webpack进阶(二)
    webpack进阶(一)
    webpack基础
    Promise原理及实现
    TS——类
  • 原文地址:https://www.cnblogs.com/gemmeg/p/4388852.html
Copyright © 2011-2022 走看看