use*_*500 15 linux osx debian udp netcat
当我执行以下 Netcat 命令并使用Wireshark查看数据包时,它说 UDP 数据包格式错误。
$ echo "this is a test" | nc -u 127.0.0.1 53
Run Code Online (Sandbox Code Playgroud)
同样,$ echo "this is a test" > /dev/udp/127.0.0.1/53
在 Wireshark 中使用诸如产生“格式错误的数据包”错误之类的命令。
echo 命令被发送/传递到 Netcat 服务器,没有错误。但这让我想知道:是否可以使用 echo 或其他一些本机 Unix 工具手动构建正确的 UDP 数据包?
我正在使用 Debian 和 macOS。
rAl*_*len 16
您可以通过重定向将它们发送到 Bash 特殊别名。
从 Bash 联机帮助页:
/dev/tcp/host/port 如果 host 是有效的主机名或 Internet 地址,并且 port 是整数端口号或服务名,bash 会尝试打开相应的 TCP 套接字。
/dev/udp/host/port 如果 host 是有效的主机名或 Internet 地址,并且 port 是整数端口号或服务名,bash 会尝试打开相应的 UDP 套接字。
这会将 UDP 数据包发送到 192.168.2.11 到端口 8080:
echo "This is a test" > /dev/udp/192.168.2.11/8080
Run Code Online (Sandbox Code Playgroud)