[英]How to test a remote UDP Port
我正在尋找一種簡單的方法來查看服務器上是否打開了遠程 UDP 端口
請注意,幾個防火牆/網絡設置/IDS 等可能會影響結果......以下方法不是 100% 可靠,但它是 UDP 恕我直言的唯一可能方法(因為 UDP 是無連接的)。
您可以使用UdpClient
,在底層套接字上設置接收超時, 建立與該遠程服務器/端口的連接, Send
一些小消息( byte[]
!)並調用Receive
。
如果端口已關閉,您會收到一個異常,表示連接被強行關閉( SocketException
with ErrorCode
10054 = WSAECONNRESET
)...這意味着端口未打開。
否則,您要么收到答案,要么收到超時異常 - 兩者都應解釋為“UDP 端口已打開”。
你不能。 這是設計使然,因為 UDP 是無連接的。 你必須在應用層解決這個問題。
yum install nc
(用於centos) nc -ul 6111
nc -u <server> 6111
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.