<>作者:zzzevazzz 来自:http://www.ph4nt0m.org</P>/ i! `' v7 \2 _) \
<>XP和2003下的netstat有-o选项,所以可以容易地实现fport。 ( E0 Z* ]! q, @% a3 x9 ^& ^ 5 t3 F: z2 T+ f. o2 x9 P evbs脚本版: ' v: U2 I9 ? I, x* n# ]7 qCodz: 1 N. X) y' }2 v5 z% ]$ Y0 _( P3 u4 `8 ~: F1 u
% a% \+ M$ [) f* `: o$ x( ?# ]" d6 Rwith new regexp * ]0 K" A; V4 [; W .pattern="(..Ps+S+s+S+s+[A-Z]*)s*([0-9]+)" $ s' r/ w$ x1 P1 } d
.global=true , y/ ~3 A7 M/ O# U( ~, C) q- F
set ms=.execute(createobject("wscript.shell").exec("netstat -ano").stdout.readall) + o, N0 W$ i/ \: u4 F: ^end with * K4 ^, U0 o H+ Dfor each ps in getobject("winmgmts:\.\rootcimv2:win32_process").instances_ 0 \7 A( t0 M: z f=0 " t9 E8 B$ D( G! L for each m in ms 9 C- A1 H* ?' z9 z( ~) ?0 Y
if m.submatches(1)=ps.handle then & b h# e; G2 k! u5 m- Z
if f=0 then f=1:wscript.echo ">"&ps.handle&vbtab&ps.name&vbtab&ps.executablepath 0 [ W! @* T( e- ~ wscript.echo " "&m.submatches(0) 3 @5 g5 \7 {5 v9 Y# ]! @' P
end if $ g0 K6 f1 s" K# ^8 i6 F6 {/ B
next + q9 D& q+ C. W6 n6 N6 \/ Vnext- H; _" X# D) ~2 F0 ~
}* ?7 E* f" ^$ b8 X5 |8 Y* E) n
照例给出echo版,方便在远程shell中使用。 : b; \7 l8 W7 S1 N. C7 D@echo with new regexp:.pattern="(..P\s+\S+\s+\S+\s+[A-Z]*)\s*([0-9]+)":.global=true>fp.vbs- ?+ B& G6 F: y1 s* O
@echo set ms=.execute(createobject("wscript.shell").exec("netstat -ano").stdout.readall)>>fp.vbs& ~6 h% x+ _+ k
@echo end with:for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_>>fp.vbs 8 x% a9 J0 W# W* U@echo f=0:for each m in ms:if m.submatches(1)=ps.handle then _>>fp.vbs : N3 G/ Q/ n# s@echo if f=0 then f=1:wscript.echo ">"^&ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:end if:_>>fp.vbs 3 y! ^6 X' _1 w, C; @- Q@echo wscript.echo " "^&m.submatches(0):end if:next:next>>fp.vbs; K7 ?3 ^2 I+ d
@cscript //nologo fp.vbs&del fp.vbs</P>