Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4241771
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: 系统运维

2011-08-27 13:36:44


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

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

  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("",80);

  16.     $req = "GET / HTTP/1.1\r\n";
  17.     $req .= "Host:\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 "
    "
    ;




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

  33.     $target = "";

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

  35.     echo "

    Scan results for $target

    "
    ;

  36.     foreach($rangex as $port)
  37.     {
  38.         $result = @fsockopen($target,$port,$errno,$errstr,1);
  39.         if($result)
  40.             echo "

    socket open at port $port

    "
    ;
  41.     }
  42. ?>














阅读(1478) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~