php检测端口是否开放

求一段代码可以检测ip是否开放了XX端口我想要可以检测ip段的..这种只能检测单ip.如何修改才能写出可以扫描ip段的呢.<?php$ip='zhidao.baidu.c... 求一段代码可以检测ip是否开放了XX端口
我想要可以检测ip段的..
这种只能检测单ip.如何修改才能写出可以扫描ip段的呢.
<?php
$ip='zhidao.baidu.com';
$port=80;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
socket_connect($sock,$ip, $port);
socket_set_block($sock);
switch(socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5))
{
case 2:
echo "$ip:$port 关闭\n";
break;
case 1:
echo "$ip:$port 打开\n";
break;
case 0:
echo "$ip:$port 超时\n";
break;
}
?>
展开
 我来答
丿韩灬轩
2015-05-20 · TA获得超过143个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:111万
展开全部
ip直接修改成ip段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
wang350
2015-05-20 · 超过33用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:69万
展开全部
个人理解,IP段是单个ip的汇总,某单个ip可能可以代表了某段ip,你就检测那些特殊的能代表某IP段的单个ip,这样说是不是可以解决你的问题?
追问
我的意思是..假设192.168.1.1-192.168.1.100中就包含了99个ip
如果要一个一个列举需要很长的时间..
我想检查其中的99的某个端口是否开放..
某个ip无法代替ip段...
追答

哦,你的意思是检查某个网段内,所有的机器是否开了某个端口?

就用你这个程序,然后在外面写一个调用程序,比如:

  1. 检查某单个ip的文件为 check_one.php,执行脚本的文件叫做 check_all.php

  2. check_one.php 里面的 $ip = $argv[1]; //命令行运行php,接收参数

  3. check_all.php 如下:


  4. <?php
  5. $ips = array('192.168.1.1','129.168.1.2');//这里你可以程序生成
  6. foreach($ips as $ip){
  7.     $res = array();
  8.     exec('php check_one.php '.$ip, $res);
  9.     //$res 就是执行 check_one.php 的返回结果,剩下的你可以自己发挥

  10. }
  11. //方法很多,这只是个例子,也不是很全面,你自己研究并完善一下
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式