この記事では、fsockopen() 関数を使用して単純なポート スキャナーを作成します。この例のポート番号は固定されており、配列をトラバースすることにより、接続に成功した場合はポートが開き、そうでない場合はポートが閉じられます。
コアコードは次のとおりです:
foreach ($port as $key => $value) { echo '<tr>'; echo '<td>' . $key . '</td>'; echo '<td>' . $value . '</td>'; echo '<td>' . $msg[$key] . '</td>'; //$errno 和 $errstr 在这里基本用不上,只是为了设置 timeout,防止请求超时 $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主机(hostname)不可访问,将会抛出一个警告级别(E_WARNING)的错误提示。所有需要加@ $result = $fp ? '<span >开启</span>' : '<span >关闭</span>'; echo '<td>' . $result . '</td>'; echo '</tr>'; }
<!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='#'> 网址/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>服务</td> <td>开启状态</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循环都是可以的,因为$key是对应的,都是索引数组 foreach ($port as $key => $value) { echo '<tr>'; echo '<td>' . $key . '</td>'; echo '<td>' . $value . '</td>'; echo '<td>' . $msg[$key] . '</td>'; //$errno 和 $errstr 在这里基本用不上,只是为了设置 timeout,防止请求超时 $fp = @fsockopen($ip, $value, $errno, $errstr, 1);//如果主机(hostname)不可访问,将会抛出一个警告级别(E_WARNING)的错误提示。所有需要加@ $result = $fp ? '<span >开启</span>' : '<span >关闭</span>'; echo '<td>' . $result . '</td>'; echo '</tr>'; } ?> </tbody> </table> </body> </html>
</html>
因为偷懒,把页面和结果都写在一起了,布局就将就把。
主な関数の紹介
fsockopen
ホスト名に基づいて接続を作成し、正常にリソースオブジェクトを返し、失敗した場合はfalseを返します。 ; ホストが利用できません 警告がスローされます
関連する推奨事項:
以上がPHPのfsockopen()オープンポートスキャナーの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
