<!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
);
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'
);
foreach
(
$port
as
$key
=>
$value
) {
echo
'<tr>'
;
echo
'<td>'
.
$key
.
'</td>'
;
echo
'<td>'
.
$value
.
'</td>'
;
echo
'<td>'
.
$msg
[
$key
] .
'</td>'
;
$fp
= @
fsockopen
(
$ip
,
$value
,
$errno
,
$errstr
, 1);
$result
=
$fp
?
'<span style="color:red">开启</span>'
:
'<span style="color:red">关闭</span>'
;
echo
'<td>'
.
$result
.
'</td>'
;
echo
'</tr>'
;
} ?>
</tbody>
</table>
</body>
</html>