压测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)

 



 



 

 

对于Windows平台,您可以使用WinDump来进行抓包操作。WinDump是一个基于命令行的网络抓包工具,它是WinPcap库的一部分,可以在Windows系统上进行数据包捕获和分析。 要下载WinDump,请按照以下步骤进行: 1. 首先,确保您已经安装了WinPcap库。您可以从WinPcap官方网站(https://www.winpcap.org/)下载并安装WinPcap。 2. 访问WinDump的官方网站(https://www.winpcap.org/windump/install/)。 3. 在该网页上,您可以找到WinDump的下载链接。根据您的操作系统版本(32位或64位),选择适合您的版本并点击下载。 4. 下载完成后,解压缩下载的文件。 现在,您已经成功下载了WinDump工具。您可以在命令提示符或终端窗口中使用WinDump命令来进行抓包操作。 对于Linux平台,您可以使用tcpdump来进行抓包操作。tcpdump是一个非常强大的命令行网络抓包工具,可以在Linux系统上进行数据包捕获和分析。 要安装tcpdump,请按照以下步骤进行: 1. 打开命令提示符或终端窗口。 2. 输入以下命令来安装tcpdump: 对于Debian/Ubuntu系统: ``` sudo apt-get install tcpdump ``` 对于CentOS/RHEL系统: ``` sudo yum install tcpdump ``` 对于其他Linux发行版,请使用相应的包管理器来安装tcpdump。 安装完成后,您可以在命令提示符或终端窗口中使用tcpdump命令来进行抓包操作。 请注意,使用WinDump或tcpdump进行抓包可能需要管理员或root权限。在使用这些工具时,请确保您有足够的权限来执行相关操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值