La fonction fsockopen() crée un scanner de port
1. Introduction
Cet article utilise la fonction fsockopen() pour écrire un simple scanner de port.
2. Technologie clé
Le numéro de port de cet exemple est fixe En parcourant le tableau, la fonction fsockopen() est utilisée pour se connecter. Si la connexion est réussie, le port est ouvert. , sinon le port est fermé.
Le code de base est le suivant :
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 style="color:red">开启</span>' : '<span style="color:red">关闭</span>'; echo '<td>' . $result . '</td>'; echo '</tr>'; }
3. Le code est le suivant
<!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, 3389 ); $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 style="color:red">开启</span>' : '<span style="color:red">关闭</span>'; echo '<td>' . $result . '</td>'; echo '</tr>'; } ?> </tbody> </table> </body> </html>
4. Introduction des fonctions principales
4.1, fsockopen
Crée une connexion basée sur un nom d'hôte, renvoie un objet ressource avec succès, renvoie false en cas d'échec si l'hôte est indisponible, un avertissement est généré ; lancé
Pour plus de détails, reportez-vous à : http://php.net/manual/en/function.fsockopen.php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
![Barre de son détectée comme écran de contrôle sur un PC Windows [Réparer]](https://img.php.cn/upload/article/000/465/014/170835733166289.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Sur les PC Windows, certains utilisateurs ont découvert que la Soundbar est reconnue comme un moniteur lorsqu'elle est connectée au port HDMI. Cela peut prêter à confusion, mais la solution n’est pas la seule. Comment connecter une barre de son à un PC via HDMI La plupart des barres de son utilisent des connexions audio HDMI, optiques ou 3,5 mm. Si votre barre de son ne prend en charge que les connexions HDMI, elle doit être connectée à un port HDMI étiqueté HDMIARC. De nombreux téléviseurs ou moniteurs sont généralement équipés de plusieurs ports HDMI, dont l'un doit prendre en charge le protocole ARC conforme à la norme HDMI. En d'autres termes, HDMI est une interface utilisée pour transmettre l'audio et la vidéo. Si l'appareil ne dispose pas de port HDMI, pensez à utiliser un moniteur.

Comment vérifier si le port du serveur distant est ouvert sous Linux : 1. Utilisez la commande « nmap ip -p port » pour vérifier si le port est ouvert. La commande spécifique est telle que « nmap 172.17.193.18 -p 5902 » ; . Utilisez la commande "nc -v ip port" Vérifiez si le port est ouvert. La commande spécifique est "nc -v 172.17.193.18 5902".

com1 et com2 sont des ports de communication série, appelés ports série ; une carte mère possède généralement deux interfaces série COM, qui sont généralement utilisées pour connecter des souris, qui sont des dispositifs de communication. L'interface série fait référence à la transmission séquentielle de données bit par bit. qui se caractérise par la communication Le circuit est simple et seule une paire de lignes de transmission peut réaliser une communication bidirectionnelle.

Comment fermer le port 445 dans Win11 ? Le port n° 445 est un port TCP, un dossier partagé et un port d'imprimante, qui fournit des services de partage de fichiers ou d'imprimantes au sein du réseau local. Récemment, certains utilisateurs de Win11 souhaitent fermer le port 445, alors comment doivent-ils procéder ? De nombreux amis ne savent pas comment opérer en détail. L'éditeur ci-dessous a compilé les opérations détaillées pour fermer le port 445 dans Win11. Si vous êtes intéressé, suivez l'éditeur pour lire ci-dessous ! Opération détaillée de fermeture du port 445 dans Win11 1. Tout d'abord, appuyez sur la combinaison de touches Win+S ou cliquez sur l'icône de recherche dans la barre des tâches inférieure, ouvrez la fenêtre de recherche Windows, entrez Pare-feu Windows en haut, puis cliquez sur la meilleure option proposée. par le système.

Si vous rencontrez une erreur de périphérique AHCI sur le port 0 à chaque démarrage de votre ordinateur, vous devez suivre les méthodes fournies dans cet article pour résoudre le problème. Qu’est-ce que l’erreur du périphérique AHCI du port 0 ? Les erreurs de périphérique AHCI sont signalées par le BIOS. SMART a indiqué que le disque dur sur le port 0 est défectueux et peut ne pas être accessible. Le disque dur peut rencontrer des problèmes à tout moment. S'il s'agit d'un ordinateur de bureau, il est recommandé d'essayer de changer le port de connexion du disque dur. Si le problème persiste, il peut s'agir d'un problème lié au disque dur lui-même. Vous pouvez exécuter un outil de vérification du disque, désactiver le disque dur défaillant et vérifier les ports pour résoudre ce problème. Correction des erreurs de périphérique AHCI Port 0 sur les ordinateurs Windows En règle générale, les erreurs de périphérique AHCI Port0 ne proviennent pas de problèmes de système d'exploitation, mais plutôt d'une défaillance du disque dur sur le port 0.

Quelle est la cause des problèmes de chargement d’iOS17 ? Il existe plusieurs raisons possibles pour lesquelles votre iPhone peut ne pas se charger après la mise à jour vers iOS17. Une possibilité est qu'il y ait un bug dans la mise à jour du logiciel. Apple corrige généralement rapidement les bugs dans les mises à jour iOS, donc si vous rencontrez des problèmes de chargement, cela vaut la peine de vérifier si une nouvelle mise à jour est disponible. Une autre possibilité est qu'il y ait un problème avec le câble ou l'adaptateur de chargement. Si vous utilisez un câble ou un adaptateur de chargement tiers, assurez-vous qu'il est certifié par Apple. Comment résoudre le problème de non-chargement de l'iPhone Voici quelques conseils pour résoudre le problème de non-chargement de l'iPhone après la mise à jour iOS17 : Redémarrez votre téléphone Apple. Cela résout généralement les problèmes mineurs qui peuvent être à l'origine du problème de chargement d'iOS17.

Solution à l'erreur de port de mappage Docker : 1. Basculez vers le compte root ; 2. Utilisez la commande "netstat -nap" pour vérifier le pid du programme en cours d'exécution ; 3. Utilisez la commande "kill -9 2901 su u260517" pour tuer le programme et changez de programme.

LSOF (ListOpenFiles) est un outil de ligne de commande principalement utilisé pour surveiller les ressources système similaires aux systèmes d'exploitation Linux/Unix. Grâce à la commande LSOF, les utilisateurs peuvent obtenir des informations détaillées sur les fichiers actifs dans le système et les processus qui accèdent à ces fichiers. LSOF peut aider les utilisateurs à identifier les processus occupant actuellement les ressources de fichiers, gérant ainsi mieux les ressources système et résolvant les problèmes possibles. LSOF est puissant et flexible et peut aider les administrateurs système à localiser rapidement les problèmes liés aux fichiers, tels que les fuites de fichiers, les descripteurs de fichiers non fermés, etc. Via la commande LSOF L'outil de ligne de commande LSOF permet aux administrateurs système et aux développeurs de : Déterminer quels processus utilisent actuellement un fichier ou un port spécifique, en cas de conflit de port.
