在 windows 机器上 ping 什么端口来检查它是否在线?
What port to ping on windows machine to check if it is online?
如问题所述,我正在使用此 PHP 函数来检查特定端口上的 IP 地址是否正在应答。
function ping($host) {
$port = 5900; //RealVNC default port
$waitTimeoutInSeconds = 0.01;
if ($fp = @fsockopen($host, $port, $errCode, $errStr,$waitTimeoutInSeconds)) {
fclose($fp);
echo '<img src="online.png"> ';
} else {
echo '<img src="offline.png"> ';
}
}
windows (7,8,10) 上是否有任何默认端口可以通过此脚本 "pinged" 检查它是否可以在不启用或安装任何东西的情况下访问? - 我想检查我网络中 500 台电脑的状态。
如果您在 Windows 环境中,您可以使用查找免费的 IP 扫描器,或者您可以在 Linux 环境中使用 nmap 来 运行 对给定网络 ID 进行全面扫描.
下一个使用 nmap 的命令:
nmap -sP 192.168.2.1/24
将显示 192.168.2.x 网络上的所有在线客户端。
这是 link 到 php ip 扫描器脚本:
https://gist.github.com/blazeeboy/808796
Nmap 通常默认带有 Linux 操作系统,除非它是最小安装。
参考:PHP: socket_create - Manual
<?PHP
function ping($host, $timeout = 1) {
/* ICMP ping packet with a pre-calculated checksum */
$package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
$socket = socket_create(AF_INET, SOCK_RAW, 1);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
socket_connect($socket, $host, null);
$ts = microtime(true);
socket_send($socket, $package, strLen($package), 0);
if (socket_read($socket, 255))
$result = microtime(true) - $ts;
else $result = false;
socket_close($socket);
return $result;
}
?>
如问题所述,我正在使用此 PHP 函数来检查特定端口上的 IP 地址是否正在应答。
function ping($host) {
$port = 5900; //RealVNC default port
$waitTimeoutInSeconds = 0.01;
if ($fp = @fsockopen($host, $port, $errCode, $errStr,$waitTimeoutInSeconds)) {
fclose($fp);
echo '<img src="online.png"> ';
} else {
echo '<img src="offline.png"> ';
}
}
windows (7,8,10) 上是否有任何默认端口可以通过此脚本 "pinged" 检查它是否可以在不启用或安装任何东西的情况下访问? - 我想检查我网络中 500 台电脑的状态。
如果您在 Windows 环境中,您可以使用查找免费的 IP 扫描器,或者您可以在 Linux 环境中使用 nmap 来 运行 对给定网络 ID 进行全面扫描.
下一个使用 nmap 的命令:
nmap -sP 192.168.2.1/24
将显示 192.168.2.x 网络上的所有在线客户端。
这是 link 到 php ip 扫描器脚本: https://gist.github.com/blazeeboy/808796
Nmap 通常默认带有 Linux 操作系统,除非它是最小安装。
参考:PHP: socket_create - Manual
<?PHP
function ping($host, $timeout = 1) {
/* ICMP ping packet with a pre-calculated checksum */
$package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
$socket = socket_create(AF_INET, SOCK_RAW, 1);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
socket_connect($socket, $host, null);
$ts = microtime(true);
socket_send($socket, $package, strLen($package), 0);
if (socket_read($socket, 255))
$result = microtime(true) - $ts;
else $result = false;
socket_close($socket);
return $result;
}
?>