三峡大学求索溪社区论坛's Archiver

hatling 发表于 2008-5-12 20:50

php在线端口扫描代码

[code]<html>
2EFnL&Th!iS <head>
Ox8sur N6P <!--
LX%W%R e,u`0qIM 此程序保存为portscan.php
E"Y f^VA5jU0A*d -->
'Ij:SZ i <?php\`-d!Sb T#x@J j
$youip=$HTTP_SERVER_VARS["REMOTE_ADDR"];*d,j0F GL'Ecg1MQ
$remoteip=$_POST['remoteip'];8[pfFJ/mo2C
?>Z2q v/L0w E)Y3cg

Aw:DJ%G <?b;H V Cg
function ip_err()[0z+X.p L/r6|&|
{x,C5h1V?;h}
die("sorry!您的ip是不是输错了呢?<p><a href=javascript:history.back(1)>重新输入</a>");%j.H UV,|IB
}
:]%p O1dv&n2X*u$I ?>
"|s;u]Z#Z8D3cu wra_#vZ3q a2D}
<script language=javascript>
`){#ao/qCB b function wait()'jRE:{k d2r-y
{W0y/W N$h6[s
alert("正在扫描。。。请稍后一下。。。"); zG"E+c~
}Y VB!t-r:f`W[
</script>
FI|z+p;@ Q(S <title>在线端口扫描</title>'n/O/PZ0e9c"d
</head>$?M ]4tAI c5z:}
<body bgcolor=black text=white>7VEZ3B `V"i5j
<center>!]4B8gTPA%B+wc
!@(Z%f:W-S:[VrED
<?phpk5SA(hB:A/vQ7B

3q_;_tg`e if (!empty($remoteip))e1}i;}"SD y
{ S8DR _YB
$ips=explode(".",$remoteip);
4U^5V Q#nPP $flag=0;,sB.c I%Z&J;T
for ($i=0;$i<=3;$i++)#~ V I0ar(m I%]
{
*Wqe)c-x $num=intval($ips[$i]);
Z%Z1mpE if ($num<0 or $num>254)
8`+k4xuxc {ip_err();}
4Tdn:a9e8|cxK }Ld xh\q^
$closed='这个端口已经关闭了。<a href=http://user.qzone.qq.com/315712565>HATL-ING</a>';
@De4] |L $opened='<font color=red>这个端口已经打开了</font>';/y\7[oi
$close="关闭";;\!r+O*o n%d%^Ke5z0B
$open="<font color=red>打开</font>";W.{7A!r5TZ
`;@wQ*_0C9o eB
$port=array(21,22,23,25,79,80,110,135,137,138,139,143,443,445,1433,3306,3389); lV(s0xfp0b;ES
$msg=array(
_7x m Mq1g,W 'Ftp',$gp6S#T:~
'SSH',RC;@-K'N%I
'Telnet',*jp4V;S/G3jkP J
'Smtp',
PY3m C#?4rv 'Finger',
7KC P!_W5\+? 'Http',3q NHJ(x(}
'Pop3',
+{k ]'ls.G)iw0E 'Location Service',
DZM-Z!C"VdI5d2O\c 'Netbios-NS',
h!v Jr k O-X 'Netbios-DGM',^G4g@Eha
'Netbios-SSN',
Gc4e {$fC:l 'IMAP',[WhDB A u/rg
'Https',5kxA$kW-~2n9Q
'Microsoft-DS',o!|I _g Y y}
'MSSQL',&u} ?k]pJ
'MYSQL',E P&f1]sC^
'Terminal Services'
:A;A{,z)PlAM );!da1\"t&m"A7E

(P I4xK(`0}![ 4l#Q;[7W!v&o.YHa
echo "<table border=0 cellpadding=15 cellspacing=0>\n";
fm-i pm0z0K|1Y Y echo "<tr>\n";^q1nD/]#P
echo "<td align=center><strong>您扫描的IP:<font color=red>".$remoteip."</font></strong></td>\n"; V6G/Y8r3Gr
echo "</tr>\n";
]'K3@%m vqE0A9U&L%? echo "</table>\n";itwK-s-Q
Zr(v}e9p
echo "<table cellpadding=5 cellspacing=1 bgcolor=#7371A5 text=white>\n";
s,q(Q#vM F%z echo "<tr bgcolor=#7371A5 align=center>\n";Wrdcp+]B5d
echo "<td>端口</td>\n";'V [wzZ%c5m1K
echo "<td>服务</td>\n";
._"B0?Qn.I n^ echo "<td>检测结果</td>\n";
@ f L#Qy#Gd"@ echo "<td>描述</td>\n";
c6fxm1S7y echo "</tr>\n";z&}Q aqt%O }1K
%D:Q*MH_h,BfJRRD
for($i=0;$i<sizeof($port);$i++)
.n}/Puh {
\vg3_t D0cYQ:U $fp = @fsockopen($remoteip, $port[$i], &$errno, &$errstr, 1);?4Dm,`'o`(B
if (!$fp)
1I {u(S0Z(u"_n {
d)t-B:S!pG echo "<tr bgcolor=gray><td align=center>".$port[$i]."</td><td>".$msg[$i]."</td><td align=center>".$close."</td><td>".$closed."</td></tr>\n";pi Q ]9i To
}p6U u6^)O&^"z ^;lc
elseI;{5e5zh*M?R D
{ L6Jef2dID^
echo "<tr bgcolor=green><td align=center>".$port[$i]."</td><td>".$msg[$i]."</td><td align=center>".$open."</td><td>".$opened."</td></tr>";l4\zq{.e;caQ
}
;J l8MC"k j-\Ga #l A%w)e'ki0Ie
}2P b_*Q#D
!r,j wilaz
echo "<tr><td colspan=4 align=center>\n";
L,xqM5~ N%]a echo "<a href=portscan.php><font color=#FFFFFF>继续扫描>>></font></a></td>\n";8ik el R
echo "</tr>\n";
@4v4T:N+YY echo "</table>\n";
h#`.sD4r,BA
%P5E2A qafSm1B echo "<br>";mJ-Qu\Z
echo "<table border=4 bgcolor=red>";$Cq,a8~ w+g
echo "<tr><td>";T"DI*}%J$sM
echo "<font size=7 color=green><center>欢迎一起讨论研究php,QQ:31571256 <a href=http://user.qzone.qq.com/315712565>HATL-ING</a></center></font>";
*\f+mZo!ds echo "</td></tr</table>";;Lwn~0@2[ f

C$Eo TL%v ia TWgV4_

y g+X'c x echo "<TABLE cellSpacing=0 cellPadding=10 width=100% border=0>\n";#Jc)yS7g,g&_f
echo "<TR>\n"; l7] u#w CQo
echo "<TD align=center><b>Copyright &copy; 2008 <a href=http://user.qzone.qq.com/315712565>HATL-ING</a> All Rights Reserved.</b></TD>\n";zqy0}%P1N_
echo "</TR>\n";
RI,Qdd rYiq echo "</TABLE>\n";x z5b0P^/o'h

1_l sX8C;["uU;z3| echo "</center>\n";/Q GL#V[ A\w*N
echo "</body>\n";.GwPQ.J/M o$|c ?
echo "</html>\n";xK/hZ Gc W%r d
exit;e~F'P6k1E5H(K
}v5}D7Y3y4Y
//扫描输入的ip,这个页面在扫描后才出现
H+?KKq&v*Qu9X
?-z IO.MgUmT/v#YL1k hpL,S4Q \]
//下面这个页面是第一次打开时出现的页面z)Hw3O+[
echo "<marquee direction=left bgcolor=red width=100% align=center height=20>由于php是单线程的,,所以扫描时有点慢,,请耐心等待</marquee>";y2I$`sNB \Y%xN
echo "<hr>";
oeeO-C'F.V echo "<marquee direction=right bgcolor=red width=100% align=center height=20>由于php是单线程的,,所以扫描时有点慢,,请耐心等待</marquee>";
!sig#|/^9M echo "<table border=0 cellpadding=15 cellspacing=0>\n";
`BeB3q1m5] echo "<tr>\n";
9m4m}Q1Qdv echo "<td align=center><strong>您的IP:<font color=red>".$youip."</font></strong></td>\n";
h)x DnA"s echo "</tr>\n";
v/I F |y-N+pU echo "<form method=POST action=portscan.php>\n";7T3@3D'NY {)_
echo "<tr><td>\n";
*T8FFQQcnsS echo "<input type=text name=remoteip size=12>\n";
y:S7BN z echo "<input type=submit value=扫描 name=scan onclick=javascript:wait()>\n";3WN w.C8Wy/^o
echo "</td></tr>\n";
X-w8XheO*J echo "</form>";
Yy-qGS%q h J[%i9]l echo "</table>\n";
F{(fqtY ?>
SN{ CZ4{%J {(`8x }'{[ ^
<table border=4 bgcolor=red>
W3t)a` Z(Qb0io$ov <tr><td>/z9|u7o\
<font size=7 color=green><center>欢迎一起讨论研究php,QQ:31571256 <a href=http://user.qzone.qq.com/315712565>HATL-ING</a></center></font>
"d~n:Sf/N </td></tr</table>Ql_4?n5M.W2w

5K8Su p.l!b2ol0Z <TABLE cellSpacing=0 cellPadding=10 width="100%" border=0>
(w"Q/Y Wx2ti"SC <TR>4Y"Oo&BYv5x+m`P Y3m
<TD align=center><b>Copyright &copy; 2008 <a href=http://user.qzone.qq.com/315712565>HATL-ING</a> All Rights Reserved</b></TD>
![k5Lz Fb </TR>
9DiZKqor </TABLE>-eq`$t+r$Z^r
</center>
Z b,G]oQ)L~ </body>7BU{3G,|
</html>[/code]

一个勺 发表于 2008-5-12 23:52

LZ自己写的吗??

hatling 发表于 2008-5-13 00:08

回复 2# 一个勺 的帖子

看了别人写的后自己写的。。其实这样的扫描器很好写的,就一个函数7JGbzw,U3}:Ov
$fp = @fsockopen($remoteip, $port[$i], &$errno, &$errstr, 1);
Y.gXL$G8sVO NS 就是试着连接remote machine的每个端口。。返回1.侧说明端口打开着"c!ZWA_.}E$T!Q7G
返回0,则说明端口关闭着
A:XY1i&y:p ,,开始并没想到把php用到扫描端口上来,,掌握知识很简单。。重要的是要学会运用知识,,呵呵:17: K&h(a6q&Jz4Q
但这种扫描器很慢。。因为php只支持单线程。。没办法。。
p%cr)r;l Lf3obJ 其实用windows下的批处理也可以写扫描器。。但同样也是很慢。。单线程的。。。

一个勺 发表于 2008-5-13 00:15

高人啊

页: [1]

网站赞助 广告联系 TEL 13487276664(681922) QQ 516884014

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.