validation与UDP端口上的服务器的连接

我想知道HP-UX计算机是否可以使用UDP在特定端口上与远程计算机(我无法控制)进行通信。

我尝试了telnet,但它看起来不像它支持UDP。 我会使用netcat,但我无法find任何捆绑。 这台机器正在生产,所以我不想乱搞compliling或安装东西太多…(nmap,netcat从源…)

任何简单的方法来做到这一点?

    Ping一个UDP端口有点棘手,因为本身没有连接 。 如果你不能控制远程主机,那么你可能永远不知道你的UDP数据报是否真的被接收到。 我假设你已经知道远程主机是否可以通过pingtraceroutemtr等(如果没有,请先检查!)

    接下来,由于你没有netcat ,你需要一些生成UDP数据包的方法。

    当您将数据redirect到特殊设备/dev/udp/host/port时, bash shell会发送UDP数据包。 例如:

     #!/bin/bash host="10.10.10.10" port=12345 echo "PING" >/dev/udp/$host/$port 

    当然,Python也完全支持UDP,例如

     #!/bin/python import socket host="10.10.10.10" port=12345 udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udp_sock.sendto('PING', (host, port)) 

    不pipe你如何devise生成UDP“ping”数据包,你都会想知道目标是否收到。 如果目标端口是开放的(即服务正在监听给定端口),那么会发生什么情况将是应用程序定义的。 希望你会注意到来自远程系统的一些行为或指示。

    如果目标端口是closures的(即没有服务在该端口上侦听),那么你应该得到一个ICMP错误包作为响应。 使用你最喜欢的线networking嗅探器来观察它。 或者,也许您的HP-UX系统在某处logging了ICMP错误(对不起,我对HP-UX没有任何经验)。

    不幸的是,如果目标被防火墙挡住,那么当目标端口closures时,您可能无法得到响应。 确定远程主机是否响应的唯一可靠方法是运行与UDP数据相关的应用程序并观察networking通信。

    你可以使用netcat 。 在OSX中,这是我的命令:

     $ nc -vnzu <IP> <PORT> found 0 associations found 1 connections: 1: flags=82<CONNECTED,PREFERRED> outif (null) src <SOURCE IP> port <SOURCE PORT> dst <DEST IP> port <DEST PORT> rank info not available