需求:

找一款工具可以对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

收集TCP端口的访问延迟和丢包率的更多相关文章

  1. logstash收集TCP端口日志

    logstash收集TCP端口日志官方地址:https://www.elastic.co/guide/en/logstash-versioned-plugins/current/index.html ...

  2. linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包

    目录 TC案例 TC常用命令 TC安装 TC原理介绍 TC规则 TC操作原理 TC命名规则 TC单位 TC命令 TC案例 如何使用tc模拟网络延迟和丢包 修改网络延时:  sudo tc qdisc  ...

  3. linux 下使用 tc 模拟网络延迟和丢包-使用 linux 模拟广域网延迟 - Emulating wide area network delays with Linux

    tc 是linux 内置的命令:使用man pages 查看 我们看到,其功能为 show / manipulate traffic control settings,可对操作系统进行流量控制: ne ...

  4. [转]网络性能评估工具Iperf详解(可测丢包率)

    原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...

  5. [转载]UDP丢包率提升

    UDP丢包及无序问题 转载自:http://hi.baidu.com/gamedot/item/96cb9bf1a717eb14d6ff8cd5 最近在做一个项目,在这之前,做了个验证程序. 发现客户 ...

  6. zabbix使用ICMP Ping模版实现对客户端网络状态的监控,监控丢包率、响应时间

    参考网站: https://www.cnblogs.com/saneri/p/6706578.html 使用fping报错注意事项: https://blog.csdn.net/oqqssh/arti ...

  7. zabbix使用fping监控任意两个节点之间的网络质量、丢包率和响应时间

    zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 之前的博文 使用zabbix3..4的ICMP Ping模版实现对客户端网络状态的监控 https://www.cnblog ...

  8. RFC2544丢包率测试——信而泰网络测试仪实操

    文章关键词:RFC2544.丢包率.吞吐量. 丢包率概述: 丢包率(Frame Loss Rate)测试的目的是确定DUT在不同的负载和帧长度条件下的丢包率.在稳定负载下,由于网络设备资源缺乏,应该正 ...

  9. 无线路由器wds桥接技术+丢包率

    半根毛线http://www.cnblogs.com/hsd-/ 今天下午鼓捣了一下无线路由的wds桥接 算是计算机网络的作业 码来分享一下 1.首先设置主路由 我的主路由是斐讯4线 路由ip为192 ...

随机推荐

  1. python flask API 返回状态码

    @app.route('/dailyupdate', methods = ['POST','GET'])def dailyUpdate(): try: db=MySQLdb.connect(" ...

  2. 网页元素居中的n种方法

    导语:元素居中对齐在很多场景看上去很和谐很漂亮.除此之外,对于前端开发面试者的基础也是很好的一个考察点.下面跟着作者的思路,一起来看下吧. 场景分析 一个元素,它有可能有背景,那我要它的背景居中对齐 ...

  3. 弹出框Alert

    selenium提供了三个处理alert的方法 注意:首先需要切换窗口到alert driver.switch_to.alert() (1)点击确定按钮 driver.switch_to.alert. ...

  4. Spark文档阅读之一:Spark Overview

    Document: https://spark.apache.org/docs/latest/index.html 版本:2.4.5   1. spark的几种执行方式 1)交互式shell:bin/ ...

  5. Python itchat.get_chatrooms() 抓取群聊不全的问题

    1 rooms = itchat.get_chatrooms() 2 f = codecs.open("3.txt","w","utf-8" ...

  6. VSCode + WSL 2 + Ruby环境搭建详解

    vscode配置ruby开发环境 vscode近年来发展迅速,几乎在3年之间就抢占了原来vim.sublime text的很多份额,犹记得在2015-2016年的时候,ruby推荐的开发环境基本上都是 ...

  7. Ubuntu下安装PIL

    Ubuntu下安装PIL 1)sudo apt-get install libjpeg-dev 2)sudo apt-get install libfreetype6-dev 3)sudo easy_ ...

  8. JAVA设计模式 2【创建型】原型模式的理解与使用

    在本节中,我们将学习和使用原型模式:这一节学习的原型模式也是创建型 模式的其中之一.再次复习一下:创建型 模式就是描述如何去更好的创建一个对象. 我们都知道,在JAVA 语言中.使用new 关键字创建 ...

  9. 虹软人脸识别——官方 Qt Demo 移植到 Linux

    一.前言 最近需要在 Linux 平台下开发一个人脸识别相关的应用,用到了虹软的人脸识别 SDK.之前在 Windows 平台用过,感觉不错,SDK 里面还带了 Demo 可以快速看到效果.打开 Li ...

  10. android面试详解

    前台就是和用户交互的进程 可见进程例如一个activity被一个透明的对话框覆盖,该activity就是可见进程 服务:service进程 后台一个activity按了home按键就是从前台退回到后台 ...