我希望在UDP数据包中只发送一个短值,但运行以下命令
echo -n "hello" | nc -4u localhost 8000
我可以看到服务器正在获得你好但是我必须按Ctrl+c键退出Netcat命令。
我怎么才能让它在发送后退出呢?你好?
对不起,由于噪音,我重新阅读了手册页,发现-q
选择。
echo -n "hello" | nc -4u -q1 localhost 8000
起作用(1秒后退出)。
由于某些原因,它不适用于-q0
。
发布于 2018-04-23 16:24:00
如果正在使用bash,则最好编写
echo -n "hello" >/dev/udp/localhost/8000
并避免所有的特质和不相容的Netcat。
这也可以发送到其他主机,例如:
echo -n "hello" >/dev/udp/remotehost/8000
这些不是文件系统上的“真实”设备,而是bash“特殊”设备。
发布于 2018-04-23 17:59:34
我没有找到-q1
我的Netcat的选项。相反,我使用了-w1
选择。下面是我向任何主机和端口发送UDP数据包的bash脚本:
#!/bin/bash
def_host=localhost
def_port=43211
HOST=${2:-$def_host}
PORT=${3:-$def_port}
echo -n "$1" | nc -4u -w1 $HOST $PORT
https://stackoverflow.com/questions/-100008231
复制相似问题