1、前言
本文利用 fsockopen() 函數,寫出一個簡單的連接埠掃描器。
2、關鍵技術
本實例的連接埠號碼是固定的,透過對陣列的遍歷,利用fsockopen() 函數連接,如果連接成功,則該連接埠處於開放狀態,否則該連接埠處於關閉狀態。
核心程式碼如下:
foreach ($port as $key => $value) { echo ''; echo ' '; }' . $key . ' '; echo '' . $value . ' '; echo '' . $msg[$key] . ' '; //$errno 和 $errstr 在这里基本用不上,只是为了设置 timeout,防止请求超时 $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主机(hostname)不可访问,将会抛出一个警告级别(E_WARNING)的错误提示。所有需要加@ $result = $fp ? '开启' : '关闭'; echo '' . $result . ' '; echo '
3、程式碼如下
端口扫描
id | 端口号 | 服务 | 开启状态 |
' . $key . ' | '; echo '' . $value . ' | '; echo '' . $msg[$key] . ' | '; //$errno 和 $errstr 在这里基本用不上,只是为了设置 timeout,防止请求超时 $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主机(hostname)不可访问,将会抛出一个警告级别(E_WARNING)的错误提示。所有需要加@ $result = $fp ? '开启' : '关闭'; echo '' . $result . ' | '; echo '
4、主要函數介紹
4.1、fsockopen
根據一個主機名稱來建立一個連接,成功返回一個資源對象,失敗返回false;主機不可用是拋出一個警告
詳情參考:http:// php.net/manual/en/function.fsockopen.php
#以上是fsockopen() 函數製作連接埠掃描器的詳細內容。更多資訊請關注PHP中文網其他相關文章!