- 论坛徽章:
- 0
|
- <?php
-
//1 获取服务器的端口号 getservbyname()
-
//service对应的服务必须在/etc/services文件中制定。protocol参数制定需要此服务的是TCP还是UDP部分
-
echo "HTTP's default port numberis:".getservbyname("http","tcp");
-
echo "<br />";
-
-
//2 获取端口号的服务名getservbyport()
-
echo "port 80's default service is:".getservbyport(80,"tcp");
-
echo "<br />";
-
-
//建立套接字连接
-
// resource fsockopen(string target, int port[, int errno [, string errstring [, float timeout]]])
-
//fsockopen函数在端口port上建立与target所表示资源的连接,在可选采纳火速errno和errstring中返回错误
-
//信息。可选参数timeout设置时间限值,以秒为单位。
-
-
//如何使用fsockopen在端口80上与www.chinaunix.net建立连接,以及如何输出索引页面
-
$http = fsockopen("www.chinaunix.net",80);
-
-
$req = "GET / HTTP/1.1\r\n";
-
$req .= "Host:www.chinaunix.net\r\n";
-
$req .= "Connection:Close\r\n\r\n";
-
-
fputs($http,$req);
-
-
while(!feof($http))
-
echo fgets($http,1024);
-
-
fclose($http);
-
-
echo "<br />";
-
-
//如何使用fsockopen构建一个基本的端口扫描器
-
//脚本足够时间完成任务
-
ini_set("max_execution_time",120);
-
-
$rangeStart = 0;
-
$rangeStop = 1024;
-
-
$target = "www.chinaunix.net";
-
-
$rangex = range($rangeStart,$rangeStop);
-
-
echo "<p> Scan results for $target</p>";
-
-
foreach($rangex as $port)
-
{
-
$result = @fsockopen($target,$port,$errno,$errstr,1);
-
if($result)
-
echo "<p>socket open at port $port </p>";
-
}
-
?>

|
|