久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

利用 fsockopen() 函數(shù)開放端口掃描器的實例

下面小編就為大家?guī)硪黄?fsockopen() 函數(shù)開放端口掃描器的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、前言

本文利用 fsockopen() 函數(shù),編寫一個功能簡單的端口掃描器。

2、關(guān)鍵技術(shù)

本實例的端口號是固定的,通過對數(shù)組的遍歷,利用 fsockopen() 函數(shù)連接,如果連接成功,則該端口處于開放狀態(tài),否則該端口處于關(guān)閉狀態(tài)。

核心代碼如下:

foreach ($port as $key => $value) {
 echo '<tr>';
 echo '<td>' . $key . '</td>';
 echo '<td>' . $value . '</td>';
 echo '<td>' . $msg[$key] . '</td>';
 //$errno 和 $errstr 在這里基本用不上,只是為了設(shè)置 timeout,防止請求超時
 $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主機(hostname)不可訪問,將會拋出一個警告級別(E_WARNING)的錯誤提示。所有需要加@
 $result = $fp ? '<span >開啟</span>' : '<span >關(guān)閉</span>';
 echo '<td>' . $result . '</td>';
 echo '</tr>';
}

3、代碼如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>端口掃描</title>
 <style type="text/css">
  td{
   padding:10px;
   border-bottom:1px solid #eee;
  }
 </style>
</head>
<body>
 <form method="post" action='#'>
  網(wǎng)址/ip:<input type="text" name="ip" value="<?php echo $_POST['ip'] ?? '127.0.0.1'?>">
  <button>掃描</button>
 </form>
 <table>
  <thead>
   <tr>
    <td>id</td>
    <td>端口號</td>
    <td>服務(wù)</td>
    <td>開啟狀態(tài)</td>
   </tr>
  </thead>
  <tbody>
   <?php 
    $ip = $_POST['ip'] ?? '127.0.0.1';
    if(ip2long($ip)){
     $aIp = explode('.', $ip);//ip4地址使用.分隔符
     //這里沒有對 0.0.0.0 這種本機地址進行判斷,只是粗略的判斷ip是否合法 
     foreach ($aIp as $key => $value) {
      if($value < 0 || $value > 255){
       die('地址不合法');
      }
     }
    }
    
    $port = array(
     21, 
     23, 
     25,
     79,
     80, 
     110, 
     135, 
     137, 
     138, 
     139, 
     143, 
     443, 
     445, 
     1433, 
     3306, 
    );
    $msg = array(
     'Ftp',
     'Telnet',
     'Smtp',
     'Finger',
     'Http',
     'Pop3',
     'Location Service',
     'Netbios-NS',
     'Netbios-DGM',
     'Netbios-SSN',
     'IMAP',
     'Https',
     'Microsoft-DS',
     'MSSQL',
     'MYSQL',
     'Terminal Services'
    );
    //無論使用prot還是msg循環(huán)都是可以的,因為$key是對應(yīng)的,都是索引數(shù)組
    foreach ($port as $key => $value) {
     echo '<tr>';
     echo '<td>' . $key . '</td>';
     echo '<td>' . $value . '</td>';
     echo '<td>' . $msg[$key] . '</td>';
     //$errno 和 $errstr 在這里基本用不上,只是為了設(shè)置 timeout,防止請求超時
     $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主機(hostname)不可訪問,將會拋出一個警告級別(E_WARNING)的錯誤提示。所有需要加@
     $result = $fp ? '<span >開啟</span>' : '<span >關(guān)閉</span>';
     echo '<td>' . $result . '</td>';
     echo '</tr>';
    }

   ?>
  </tbody>
 </table>
</body>
</html>
</html> 利用 fsockopen() 函數(shù)開放端口掃描器的實例
因為偷懶,把頁面和結(jié)果都寫在一起了,布局就將就把。

4、主要函數(shù)介紹

4.1、fsockopen

根據(jù)一個主機名來創(chuàng)建一個連接,成功返回一個資源對象,失敗返回false;主機不可用是拋出一個警告

詳情參考:http://php.net/manual/en/function.fsockopen.php

利用 fsockopen() 函數(shù)開放端口掃描器的實例

以上這篇利用 fsockopen() 函數(shù)開放端口掃描器的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持。

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 91久久 | 色吊丝在线| av在线影院 | 久久香蕉精品视频 | 久久久五月天 | 久草中文在线 | 91在线看网站 | 欧美日韩一卡二卡 | 精品一区二区三区在线观看国产 | 亚洲乱码国产乱码精品精的特点 | 中文字幕亚洲国产 | 国产精品久久久久一区二区三区 | 超碰97人人人人人蜜桃 | 国产高清免费 | 午夜精品久久久久久久星辰影院 | 99riav3国产精品视频 | 一区二区三区视频 | 欧美一区二区三区久久精品 | 在线婷婷 | 亚洲成人一区二区三区 | 91精品久久久久久久99 | 视频三区 | 久久99精品久久久久久琪琪 | 日韩国产欧美 | 国产日韩欧美在线 | 最新免费黄色网址 | 欧美一级在线观看 | 国产伊人久久久 | 美女一级a毛片免费观看97 | 久久蜜桃精品 | 亚洲电影第三页 | 欧美一区二区三区大片 | 日韩另类视频 | 日本一区二区不卡 | 成人午夜在线 | 三级在线观看 | 欧美日韩久久 | 欧美一级高清片 | 一级黄色片免费 | 亚洲视频免费在线观看 | 亚洲国产成人精品女人久久久 |