嗨,我需要使用 netcat 发送 udp 数据包而无需等待答案,我尝试使用 -w0,但它有错误并且不起作用
如果你需要这是我的命令:
echo 413055 | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie' | nc -4u -w0 192.168.111.247 8899
等待选项是 -q(秒):
echo 'test' | netcat -q 1 -u 192.168.111.247 8899
就像它一样,等待一秒钟然后退出。但它不适用于 -q 0。
您也可以尝试类似以下内容:
echo 'test' > /dev/udp/192.168.111.247/8899
立即退出所需的参数取决于您拥有的 nc。
对于 GNU nc:
xxd -r -p <<<413055 | nc -uc 192.168.111.247 8899
对于 BSD 或传统 nc,-q 0 确实有效:
xxd -r -p <<<413055 | nc -uq0 192.168.111.247 8899
有关更多详细信息,请参阅此相关答案。