收集TCP端口的訪問延遲和丟包率


需求:

    找一款工具可以對TCP 80端口 收集 訪問延遲和丟包率

找到的工具:

    1、Hping :  http://www.hping.org/

    2、paping : https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-network/aog-virtual-network-tcp-psping-paping-connectivity

需要了解的知識:

    TCP的flags:

        fin   syn   rst   push   ack   urg   xmas   ymas

    TCP的三次握手:

        1 client   --      syn          ->  server
        2 client   <-     syn+ack   --  server
        3 client   --      ack          ->  server
    
    TCP的四次揮手:
        1 client   --      fin           ->  server
        2 client   <-     ack          --  server
        3 client   <-     fin            --  server
        4 client   --     ack           -> server
 

    知識參考:

        1、https://en.wikipedia.org/wiki/Transmission_Control_Protocol 

        2、http://www.ruanyifeng.com/blog/2017/06/tcp-protocol.html

 

對比:

    Hping數據包:

        client   --      syn          ->      server
        client   <-     syn+ack   --      server
        client   --     rst             ->      server

 

 

 

    Paping數據包:

        client --     syn          ->     server
        client <-    syn+ack   --     server
        client --     ack          ->     server
        client --     fin\ack      ->     server
        client <-    fin\ack      --     server
        client --     ack          ->     server

 

 

 

 結論:

    1、Hping 的tcp模式下不會建立真正的socket連接,client收到syn+ack后,內核會回復RST

    2、Paping會完成三次握手和四次揮手,它的四次揮手只用了三次包,分別有兩次fin\ack

            第一次中的fin\ack代表client已收到發送的數據包,並希望關閉會話。

            第二次中的fin\ack代表服務器沒有更多的數據發送,這時會合並四次揮手中的2和3步驟

    3、Paping可以滿足需求

               

 PS: 四次揮手中,不管是三包還是四包,一方發送fin表示半關閉,雙發都發出了fin,並且收到了fin的ack,表示關閉,

 

參考:

    https://ktflash.gitbooks.io/ceh_v9/32_ceh_scanning_methodology_-_check_for_open_ports.html

    http://www.radarhack.com/dir/papers/hping2_v1.5.pdf

    http://www.hping.org/manpage.html

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM