艰难的Bash UDP问题

时间:2013-06-26 16:47:12

标签: bash udp

有没有人研究过从Bash形成和发送测试UDP数据包?除了一段代码中的TCP端口之外,我还需要测试一些UDP端口。 TCP因其面向连接而很容易。另一方面,UDP更具挑战性。我认为必须构建并发送数据包,然后bash必须等待回复,或者超时以确定端口是否在另一端打开。可以使用其他实用程序,但是我想尝试避免它,因为使用Bash for TCP直接进行操作非常容易。有什么想法怎么做?目标是监视服务器的端口检查工具。是的,还有其他工具,如NMAP,但我不需要复杂的端口扫描程序。

*更新*

采取了Barmar的建议并尝试使用netcat,但我无法使用UDP。每当我尝试UDP时,终端就会卡住:

 netcat -uvz 8.8.8.8 53

这也不起作用,这是Google的直接示例

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

1 个答案:

答案 0 :(得分:0)

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

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

但是,与TCP UDP不建立连接,即您不会自动获得响应。