gpt4 book ai didi

bash - 在 bash 中监听返回的 UDP 数据包

转载 作者:行者123 更新时间:2023-11-29 09:05:04 25 4
gpt4 key购买 nike

出于学习目的,我尝试使用 bash(4.0.33) 网络支持,并尝试在 bash 中创建一个端口扫描器。对于 TCP,我用

打开了一个 TCP/IP 套接字

exec 3<>/dev/tcp/192.0.2.1/80

如果连接被拒绝或连接系统调用超时,则会采取适当的措施。但是,使用 UDP,我可以轻松地发送带有

的数据包

echo > /dev/udp/192.0.2.1/53

但是如何从正确的套接字读取返回的数据包呢?我的意思是发送到 192.0.2.1 的 UDP 数据报具有临时端口范围内的源端口,因此我不知道 /dev/udp/192.0.2.1/ 中的哪个套接字。我应该阅读的目录。或者如果没有诸如 tcpdump 之类的外部实用程序,这是否可行?

最佳答案

Bash 的 UDP 支持不是很好,并且在许多发行版(尤其是 Debian/Ubuntu 和衍生产品)上编译出来。推荐的工具是 netcat:

nc -u 192.0.2.1 53

注意:使用 coproc 或命名管道从同一个 netcat 进程读取和写入。不要先发送数据包并 try catch 回复 netcat。

不过,Bash 确实是错误的语言。考虑使用 Python,它可以更好地处理 UDP 和二进制数据,只需增加几行代码。

关于bash - 在 bash 中监听返回的 UDP 数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com