免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1294 | 回复: 0

22 十六 服务= 获取服务器的端口 建立套接字连接 [复制链接]

论坛徽章:
0
发表于 2011-12-22 08:54 |显示全部楼层

  1. <?php
  2.     //1 获取服务器的端口号 getservbyname()
  3.     //service对应的服务必须在/etc/services文件中制定。protocol参数制定需要此服务的是TCP还是UDP部分
  4.     echo "HTTP's default port numberis:".getservbyname("http","tcp");
  5.     echo "<br />";

  6.     //2 获取端口号的服务名getservbyport()
  7.     echo "port 80's default service is:".getservbyport(80,"tcp");
  8.     echo "<br />";

  9.     //建立套接字连接
  10.     // resource fsockopen(string target, int port[, int errno [, string errstring [, float timeout]]])
  11.     //fsockopen函数在端口port上建立与target所表示资源的连接,在可选采纳火速errno和errstring中返回错误
  12.     //信息。可选参数timeout设置时间限值,以秒为单位。
  13.     
  14.     //如何使用fsockopen在端口80上与www.chinaunix.net建立连接,以及如何输出索引页面
  15.     $http = fsockopen("www.chinaunix.net",80);

  16.     $req = "GET / HTTP/1.1\r\n";
  17.     $req .= "Host:www.chinaunix.net\r\n";
  18.     $req .= "Connection:Close\r\n\r\n";

  19.     fputs($http,$req);
  20.     
  21.     while(!feof($http))
  22.         echo fgets($http,1024);

  23.     fclose($http);
  24.     
  25.     echo "<br />";




  26.    
  27.     //如何使用fsockopen构建一个基本的端口扫描器
  28.     //脚本足够时间完成任务
  29.     ini_set("max_execution_time",120);    
  30.     
  31.     $rangeStart = 0;
  32.     $rangeStop = 1024;

  33.     $target = "www.chinaunix.net";

  34.     $rangex = range($rangeStart,$rangeStop);

  35.     echo "<p> Scan results for $target</p>";

  36.     foreach($rangex as $port)
  37.     {
  38.         $result = @fsockopen($target,$port,$errno,$errstr,1);
  39.         if($result)
  40.             echo "<p>socket open at port $port </p>";
  41.     }
  42. ?>














您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP