0

有没有人研究过从 Bash 形成和发送测试 UDP 数据包?除了一段代码中的 TCP 端口外,我还需要测试一些 UDP 端口。TCP很容易,因为它是面向连接的。另一方面,UDP 更具挑战性。我假设必须构建数据包并将其发送出去,然后 bash 必须等待回复或超时以确定端口是否在另一端打开。可以使用其他实用程序,但是我想尽量避免使用它,因为直接使用 Bash for TCP 非常容易。关于如何做到这一点的任何想法?目标是监控服务器的端口检查工具。是的,还有其他工具,例如 NMAP,但我不需要复杂的端口扫描器。

* 更新 *

接受 Barmar 的建议并尝试使用 netcat,但我无法让它与 UDP 一起使用。每当我尝试 UDP 时,终端就会卡住:

 netcat -uvz 8.8.8.8 53

这也不起作用,这是谷歌的一个直接例子

nc -vnzu server.ip.address.here 1-65535 > udp-scan-results.txt

* 更新 *

对于那些说“你不能用 netcat 做到这一点”的人,你能解释一下为什么所有这些人都说你可以吗?网猫怎么了...

http://www.radarearth.com/content/using-netcat-udp-port-troubleshooting
https://gist.github.com/benhosmer/2429640
http://www.thegeekstuff.com/2012/04/nc-command-examples/

* 更新 *

这是另一个:

http://mikeberggren.com/post/16433061724/netcat

* 更新 *

这里还有一些与上述所有内容相矛盾的其他证据……叹息

页面的最底部,在“注意事项”下

http://linux.die.net/man/1/nc

* 解决方案 *

这最终帮助我理解了自己的逻辑。希望它也能帮助其他人。

http://serverfault.com/questions/416205/testing-udp-port-connectivity
4

1 回答 1

0

有不同的工具允许发送 UDP 数据包,例如hpingnmap.

hping host.example.com --udp -V -p 53
nmap -sU -p 53 host.example.com

然而,不像 TCP UDP 不建立连接,即你不会自动得到响应。

于 2013-06-26T18:34:33.473 回答