压测tcpdump和精度控制

本文介绍了如何使用tcpdump工具通过特定参数过滤TCP握手数据包,以获取更精确的流量数据。同时,文章还探讨了如何在发送数据时控制QPS精度,确保在毫秒级别内均匀发送数据。
摘要由CSDN通过智能技术生成

为了dump有用的数据,去除一些TCP协议握手的数据包,tcpdump有一些参数可以控制,过滤出push的数据包

1、tcpdump数据去除握手的数据包

     TCP/IP协议的数据包有一字段TCP flags (URG,ACK,PSH,RST,SYN,FIN),每个字段各占一个字节,其中PSH字段如果为1,则是client发往Server端的数据包,在tcpdump工具中,tcp[13]代表flag的数据值

     # Unskilled 32

     # Attackers 16 

     # Pester     8

     # Real       4

     # Security   2

     # Folks      1

因此,tcpdump -w online.pcap -s0 tcp and dst host 10.48.42.20 and port 1987 and 'tcp[13] & 8 != 0' and 'tcp[13] & 7 == 0' and 'tcp[13] & 4 == 0' and 'tcp[13] & 3 == 0' -vvv

通过该命令就能过滤掉一些握手的数据包,能够减少1/4的流量包

 

2、qps精度控制

     假设要发送的qps为m,控制精度在ms,平均在毫秒以内

     1、记录发送第一个数据包的当前时间:T

     2、发送第N-1个数据包的实际发送完成时间是:T(N-1)

     3、理论上开始发送N的时间是:T(N) = T + 1000/m * (N-1)

     4、if T(N) > T(N-1):

                 time.sleep(T(N) - T(N-1))

                 send(data)

          else:

                 send(data)

 



 



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值