我需要一些工具,例如这个(称为“TCP 测试工具”)适用于 Linux。我不需要 GUI(即 GUI/CLI——这不是那么重要),但我需要能够创建一个可以在任何端口侦听、接收和发送一个原始数据(即十六进制转储) 数据。
答案1
尝试nc
从man nc
数控— 任意 TCP 和 UDP 连接并监听
答案2
索卡特是一个复杂的工具,可以将几乎任何东西双向连接到几乎任何其他东西。特别是,您可以让它在端口上侦听连接,在连接时运行程序,向其发送数据,并将输出返回到套接字。例如:
socat TCP4-LISTEN:3344,reuseaddr,fork EXEC:/tmp/runme,pty
将运行一个脚本/tmp/runme
,例如:
#!/bin/bash
trap 'echo sigterm >&2;exit' TERM
echo "start" >&2
while read line
do echo "got $line"
done
你可以在其中对数据进行任何你想做的事情,比如这里返回带有前缀“got”的数据。你可以使用以下方法测试它telnet localhost 3344
:
echo hi | socat - TCP4:localhost:3344
如果您需要对 udp 执行相同的操作,您可以尝试,例如:
socat UDP-RECVFROM:3344,fork EXEC:/tmp/runme,pty
您只会收到一个数据包,但您仍然会收到任何答复。测试它,例如:
echo hi | socat - UDP-SENDTO:localhost:3344
如果您只想得到数据回显,则此功能内置于xinetd
则此功能内置于 中,您只需启用回声服务。看man xinetd.conf
。
如果您想获取带宽统计信息,请查看网络性能工具。
答案3
sendip
您可能对其网站感兴趣:http://snad.ncsl.nist.gov/ipv6/sendip.html
从网站:
问:如何处理字符串和数字参数?答:许多标头字段和数据包数据区域可以通过以下语法指定:
- 0xXXXX - 解释为十六进制数字,转换为网络字节顺序的二进制数字。
- 0XXXX - 解释为八进制数,转换为网络字节顺序的二进制数。
- rN - N“随机”字节
- zN - N nul(零)字节
- fF - 从文件 F 的下一行读取参数
- other - 视为文字字符串
答案4
那里是 socat v.2.0.0.b8 的补丁,使其成为可能。