我正在寻找一种简单的方法来查看服务器上是否打开了远程UDP端口
答案 0 :(得分:8)
注意多个防火墙/网络设置/ IDS等可能会影响结果......以下方法不是100%可靠,但它是UDP IMHO可能的唯一方法(因为UDP是无连接的)。 / em>的
您可以在基础UdpClient
上使用set a receive timeout,socket,在该远程服务器/端口使用make a connection,Send
使用一些小消息({{1} })!)并致电Receive
。
如果端口关闭,则会收到一个异常,说明连接被强行关闭(byte[]
SocketException
10054 = ErrorCode
)...这意味着端口未打开。
否则您会收到答复或超时异常 - 两者都应解释为“UDP端口已打开”。
答案 1 :(得分:2)
你做不到。这是设计因为UDP是无连接的。你必须在应用层解决这个问题。
答案 2 :(得分:-1)
yum install nc
(对于centos)nc -ul 6111
nc -u <server> 6111
上的