![基准 tcp:ab 或 iperf 类工具用于发送十六进制/二进制/pcap 数据?](https://linux22.com/image/513105/%E5%9F%BA%E5%87%86%20tcp%EF%BC%9Aab%20%E6%88%96%20iperf%20%E7%B1%BB%E5%B7%A5%E5%85%B7%E7%94%A8%E4%BA%8E%E5%8F%91%E9%80%81%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%2F%E4%BA%8C%E8%BF%9B%E5%88%B6%2Fpcap%20%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我已经用 Twisted 为目前正在进行的一个项目编写了一个服务器,现在我需要测试它。它接收 TCP 数据包,其有效负载仅由序列化的二进制字符串组成。我希望能够使用二进制数据作为有效负载来测试服务器的并发性/吞吐量,但找不到任何允许我执行此操作的工具。我试过了,iperf -F
但没有成功,因为我认为它以字符形式发送了二进制/十六进制数据。我还查看了 ,ab
它看起来很完美 - 如果仅用于 http。除了这些,我还查看了tcpreplay
,但它不执行任何测试(或建立 TCP 连接),所以用处不大。
任何帮助都将不胜感激,因为我对这个问题很困惑!
答案1
尝试使用 ncat,我确信它可以做到这一点。 http://nmap.org/ncat/
也许作为文件传输? http://nmap.org/ncat/guide/ncat-file-transfer.html
它有一个 --hex-dump 选项,因此您可以看到真正发生的情况。
您也可以编译一个简单的程序来输出您想要的内容,然后使用 netcat 调用并传输其输出。