【发布时间】:2013-12-17 12:31:45
【问题描述】:
好的,使用套接字编写 TCP 端口扫描器很容易,但我不知道为什么 UDP 很难相同
我只是想检查一个特定的 UDP 端口(比如端口 500)是否打开。
这是我的代码:
$ip = '103.12.9.209';
$port = '500';
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$result = socket_connect($socket, $ip, $port);
if ($result)
{
echo "Port is on";
}
else
{
echo "Port is off";
}
socket_close($socket);
问题是它总是返回 true(端口打开),即使它关闭了。
有什么问题?请问有什么办法吗?
谢谢。
【问题讨论】:
-
udp是无连接的。为了确保这一点,您必须发送数据(以接收方理解的方式)并读取响应。 -
@Wrikken 有什么例子吗?谢谢。
-
我找到了这个useful link