<>作者:zzzevazzz 来自:http://www.ph4nt0m.org</P>, l0 M a2 e$ Z. }
<>XP和2003下的netstat有-o选项,所以可以容易地实现fport。 3 z* N3 W' H1 v( A7 J: b. A# Q7 x( o( n: K, {3 e8 \8 P( t
vbs脚本版: ; |% ]1 q# g8 J! D+ M, sCodz: + Y# e" _. p" B" F! h6 E, u' O$ f @
with new regexp - N) N$ W, X1 A$ X
.pattern="(..Ps+S+s+S+s+[A-Z]*)s*([0-9]+)" & \+ v, n9 @ y. c% h
.global=true 3 ]/ F& K! o& ^" P1 v
set ms=.execute(createobject("wscript.shell").exec("netstat -ano").stdout.readall) " O3 K1 r7 }3 x9 G0 E" {end with # K( y7 o+ V; a% I2 @1 S m2 Ufor each ps in getobject("winmgmts:\.\rootcimv2:win32_process").instances_ # `( R1 J# }5 g9 _8 G5 T, {( n/ H# D
f=0 , @$ J* X, o) Z, K( O for each m in ms ; R; [- G- B. P2 h) K
if m.submatches(1)=ps.handle then , ?: T, N$ I* y4 D; } if f=0 then f=1:wscript.echo ">"&ps.handle&vbtab&ps.name&vbtab&ps.executablepath # k8 J$ a# J* Z! K
wscript.echo " "&m.submatches(0) 3 E. { c; L7 C# n' j end if ; [( b% i: w) u) R# a& \6 O next * D, z$ n/ K5 j6 B% f9 y# N
next " r5 U4 ?* L6 @# d) ?# c 9 o3 k6 y w8 ?) M( v( j$ M( s& b8 i Y" l4 T% i% R
照例给出echo版,方便在远程shell中使用。! @; E) V. N( k$ O# U! U
@echo with new regexp:.pattern="(..P\s+\S+\s+\S+\s+[A-Z]*)\s*([0-9]+)":.global=true>fp.vbs6 ~- D& J$ l, q! h& R) d8 _( T$ Y! f
@echo set ms=.execute(createobject("wscript.shell").exec("netstat -ano").stdout.readall)>>fp.vbs4 k6 I: I) e* I) ]0 n
@echo end with:for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_>>fp.vbs" n, T; A' a. N; b0 r& s
@echo f=0:for each m in ms:if m.submatches(1)=ps.handle then _>>fp.vbs * y" X+ L4 \% y* V% i3 Q8 c@echo if f=0 then f=1:wscript.echo ">"^&ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:end if:_>>fp.vbs % J" G, c4 j- d# a, [@echo wscript.echo " "^&m.submatches(0):end if:next:next>>fp.vbs. u( p; R- |, Q- r
@cscript //nologo fp.vbs&del fp.vbs</P>