我知道这不是一个直接关于“开发”的问题,但我需要这些信息来测试一个开发项目,因此我认为其他人可能也遇到了类似的问题。
我将测试一个运行TCP服务器的软件,并根据发送的命令回复一些答案。我将测试这个软件,如果它不能正常工作我就不想编写代码。所以我想发送这些命令并测试服务器软件。
如何在Linux系统上实现这一点?
使用bash和dd命令:
dd if=/dev/zero bs=9000 count=1000 > /dev/tcp/$target_host/$port
甚至可以使用cat命令:
cat < /dev/urandom > /dev/tcp/$target_host/$port
听起来 Expect 可能是你想要的。它有多种脚本语言的实现,你可以编写脚本以及断言请求/服务器响应和适当的超时、错误处理等。
(echo '2' > /dev/tcp/192.168.1.161/8888) && (sleep 1; echo '2' > /dev/tcp/192.168.1.163/8888)
- user285594
/dev/tcp/*/*
是bash以特殊方式处理的一个特殊文件名,它实际上并不存在。请注意,我已经尽力保持原意并使翻译更加易懂。 - Flimmnc
可能是最好的工具,但这应该是被接受的答案。 - Arj