如何测试远程UDP端口

时间:2012-02-13 18:14:00

标签: c# .net windows

我正在寻找一种简单的方法来查看服务器上是否打开了远程UDP端口

3 个答案:

答案 0 :(得分:8)

注意多个防火墙/网络设置/ IDS等可能会影响结果......以下方法不是100%可靠,但它是UDP IMHO可能的唯一方法(因为UDP是无连接的)。 / em>的

您可以在基础UdpClient上使用set a receive timeoutsocket,在该远程服务器/端口使用make a connectionSend使用一些小消息({{1} })!)并致电Receive

如果端口关闭,则会收到一个异常,说明连接被强行关闭(byte[] SocketException 10054 = ErrorCode)...这意味着端口未打开。

否则您会收到答复或超时异常 - 两者都应解释为“UDP端口已打开”。

答案 1 :(得分:2)

你做不到。这是设计因为UDP是无连接的。你必须在应用层解决这个问题。

答案 2 :(得分:-1)

  1. 在客户端和服务器上安装nc: yum install nc(对于centos)
  2. 服务器上的
  3. 监听UDP端口:nc -ul 6111
  4. 客户nc -u <server> 6111 上的
  5. 在客户端上键入任何内容并按Enter键 - 您应该看到此文本 服务器